@crowdin/n8n-nodes-crowdin 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.
Files changed (514) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +243 -0
  3. package/dist/credentials/CrowdinApi.credentials.d.ts +10 -0
  4. package/dist/credentials/CrowdinApi.credentials.js +47 -0
  5. package/dist/credentials/CrowdinApi.credentials.js.map +1 -0
  6. package/dist/credentials/CrowdinEnterpriseApi.credentials.d.ts +10 -0
  7. package/dist/credentials/CrowdinEnterpriseApi.credentials.js +56 -0
  8. package/dist/credentials/CrowdinEnterpriseApi.credentials.js.map +1 -0
  9. package/dist/credentials/CrowdinEnterpriseOAuth2Api.credentials.d.ts +10 -0
  10. package/dist/credentials/CrowdinEnterpriseOAuth2Api.credentials.js +75 -0
  11. package/dist/credentials/CrowdinEnterpriseOAuth2Api.credentials.js.map +1 -0
  12. package/dist/credentials/CrowdinOAuth2Api.credentials.d.ts +10 -0
  13. package/dist/credentials/CrowdinOAuth2Api.credentials.js +66 -0
  14. package/dist/credentials/CrowdinOAuth2Api.credentials.js.map +1 -0
  15. package/dist/icons/crowdin.dark.svg +9 -0
  16. package/dist/icons/crowdin.svg +9 -0
  17. package/dist/nodes/Crowdin/CrowdinEnterpriseFileBased.node.d.ts +48 -0
  18. package/dist/nodes/Crowdin/CrowdinEnterpriseFileBased.node.js +93 -0
  19. package/dist/nodes/Crowdin/CrowdinEnterpriseFileBased.node.js.map +1 -0
  20. package/dist/nodes/Crowdin/CrowdinEnterpriseFileBasedTrigger.node.d.ts +56 -0
  21. package/dist/nodes/Crowdin/CrowdinEnterpriseFileBasedTrigger.node.js +392 -0
  22. package/dist/nodes/Crowdin/CrowdinEnterpriseFileBasedTrigger.node.js.map +1 -0
  23. package/dist/nodes/Crowdin/CrowdinEnterpriseStringBased.node.d.ts +48 -0
  24. package/dist/nodes/Crowdin/CrowdinEnterpriseStringBased.node.js +93 -0
  25. package/dist/nodes/Crowdin/CrowdinEnterpriseStringBased.node.js.map +1 -0
  26. package/dist/nodes/Crowdin/CrowdinEnterpriseStringBasedTrigger.node.d.ts +56 -0
  27. package/dist/nodes/Crowdin/CrowdinEnterpriseStringBasedTrigger.node.js +357 -0
  28. package/dist/nodes/Crowdin/CrowdinEnterpriseStringBasedTrigger.node.js.map +1 -0
  29. package/dist/nodes/Crowdin/CrowdinFileBased.node.d.ts +24 -0
  30. package/dist/nodes/Crowdin/CrowdinFileBased.node.js +93 -0
  31. package/dist/nodes/Crowdin/CrowdinFileBased.node.js.map +1 -0
  32. package/dist/nodes/Crowdin/CrowdinFileBasedTrigger.node.d.ts +32 -0
  33. package/dist/nodes/Crowdin/CrowdinFileBasedTrigger.node.js +382 -0
  34. package/dist/nodes/Crowdin/CrowdinFileBasedTrigger.node.js.map +1 -0
  35. package/dist/nodes/Crowdin/CrowdinStringBased.node.d.ts +24 -0
  36. package/dist/nodes/Crowdin/CrowdinStringBased.node.js +93 -0
  37. package/dist/nodes/Crowdin/CrowdinStringBased.node.js.map +1 -0
  38. package/dist/nodes/Crowdin/CrowdinStringBasedTrigger.node.d.ts +32 -0
  39. package/dist/nodes/Crowdin/CrowdinStringBasedTrigger.node.js +347 -0
  40. package/dist/nodes/Crowdin/CrowdinStringBasedTrigger.node.js.map +1 -0
  41. package/dist/nodes/Crowdin/methods/common/helpers.d.ts +11 -0
  42. package/dist/nodes/Crowdin/methods/common/helpers.js +53 -0
  43. package/dist/nodes/Crowdin/methods/common/helpers.js.map +1 -0
  44. package/dist/nodes/Crowdin/methods/common/index.d.ts +4 -0
  45. package/dist/nodes/Crowdin/methods/common/index.js +304 -0
  46. package/dist/nodes/Crowdin/methods/common/index.js.map +1 -0
  47. package/dist/nodes/Crowdin/methods/common/types.d.ts +47 -0
  48. package/dist/nodes/Crowdin/methods/common/types.js +3 -0
  49. package/dist/nodes/Crowdin/methods/common/types.js.map +1 -0
  50. package/dist/nodes/Crowdin/methods/crowdin/index.d.ts +19 -0
  51. package/dist/nodes/Crowdin/methods/crowdin/index.js +180 -0
  52. package/dist/nodes/Crowdin/methods/crowdin/index.js.map +1 -0
  53. package/dist/nodes/Crowdin/methods/enterprise/index.d.ts +43 -0
  54. package/dist/nodes/Crowdin/methods/enterprise/index.js +170 -0
  55. package/dist/nodes/Crowdin/methods/enterprise/index.js.map +1 -0
  56. package/dist/nodes/Crowdin/properties/common/extensions/dictionaries.d.ts +2 -0
  57. package/dist/nodes/Crowdin/properties/common/extensions/dictionaries.js +192 -0
  58. package/dist/nodes/Crowdin/properties/common/extensions/dictionaries.js.map +1 -0
  59. package/dist/nodes/Crowdin/properties/common/extensions/index.d.ts +2 -0
  60. package/dist/nodes/Crowdin/properties/common/extensions/index.js +11 -0
  61. package/dist/nodes/Crowdin/properties/common/extensions/index.js.map +1 -0
  62. package/dist/nodes/Crowdin/properties/common/extensions/sourceStrings.d.ts +2 -0
  63. package/dist/nodes/Crowdin/properties/common/extensions/sourceStrings.js +210 -0
  64. package/dist/nodes/Crowdin/properties/common/extensions/sourceStrings.js.map +1 -0
  65. package/dist/nodes/Crowdin/properties/common/extensions/storage.d.ts +2 -0
  66. package/dist/nodes/Crowdin/properties/common/extensions/storage.js +179 -0
  67. package/dist/nodes/Crowdin/properties/common/extensions/storage.js.map +1 -0
  68. package/dist/nodes/Crowdin/properties/common/extensions/stringAssetComments.d.ts +2 -0
  69. package/dist/nodes/Crowdin/properties/common/extensions/stringAssetComments.js +155 -0
  70. package/dist/nodes/Crowdin/properties/common/extensions/stringAssetComments.js.map +1 -0
  71. package/dist/nodes/Crowdin/properties/common/extensions/tasks.d.ts +2 -0
  72. package/dist/nodes/Crowdin/properties/common/extensions/tasks.js +113 -0
  73. package/dist/nodes/Crowdin/properties/common/extensions/tasks.js.map +1 -0
  74. package/dist/nodes/Crowdin/properties/common/extensions/translationMemory.d.ts +2 -0
  75. package/dist/nodes/Crowdin/properties/common/extensions/translationMemory.js +219 -0
  76. package/dist/nodes/Crowdin/properties/common/extensions/translationMemory.js.map +1 -0
  77. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/ai.d.ts +2 -0
  78. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/ai.js +180 -0
  79. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/ai.js.map +1 -0
  80. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/fileBased/index.d.ts +2 -0
  81. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/fileBased/index.js +6 -0
  82. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/fileBased/index.js.map +1 -0
  83. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/fileBased/tasks.d.ts +2 -0
  84. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/fileBased/tasks.js +398 -0
  85. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/fileBased/tasks.js.map +1 -0
  86. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/index.d.ts +2 -0
  87. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/index.js +7 -0
  88. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/index.js.map +1 -0
  89. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/stringBased/index.d.ts +2 -0
  90. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/stringBased/index.js +6 -0
  91. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/stringBased/index.js.map +1 -0
  92. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/stringBased/tasks.d.ts +2 -0
  93. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/stringBased/tasks.js +398 -0
  94. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/stringBased/tasks.js.map +1 -0
  95. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/users.d.ts +2 -0
  96. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/users.js +100 -0
  97. package/dist/nodes/Crowdin/properties/crowdin/common/extensions/users.js.map +1 -0
  98. package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.d.ts +2 -0
  99. package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js +4550 -0
  100. package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js.map +1 -0
  101. package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.d.ts +2 -0
  102. package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js +1227 -0
  103. package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js.map +1 -0
  104. package/dist/nodes/Crowdin/properties/crowdin/fileBased/bundles.d.ts +2 -0
  105. package/dist/nodes/Crowdin/properties/crowdin/fileBased/bundles.js +1307 -0
  106. package/dist/nodes/Crowdin/properties/crowdin/fileBased/bundles.js.map +1 -0
  107. package/dist/nodes/Crowdin/properties/crowdin/fileBased/dictionaries.d.ts +2 -0
  108. package/dist/nodes/Crowdin/properties/crowdin/fileBased/dictionaries.js +112 -0
  109. package/dist/nodes/Crowdin/properties/crowdin/fileBased/dictionaries.js.map +1 -0
  110. package/dist/nodes/Crowdin/properties/crowdin/fileBased/distributions.d.ts +2 -0
  111. package/dist/nodes/Crowdin/properties/crowdin/fileBased/distributions.js +790 -0
  112. package/dist/nodes/Crowdin/properties/crowdin/fileBased/distributions.js.map +1 -0
  113. package/dist/nodes/Crowdin/properties/crowdin/fileBased/glossaries.d.ts +2 -0
  114. package/dist/nodes/Crowdin/properties/crowdin/fileBased/glossaries.js +3477 -0
  115. package/dist/nodes/Crowdin/properties/crowdin/fileBased/glossaries.js.map +1 -0
  116. package/dist/nodes/Crowdin/properties/crowdin/fileBased/index.d.ts +2 -0
  117. package/dist/nodes/Crowdin/properties/crowdin/fileBased/index.js +192 -0
  118. package/dist/nodes/Crowdin/properties/crowdin/fileBased/index.js.map +1 -0
  119. package/dist/nodes/Crowdin/properties/crowdin/fileBased/labels.d.ts +2 -0
  120. package/dist/nodes/Crowdin/properties/crowdin/fileBased/labels.js +970 -0
  121. package/dist/nodes/Crowdin/properties/crowdin/fileBased/labels.js.map +1 -0
  122. package/dist/nodes/Crowdin/properties/crowdin/fileBased/languages.d.ts +2 -0
  123. package/dist/nodes/Crowdin/properties/crowdin/fileBased/languages.js +711 -0
  124. package/dist/nodes/Crowdin/properties/crowdin/fileBased/languages.js.map +1 -0
  125. package/dist/nodes/Crowdin/properties/crowdin/fileBased/machineTranslationEngines.d.ts +2 -0
  126. package/dist/nodes/Crowdin/properties/crowdin/fileBased/machineTranslationEngines.js +358 -0
  127. package/dist/nodes/Crowdin/properties/crowdin/fileBased/machineTranslationEngines.js.map +1 -0
  128. package/dist/nodes/Crowdin/properties/crowdin/fileBased/notifications.d.ts +2 -0
  129. package/dist/nodes/Crowdin/properties/crowdin/fileBased/notifications.js +222 -0
  130. package/dist/nodes/Crowdin/properties/crowdin/fileBased/notifications.js.map +1 -0
  131. package/dist/nodes/Crowdin/properties/crowdin/fileBased/organizationWebhooks.d.ts +2 -0
  132. package/dist/nodes/Crowdin/properties/crowdin/fileBased/organizationWebhooks.js +743 -0
  133. package/dist/nodes/Crowdin/properties/crowdin/fileBased/organizationWebhooks.js.map +1 -0
  134. package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.d.ts +2 -0
  135. package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js +7930 -0
  136. package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js.map +1 -0
  137. package/dist/nodes/Crowdin/properties/crowdin/fileBased/reports.d.ts +2 -0
  138. package/dist/nodes/Crowdin/properties/crowdin/fileBased/reports.js +7288 -0
  139. package/dist/nodes/Crowdin/properties/crowdin/fileBased/reports.js.map +1 -0
  140. package/dist/nodes/Crowdin/properties/crowdin/fileBased/screenshots.d.ts +2 -0
  141. package/dist/nodes/Crowdin/properties/crowdin/fileBased/screenshots.js +2022 -0
  142. package/dist/nodes/Crowdin/properties/crowdin/fileBased/screenshots.js.map +1 -0
  143. package/dist/nodes/Crowdin/properties/crowdin/fileBased/securityLogs.d.ts +2 -0
  144. package/dist/nodes/Crowdin/properties/crowdin/fileBased/securityLogs.js +410 -0
  145. package/dist/nodes/Crowdin/properties/crowdin/fileBased/securityLogs.js.map +1 -0
  146. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.d.ts +2 -0
  147. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js +6326 -0
  148. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js.map +1 -0
  149. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceStrings.d.ts +2 -0
  150. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceStrings.js +881 -0
  151. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceStrings.js.map +1 -0
  152. package/dist/nodes/Crowdin/properties/crowdin/fileBased/storage.d.ts +2 -0
  153. package/dist/nodes/Crowdin/properties/crowdin/fileBased/storage.js +226 -0
  154. package/dist/nodes/Crowdin/properties/crowdin/fileBased/storage.js.map +1 -0
  155. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetComments.d.ts +2 -0
  156. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetComments.js +935 -0
  157. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetComments.js.map +1 -0
  158. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetTranslations.d.ts +2 -0
  159. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetTranslations.js +2800 -0
  160. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetTranslations.js.map +1 -0
  161. package/dist/nodes/Crowdin/properties/crowdin/fileBased/tasks.d.ts +2 -0
  162. package/dist/nodes/Crowdin/properties/crowdin/fileBased/tasks.js +5098 -0
  163. package/dist/nodes/Crowdin/properties/crowdin/fileBased/tasks.js.map +1 -0
  164. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationMemory.d.ts +2 -0
  165. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationMemory.js +1670 -0
  166. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationMemory.js.map +1 -0
  167. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationStatus.d.ts +2 -0
  168. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationStatus.js +1485 -0
  169. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationStatus.js.map +1 -0
  170. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.d.ts +2 -0
  171. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js +2691 -0
  172. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js.map +1 -0
  173. package/dist/nodes/Crowdin/properties/crowdin/fileBased/users.d.ts +2 -0
  174. package/dist/nodes/Crowdin/properties/crowdin/fileBased/users.js +1088 -0
  175. package/dist/nodes/Crowdin/properties/crowdin/fileBased/users.js.map +1 -0
  176. package/dist/nodes/Crowdin/properties/crowdin/fileBased/webhooks.d.ts +2 -0
  177. package/dist/nodes/Crowdin/properties/crowdin/fileBased/webhooks.js +1065 -0
  178. package/dist/nodes/Crowdin/properties/crowdin/fileBased/webhooks.js.map +1 -0
  179. package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.d.ts +2 -0
  180. package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js +4550 -0
  181. package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js.map +1 -0
  182. package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.d.ts +2 -0
  183. package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js +1227 -0
  184. package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js.map +1 -0
  185. package/dist/nodes/Crowdin/properties/crowdin/stringBased/branches.d.ts +2 -0
  186. package/dist/nodes/Crowdin/properties/crowdin/stringBased/branches.js +1317 -0
  187. package/dist/nodes/Crowdin/properties/crowdin/stringBased/branches.js.map +1 -0
  188. package/dist/nodes/Crowdin/properties/crowdin/stringBased/bundles.d.ts +2 -0
  189. package/dist/nodes/Crowdin/properties/crowdin/stringBased/bundles.js +1307 -0
  190. package/dist/nodes/Crowdin/properties/crowdin/stringBased/bundles.js.map +1 -0
  191. package/dist/nodes/Crowdin/properties/crowdin/stringBased/dictionaries.d.ts +2 -0
  192. package/dist/nodes/Crowdin/properties/crowdin/stringBased/dictionaries.js +112 -0
  193. package/dist/nodes/Crowdin/properties/crowdin/stringBased/dictionaries.js.map +1 -0
  194. package/dist/nodes/Crowdin/properties/crowdin/stringBased/distributions.d.ts +2 -0
  195. package/dist/nodes/Crowdin/properties/crowdin/stringBased/distributions.js +689 -0
  196. package/dist/nodes/Crowdin/properties/crowdin/stringBased/distributions.js.map +1 -0
  197. package/dist/nodes/Crowdin/properties/crowdin/stringBased/glossaries.d.ts +2 -0
  198. package/dist/nodes/Crowdin/properties/crowdin/stringBased/glossaries.js +3477 -0
  199. package/dist/nodes/Crowdin/properties/crowdin/stringBased/glossaries.js.map +1 -0
  200. package/dist/nodes/Crowdin/properties/crowdin/stringBased/index.d.ts +2 -0
  201. package/dist/nodes/Crowdin/properties/crowdin/stringBased/index.js +192 -0
  202. package/dist/nodes/Crowdin/properties/crowdin/stringBased/index.js.map +1 -0
  203. package/dist/nodes/Crowdin/properties/crowdin/stringBased/labels.d.ts +2 -0
  204. package/dist/nodes/Crowdin/properties/crowdin/stringBased/labels.js +1009 -0
  205. package/dist/nodes/Crowdin/properties/crowdin/stringBased/labels.js.map +1 -0
  206. package/dist/nodes/Crowdin/properties/crowdin/stringBased/languages.d.ts +2 -0
  207. package/dist/nodes/Crowdin/properties/crowdin/stringBased/languages.js +711 -0
  208. package/dist/nodes/Crowdin/properties/crowdin/stringBased/languages.js.map +1 -0
  209. package/dist/nodes/Crowdin/properties/crowdin/stringBased/machineTranslationEngines.d.ts +2 -0
  210. package/dist/nodes/Crowdin/properties/crowdin/stringBased/machineTranslationEngines.js +358 -0
  211. package/dist/nodes/Crowdin/properties/crowdin/stringBased/machineTranslationEngines.js.map +1 -0
  212. package/dist/nodes/Crowdin/properties/crowdin/stringBased/notifications.d.ts +2 -0
  213. package/dist/nodes/Crowdin/properties/crowdin/stringBased/notifications.js +222 -0
  214. package/dist/nodes/Crowdin/properties/crowdin/stringBased/notifications.js.map +1 -0
  215. package/dist/nodes/Crowdin/properties/crowdin/stringBased/organizationWebhooks.d.ts +2 -0
  216. package/dist/nodes/Crowdin/properties/crowdin/stringBased/organizationWebhooks.js +743 -0
  217. package/dist/nodes/Crowdin/properties/crowdin/stringBased/organizationWebhooks.js.map +1 -0
  218. package/dist/nodes/Crowdin/properties/crowdin/stringBased/projects.d.ts +2 -0
  219. package/dist/nodes/Crowdin/properties/crowdin/stringBased/projects.js +4952 -0
  220. package/dist/nodes/Crowdin/properties/crowdin/stringBased/projects.js.map +1 -0
  221. package/dist/nodes/Crowdin/properties/crowdin/stringBased/reports.d.ts +2 -0
  222. package/dist/nodes/Crowdin/properties/crowdin/stringBased/reports.js +7158 -0
  223. package/dist/nodes/Crowdin/properties/crowdin/stringBased/reports.js.map +1 -0
  224. package/dist/nodes/Crowdin/properties/crowdin/stringBased/screenshots.d.ts +2 -0
  225. package/dist/nodes/Crowdin/properties/crowdin/stringBased/screenshots.js +1934 -0
  226. package/dist/nodes/Crowdin/properties/crowdin/stringBased/screenshots.js.map +1 -0
  227. package/dist/nodes/Crowdin/properties/crowdin/stringBased/securityLogs.d.ts +2 -0
  228. package/dist/nodes/Crowdin/properties/crowdin/stringBased/securityLogs.js +410 -0
  229. package/dist/nodes/Crowdin/properties/crowdin/stringBased/securityLogs.js.map +1 -0
  230. package/dist/nodes/Crowdin/properties/crowdin/stringBased/sourceStrings.d.ts +2 -0
  231. package/dist/nodes/Crowdin/properties/crowdin/stringBased/sourceStrings.js +1409 -0
  232. package/dist/nodes/Crowdin/properties/crowdin/stringBased/sourceStrings.js.map +1 -0
  233. package/dist/nodes/Crowdin/properties/crowdin/stringBased/storage.d.ts +2 -0
  234. package/dist/nodes/Crowdin/properties/crowdin/stringBased/storage.js +226 -0
  235. package/dist/nodes/Crowdin/properties/crowdin/stringBased/storage.js.map +1 -0
  236. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringComments.d.ts +2 -0
  237. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringComments.js +862 -0
  238. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringComments.js.map +1 -0
  239. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringTranslations.d.ts +2 -0
  240. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringTranslations.js +2616 -0
  241. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringTranslations.js.map +1 -0
  242. package/dist/nodes/Crowdin/properties/crowdin/stringBased/tasks.d.ts +2 -0
  243. package/dist/nodes/Crowdin/properties/crowdin/stringBased/tasks.js +5098 -0
  244. package/dist/nodes/Crowdin/properties/crowdin/stringBased/tasks.js.map +1 -0
  245. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationMemory.d.ts +2 -0
  246. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationMemory.js +1670 -0
  247. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationMemory.js.map +1 -0
  248. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationStatus.d.ts +2 -0
  249. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationStatus.js +1209 -0
  250. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationStatus.js.map +1 -0
  251. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.d.ts +2 -0
  252. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js +1684 -0
  253. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js.map +1 -0
  254. package/dist/nodes/Crowdin/properties/crowdin/stringBased/users.d.ts +2 -0
  255. package/dist/nodes/Crowdin/properties/crowdin/stringBased/users.js +1088 -0
  256. package/dist/nodes/Crowdin/properties/crowdin/stringBased/users.js.map +1 -0
  257. package/dist/nodes/Crowdin/properties/crowdin/stringBased/webhooks.d.ts +2 -0
  258. package/dist/nodes/Crowdin/properties/crowdin/stringBased/webhooks.js +1009 -0
  259. package/dist/nodes/Crowdin/properties/crowdin/stringBased/webhooks.js.map +1 -0
  260. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/ai.d.ts +2 -0
  261. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/ai.js +169 -0
  262. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/ai.js.map +1 -0
  263. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/fileBased/index.d.ts +2 -0
  264. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/fileBased/index.js +6 -0
  265. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/fileBased/index.js.map +1 -0
  266. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/fileBased/tasks.d.ts +2 -0
  267. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/fileBased/tasks.js +553 -0
  268. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/fileBased/tasks.js.map +1 -0
  269. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/index.d.ts +2 -0
  270. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/index.js +8 -0
  271. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/index.js.map +1 -0
  272. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/stringBased/index.d.ts +2 -0
  273. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/stringBased/index.js +6 -0
  274. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/stringBased/index.js.map +1 -0
  275. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/stringBased/tasks.d.ts +2 -0
  276. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/stringBased/tasks.js +553 -0
  277. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/stringBased/tasks.js.map +1 -0
  278. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/teams.d.ts +2 -0
  279. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/teams.js +125 -0
  280. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/teams.js.map +1 -0
  281. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/users.d.ts +2 -0
  282. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/users.js +125 -0
  283. package/dist/nodes/Crowdin/properties/enterprise/common/extensions/users.js.map +1 -0
  284. package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.d.ts +2 -0
  285. package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js +4132 -0
  286. package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js.map +1 -0
  287. package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.d.ts +2 -0
  288. package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js +1227 -0
  289. package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js.map +1 -0
  290. package/dist/nodes/Crowdin/properties/enterprise/fileBased/bundles.d.ts +2 -0
  291. package/dist/nodes/Crowdin/properties/enterprise/fileBased/bundles.js +1307 -0
  292. package/dist/nodes/Crowdin/properties/enterprise/fileBased/bundles.js.map +1 -0
  293. package/dist/nodes/Crowdin/properties/enterprise/fileBased/clients.d.ts +2 -0
  294. package/dist/nodes/Crowdin/properties/enterprise/fileBased/clients.js +115 -0
  295. package/dist/nodes/Crowdin/properties/enterprise/fileBased/clients.js.map +1 -0
  296. package/dist/nodes/Crowdin/properties/enterprise/fileBased/customSpellcheckers.d.ts +2 -0
  297. package/dist/nodes/Crowdin/properties/enterprise/fileBased/customSpellcheckers.js +167 -0
  298. package/dist/nodes/Crowdin/properties/enterprise/fileBased/customSpellcheckers.js.map +1 -0
  299. package/dist/nodes/Crowdin/properties/enterprise/fileBased/dictionaries.d.ts +2 -0
  300. package/dist/nodes/Crowdin/properties/enterprise/fileBased/dictionaries.js +112 -0
  301. package/dist/nodes/Crowdin/properties/enterprise/fileBased/dictionaries.js.map +1 -0
  302. package/dist/nodes/Crowdin/properties/enterprise/fileBased/distributions.d.ts +2 -0
  303. package/dist/nodes/Crowdin/properties/enterprise/fileBased/distributions.js +790 -0
  304. package/dist/nodes/Crowdin/properties/enterprise/fileBased/distributions.js.map +1 -0
  305. package/dist/nodes/Crowdin/properties/enterprise/fileBased/externalQaChecks.d.ts +2 -0
  306. package/dist/nodes/Crowdin/properties/enterprise/fileBased/externalQaChecks.js +195 -0
  307. package/dist/nodes/Crowdin/properties/enterprise/fileBased/externalQaChecks.js.map +1 -0
  308. package/dist/nodes/Crowdin/properties/enterprise/fileBased/fields.d.ts +2 -0
  309. package/dist/nodes/Crowdin/properties/enterprise/fileBased/fields.js +1510 -0
  310. package/dist/nodes/Crowdin/properties/enterprise/fileBased/fields.js.map +1 -0
  311. package/dist/nodes/Crowdin/properties/enterprise/fileBased/glossaries.d.ts +2 -0
  312. package/dist/nodes/Crowdin/properties/enterprise/fileBased/glossaries.js +3515 -0
  313. package/dist/nodes/Crowdin/properties/enterprise/fileBased/glossaries.js.map +1 -0
  314. package/dist/nodes/Crowdin/properties/enterprise/fileBased/index.d.ts +2 -0
  315. package/dist/nodes/Crowdin/properties/enterprise/fileBased/index.js +252 -0
  316. package/dist/nodes/Crowdin/properties/enterprise/fileBased/index.js.map +1 -0
  317. package/dist/nodes/Crowdin/properties/enterprise/fileBased/labels.d.ts +2 -0
  318. package/dist/nodes/Crowdin/properties/enterprise/fileBased/labels.js +970 -0
  319. package/dist/nodes/Crowdin/properties/enterprise/fileBased/labels.js.map +1 -0
  320. package/dist/nodes/Crowdin/properties/enterprise/fileBased/languages.d.ts +2 -0
  321. package/dist/nodes/Crowdin/properties/enterprise/fileBased/languages.js +711 -0
  322. package/dist/nodes/Crowdin/properties/enterprise/fileBased/languages.js.map +1 -0
  323. package/dist/nodes/Crowdin/properties/enterprise/fileBased/machineTranslationEngines.d.ts +2 -0
  324. package/dist/nodes/Crowdin/properties/enterprise/fileBased/machineTranslationEngines.js +1104 -0
  325. package/dist/nodes/Crowdin/properties/enterprise/fileBased/machineTranslationEngines.js.map +1 -0
  326. package/dist/nodes/Crowdin/properties/enterprise/fileBased/notifications.d.ts +2 -0
  327. package/dist/nodes/Crowdin/properties/enterprise/fileBased/notifications.js +299 -0
  328. package/dist/nodes/Crowdin/properties/enterprise/fileBased/notifications.js.map +1 -0
  329. package/dist/nodes/Crowdin/properties/enterprise/fileBased/organization.d.ts +2 -0
  330. package/dist/nodes/Crowdin/properties/enterprise/fileBased/organization.js +84 -0
  331. package/dist/nodes/Crowdin/properties/enterprise/fileBased/organization.js.map +1 -0
  332. package/dist/nodes/Crowdin/properties/enterprise/fileBased/organizationWebhooks.d.ts +2 -0
  333. package/dist/nodes/Crowdin/properties/enterprise/fileBased/organizationWebhooks.js +759 -0
  334. package/dist/nodes/Crowdin/properties/enterprise/fileBased/organizationWebhooks.js.map +1 -0
  335. package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.d.ts +2 -0
  336. package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js +8841 -0
  337. package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js.map +1 -0
  338. package/dist/nodes/Crowdin/properties/enterprise/fileBased/reports.d.ts +2 -0
  339. package/dist/nodes/Crowdin/properties/enterprise/fileBased/reports.js +13576 -0
  340. package/dist/nodes/Crowdin/properties/enterprise/fileBased/reports.js.map +1 -0
  341. package/dist/nodes/Crowdin/properties/enterprise/fileBased/screenshots.d.ts +2 -0
  342. package/dist/nodes/Crowdin/properties/enterprise/fileBased/screenshots.js +2022 -0
  343. package/dist/nodes/Crowdin/properties/enterprise/fileBased/screenshots.js.map +1 -0
  344. package/dist/nodes/Crowdin/properties/enterprise/fileBased/securityLogs.d.ts +2 -0
  345. package/dist/nodes/Crowdin/properties/enterprise/fileBased/securityLogs.js +952 -0
  346. package/dist/nodes/Crowdin/properties/enterprise/fileBased/securityLogs.js.map +1 -0
  347. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.d.ts +2 -0
  348. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js +6706 -0
  349. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js.map +1 -0
  350. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceStrings.d.ts +2 -0
  351. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceStrings.js +855 -0
  352. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceStrings.js.map +1 -0
  353. package/dist/nodes/Crowdin/properties/enterprise/fileBased/storage.d.ts +2 -0
  354. package/dist/nodes/Crowdin/properties/enterprise/fileBased/storage.js +226 -0
  355. package/dist/nodes/Crowdin/properties/enterprise/fileBased/storage.js.map +1 -0
  356. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetComments.d.ts +2 -0
  357. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetComments.js +951 -0
  358. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetComments.js.map +1 -0
  359. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetTranslations.d.ts +2 -0
  360. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetTranslations.js +2828 -0
  361. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetTranslations.js.map +1 -0
  362. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringCorrections.d.ts +2 -0
  363. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringCorrections.js +726 -0
  364. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringCorrections.js.map +1 -0
  365. package/dist/nodes/Crowdin/properties/enterprise/fileBased/tasks.d.ts +2 -0
  366. package/dist/nodes/Crowdin/properties/enterprise/fileBased/tasks.js +3650 -0
  367. package/dist/nodes/Crowdin/properties/enterprise/fileBased/tasks.js.map +1 -0
  368. package/dist/nodes/Crowdin/properties/enterprise/fileBased/teams.d.ts +2 -0
  369. package/dist/nodes/Crowdin/properties/enterprise/fileBased/teams.js +1502 -0
  370. package/dist/nodes/Crowdin/properties/enterprise/fileBased/teams.js.map +1 -0
  371. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationMemory.d.ts +2 -0
  372. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationMemory.js +1707 -0
  373. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationMemory.js.map +1 -0
  374. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationStatus.d.ts +2 -0
  375. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationStatus.js +1513 -0
  376. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationStatus.js.map +1 -0
  377. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.d.ts +2 -0
  378. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js +2775 -0
  379. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js.map +1 -0
  380. package/dist/nodes/Crowdin/properties/enterprise/fileBased/users.d.ts +2 -0
  381. package/dist/nodes/Crowdin/properties/enterprise/fileBased/users.js +2404 -0
  382. package/dist/nodes/Crowdin/properties/enterprise/fileBased/users.js.map +1 -0
  383. package/dist/nodes/Crowdin/properties/enterprise/fileBased/vendors.d.ts +2 -0
  384. package/dist/nodes/Crowdin/properties/enterprise/fileBased/vendors.js +115 -0
  385. package/dist/nodes/Crowdin/properties/enterprise/fileBased/vendors.js.map +1 -0
  386. package/dist/nodes/Crowdin/properties/enterprise/fileBased/webhooks.d.ts +2 -0
  387. package/dist/nodes/Crowdin/properties/enterprise/fileBased/webhooks.js +1060 -0
  388. package/dist/nodes/Crowdin/properties/enterprise/fileBased/webhooks.js.map +1 -0
  389. package/dist/nodes/Crowdin/properties/enterprise/fileBased/workflows.d.ts +2 -0
  390. package/dist/nodes/Crowdin/properties/enterprise/fileBased/workflows.js +628 -0
  391. package/dist/nodes/Crowdin/properties/enterprise/fileBased/workflows.js.map +1 -0
  392. package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.d.ts +2 -0
  393. package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js +4132 -0
  394. package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js.map +1 -0
  395. package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.d.ts +2 -0
  396. package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js +1227 -0
  397. package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js.map +1 -0
  398. package/dist/nodes/Crowdin/properties/enterprise/stringBased/branches.d.ts +2 -0
  399. package/dist/nodes/Crowdin/properties/enterprise/stringBased/branches.js +1317 -0
  400. package/dist/nodes/Crowdin/properties/enterprise/stringBased/branches.js.map +1 -0
  401. package/dist/nodes/Crowdin/properties/enterprise/stringBased/bundles.d.ts +2 -0
  402. package/dist/nodes/Crowdin/properties/enterprise/stringBased/bundles.js +1307 -0
  403. package/dist/nodes/Crowdin/properties/enterprise/stringBased/bundles.js.map +1 -0
  404. package/dist/nodes/Crowdin/properties/enterprise/stringBased/clients.d.ts +2 -0
  405. package/dist/nodes/Crowdin/properties/enterprise/stringBased/clients.js +115 -0
  406. package/dist/nodes/Crowdin/properties/enterprise/stringBased/clients.js.map +1 -0
  407. package/dist/nodes/Crowdin/properties/enterprise/stringBased/customSpellcheckers.d.ts +2 -0
  408. package/dist/nodes/Crowdin/properties/enterprise/stringBased/customSpellcheckers.js +167 -0
  409. package/dist/nodes/Crowdin/properties/enterprise/stringBased/customSpellcheckers.js.map +1 -0
  410. package/dist/nodes/Crowdin/properties/enterprise/stringBased/dictionaries.d.ts +2 -0
  411. package/dist/nodes/Crowdin/properties/enterprise/stringBased/dictionaries.js +112 -0
  412. package/dist/nodes/Crowdin/properties/enterprise/stringBased/dictionaries.js.map +1 -0
  413. package/dist/nodes/Crowdin/properties/enterprise/stringBased/distributions.d.ts +2 -0
  414. package/dist/nodes/Crowdin/properties/enterprise/stringBased/distributions.js +689 -0
  415. package/dist/nodes/Crowdin/properties/enterprise/stringBased/distributions.js.map +1 -0
  416. package/dist/nodes/Crowdin/properties/enterprise/stringBased/externalQaChecks.d.ts +2 -0
  417. package/dist/nodes/Crowdin/properties/enterprise/stringBased/externalQaChecks.js +195 -0
  418. package/dist/nodes/Crowdin/properties/enterprise/stringBased/externalQaChecks.js.map +1 -0
  419. package/dist/nodes/Crowdin/properties/enterprise/stringBased/fields.d.ts +2 -0
  420. package/dist/nodes/Crowdin/properties/enterprise/stringBased/fields.js +1510 -0
  421. package/dist/nodes/Crowdin/properties/enterprise/stringBased/fields.js.map +1 -0
  422. package/dist/nodes/Crowdin/properties/enterprise/stringBased/glossaries.d.ts +2 -0
  423. package/dist/nodes/Crowdin/properties/enterprise/stringBased/glossaries.js +3515 -0
  424. package/dist/nodes/Crowdin/properties/enterprise/stringBased/glossaries.js.map +1 -0
  425. package/dist/nodes/Crowdin/properties/enterprise/stringBased/index.d.ts +2 -0
  426. package/dist/nodes/Crowdin/properties/enterprise/stringBased/index.js +252 -0
  427. package/dist/nodes/Crowdin/properties/enterprise/stringBased/index.js.map +1 -0
  428. package/dist/nodes/Crowdin/properties/enterprise/stringBased/labels.d.ts +2 -0
  429. package/dist/nodes/Crowdin/properties/enterprise/stringBased/labels.js +1009 -0
  430. package/dist/nodes/Crowdin/properties/enterprise/stringBased/labels.js.map +1 -0
  431. package/dist/nodes/Crowdin/properties/enterprise/stringBased/languages.d.ts +2 -0
  432. package/dist/nodes/Crowdin/properties/enterprise/stringBased/languages.js +711 -0
  433. package/dist/nodes/Crowdin/properties/enterprise/stringBased/languages.js.map +1 -0
  434. package/dist/nodes/Crowdin/properties/enterprise/stringBased/machineTranslationEngines.d.ts +2 -0
  435. package/dist/nodes/Crowdin/properties/enterprise/stringBased/machineTranslationEngines.js +1104 -0
  436. package/dist/nodes/Crowdin/properties/enterprise/stringBased/machineTranslationEngines.js.map +1 -0
  437. package/dist/nodes/Crowdin/properties/enterprise/stringBased/notifications.d.ts +2 -0
  438. package/dist/nodes/Crowdin/properties/enterprise/stringBased/notifications.js +299 -0
  439. package/dist/nodes/Crowdin/properties/enterprise/stringBased/notifications.js.map +1 -0
  440. package/dist/nodes/Crowdin/properties/enterprise/stringBased/organization.d.ts +2 -0
  441. package/dist/nodes/Crowdin/properties/enterprise/stringBased/organization.js +84 -0
  442. package/dist/nodes/Crowdin/properties/enterprise/stringBased/organization.js.map +1 -0
  443. package/dist/nodes/Crowdin/properties/enterprise/stringBased/organizationWebhooks.d.ts +2 -0
  444. package/dist/nodes/Crowdin/properties/enterprise/stringBased/organizationWebhooks.js +759 -0
  445. package/dist/nodes/Crowdin/properties/enterprise/stringBased/organizationWebhooks.js.map +1 -0
  446. package/dist/nodes/Crowdin/properties/enterprise/stringBased/projectsAndGroups.d.ts +2 -0
  447. package/dist/nodes/Crowdin/properties/enterprise/stringBased/projectsAndGroups.js +5826 -0
  448. package/dist/nodes/Crowdin/properties/enterprise/stringBased/projectsAndGroups.js.map +1 -0
  449. package/dist/nodes/Crowdin/properties/enterprise/stringBased/reports.d.ts +2 -0
  450. package/dist/nodes/Crowdin/properties/enterprise/stringBased/reports.js +13446 -0
  451. package/dist/nodes/Crowdin/properties/enterprise/stringBased/reports.js.map +1 -0
  452. package/dist/nodes/Crowdin/properties/enterprise/stringBased/screenshots.d.ts +2 -0
  453. package/dist/nodes/Crowdin/properties/enterprise/stringBased/screenshots.js +1934 -0
  454. package/dist/nodes/Crowdin/properties/enterprise/stringBased/screenshots.js.map +1 -0
  455. package/dist/nodes/Crowdin/properties/enterprise/stringBased/securityLogs.d.ts +2 -0
  456. package/dist/nodes/Crowdin/properties/enterprise/stringBased/securityLogs.js +952 -0
  457. package/dist/nodes/Crowdin/properties/enterprise/stringBased/securityLogs.js.map +1 -0
  458. package/dist/nodes/Crowdin/properties/enterprise/stringBased/sourceStrings.d.ts +2 -0
  459. package/dist/nodes/Crowdin/properties/enterprise/stringBased/sourceStrings.js +1383 -0
  460. package/dist/nodes/Crowdin/properties/enterprise/stringBased/sourceStrings.js.map +1 -0
  461. package/dist/nodes/Crowdin/properties/enterprise/stringBased/storage.d.ts +2 -0
  462. package/dist/nodes/Crowdin/properties/enterprise/stringBased/storage.js +226 -0
  463. package/dist/nodes/Crowdin/properties/enterprise/stringBased/storage.js.map +1 -0
  464. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringComments.d.ts +2 -0
  465. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringComments.js +887 -0
  466. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringComments.js.map +1 -0
  467. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringCorrections.d.ts +2 -0
  468. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringCorrections.js +726 -0
  469. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringCorrections.js.map +1 -0
  470. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringTranslations.d.ts +2 -0
  471. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringTranslations.js +2677 -0
  472. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringTranslations.js.map +1 -0
  473. package/dist/nodes/Crowdin/properties/enterprise/stringBased/tasks.d.ts +2 -0
  474. package/dist/nodes/Crowdin/properties/enterprise/stringBased/tasks.js +3650 -0
  475. package/dist/nodes/Crowdin/properties/enterprise/stringBased/tasks.js.map +1 -0
  476. package/dist/nodes/Crowdin/properties/enterprise/stringBased/teams.d.ts +2 -0
  477. package/dist/nodes/Crowdin/properties/enterprise/stringBased/teams.js +1502 -0
  478. package/dist/nodes/Crowdin/properties/enterprise/stringBased/teams.js.map +1 -0
  479. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationMemory.d.ts +2 -0
  480. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationMemory.js +1707 -0
  481. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationMemory.js.map +1 -0
  482. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationStatus.d.ts +2 -0
  483. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationStatus.js +1237 -0
  484. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationStatus.js.map +1 -0
  485. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.d.ts +2 -0
  486. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js +1707 -0
  487. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js.map +1 -0
  488. package/dist/nodes/Crowdin/properties/enterprise/stringBased/users.d.ts +2 -0
  489. package/dist/nodes/Crowdin/properties/enterprise/stringBased/users.js +2404 -0
  490. package/dist/nodes/Crowdin/properties/enterprise/stringBased/users.js.map +1 -0
  491. package/dist/nodes/Crowdin/properties/enterprise/stringBased/vendors.d.ts +2 -0
  492. package/dist/nodes/Crowdin/properties/enterprise/stringBased/vendors.js +115 -0
  493. package/dist/nodes/Crowdin/properties/enterprise/stringBased/vendors.js.map +1 -0
  494. package/dist/nodes/Crowdin/properties/enterprise/stringBased/webhooks.d.ts +2 -0
  495. package/dist/nodes/Crowdin/properties/enterprise/stringBased/webhooks.js +996 -0
  496. package/dist/nodes/Crowdin/properties/enterprise/stringBased/webhooks.js.map +1 -0
  497. package/dist/nodes/Crowdin/properties/enterprise/stringBased/workflows.d.ts +2 -0
  498. package/dist/nodes/Crowdin/properties/enterprise/stringBased/workflows.js +628 -0
  499. package/dist/nodes/Crowdin/properties/enterprise/stringBased/workflows.js.map +1 -0
  500. package/dist/nodes/Crowdin/utils/api.d.ts +13 -0
  501. package/dist/nodes/Crowdin/utils/api.js +108 -0
  502. package/dist/nodes/Crowdin/utils/api.js.map +1 -0
  503. package/dist/nodes/Crowdin/utils/extendProperties.d.ts +3 -0
  504. package/dist/nodes/Crowdin/utils/extendProperties.js +76 -0
  505. package/dist/nodes/Crowdin/utils/extendProperties.js.map +1 -0
  506. package/dist/nodes/Crowdin/utils/index.d.ts +3 -0
  507. package/dist/nodes/Crowdin/utils/index.js +20 -0
  508. package/dist/nodes/Crowdin/utils/index.js.map +1 -0
  509. package/dist/nodes/Crowdin/utils/preSend.d.ts +19 -0
  510. package/dist/nodes/Crowdin/utils/preSend.js +427 -0
  511. package/dist/nodes/Crowdin/utils/preSend.js.map +1 -0
  512. package/dist/package.json +89 -0
  513. package/dist/tsconfig.tsbuildinfo +1 -0
  514. package/package.json +89 -0
package/LICENSE.md ADDED
@@ -0,0 +1,19 @@
1
+ Copyright 2022 n8n
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,243 @@
1
+ # @crowdin/n8n-nodes-crowdin
2
+
3
+ This is an n8n community node. It lets you use [Crowdin](https://crowdin.com/) in your n8n workflows.
4
+
5
+ Crowdin is an AI-powered localization software designed for teams and businesses. It's a cloud-based solution that streamlines localization management for your product. With 700+ apps and integrations, Crowdin automates the translation process. Its AI translator provides accurate, context-aware translations that continuously improve based on your resources and feedback. Crowdin supports 300+ languages and enables continuous localization for software, mobile apps, websites, marketing content, and help centers.
6
+
7
+ [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
8
+
9
+ [Installation](#installation)
10
+ [Nodes](#nodes)
11
+ [Operations](#operations)
12
+ [Credentials](#credentials)
13
+ [Compatibility](#compatibility)
14
+ [Usage](#usage)
15
+ [Workflow Templates](#workflow-templates)
16
+ [Resources](#resources)
17
+
18
+ ## Installation
19
+
20
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
21
+
22
+ ## Nodes
23
+
24
+ This package includes the following nodes:
25
+
26
+ ### Action Nodes
27
+
28
+ | Node | Description |
29
+ |------|-------------|
30
+ | **Crowdin (File-Based)** | Interact with Crowdin file-based projects on crowdin.com |
31
+ | **Crowdin (String-Based)** | Interact with Crowdin string-based projects on crowdin.com |
32
+ | **Crowdin Enterprise (File-Based)** | Interact with Crowdin Enterprise file-based projects |
33
+ | **Crowdin Enterprise (String-Based)** | Interact with Crowdin Enterprise string-based projects |
34
+
35
+ ### Trigger Nodes
36
+
37
+ | Node | Description |
38
+ |------|-------------|
39
+ | **Crowdin (File-Based) Trigger** | Start workflows on file-based project events |
40
+ | **Crowdin (String-Based) Trigger** | Start workflows on string-based project events |
41
+ | **Crowdin Enterprise (File-Based) Trigger** | Start workflows on Enterprise file-based project events |
42
+ | **Crowdin Enterprise (String-Based) Trigger** | Start workflows on Enterprise string-based project events |
43
+
44
+ ## Operations
45
+
46
+ ### Common Resources
47
+
48
+ | Resource | Description |
49
+ |----------|-------------|
50
+ | **AI** | AI-powered features for translation assistance |
51
+ | **Storage** | Upload files for localization, screenshots, glossaries, and TMs |
52
+ | **Languages** | Access 300+ supported languages and their details |
53
+ | **Source Files** | Manage source files, folders, and branches |
54
+ | **Source Strings** | Manage text units for translation |
55
+ | **String/Asset Translations** | Add, remove, and manage translations and approvals |
56
+ | **String/Asset Comments** | Manage comments and issues on strings |
57
+ | **Screenshots** | Provide visual context for translators |
58
+ | **Glossaries** | Maintain terminology consistency |
59
+ | **Translation Memory** | Reuse previous translations |
60
+ | **Machine Translation Engines** | Configure MT providers (Google, DeepL, etc.) |
61
+ | **Translation Status** | Track localization progress |
62
+ | **Reports** | Generate cost estimates and translation reports |
63
+ | **Users** | Get user profile information |
64
+ | **Webhooks** | Configure project-level webhooks |
65
+ | **Organization Webhooks** | Configure account-level webhooks |
66
+ | **Applications** | Manage Crowdin App integrations |
67
+ | **Bundles** | Group files for export |
68
+ | **Dictionaries** | Manage spell-checker word lists |
69
+ | **Distributions** | Configure content delivery |
70
+ | **Labels** | Organize strings with labels |
71
+ | **Notifications** | Manage notification settings |
72
+ | **Security Logs** | Access audit logs |
73
+ | **Tasks** | Create and manage translation tasks |
74
+
75
+ ### Crowdin-Specific Resources
76
+
77
+ | Resource | Description |
78
+ |----------|-------------|
79
+ | **Projects** | Manage localization projects |
80
+ | **Translations** | Pre-translate and download translations |
81
+
82
+ ### Crowdin Enterprise-Specific Resources
83
+
84
+ | Resource | Description |
85
+ |----------|-------------|
86
+ | **Projects and Groups** | Manage projects and organizational groups |
87
+ | **Workflows** | Configure translation workflow templates |
88
+ | **Teams** | Manage team members and permissions |
89
+ | **Vendors** | Manage translation vendor relationships |
90
+ | **Clients** | Manage client organizations |
91
+ | **Fields** | Configure custom fields |
92
+ | **Organization** | Manage organization settings |
93
+ | **External QA Checks** | Configure external quality assurance |
94
+ | **Custom Spellcheckers** | Manage custom spell-check dictionaries |
95
+ | **String Corrections** | Manage string correction suggestions |
96
+
97
+ ### Trigger Events
98
+
99
+ The trigger nodes support the following webhook events. For detailed payload structures, see the [Crowdin Webhooks Documentation](https://support.crowdin.com/developer/webhooks/#events).
100
+
101
+ #### Account/Organization Events
102
+
103
+ | Event | Crowdin | Enterprise | Description |
104
+ |-------|:-------:|:----------:|-------------|
105
+ | Project created | ✅ | ✅ | A project is created |
106
+ | Project deleted | ✅ | ✅ | A project is deleted |
107
+ | Group created | — | ✅ | A group is created |
108
+ | Group deleted | — | ✅ | A group is deleted |
109
+
110
+ #### Project Events
111
+
112
+ | Event | Description |
113
+ |-------|-------------|
114
+ | Project fully translated | All files are translated into one of the target languages |
115
+ | Project fully reviewed | Translations in all files are approved for one of the target languages |
116
+ | Project successfully built | A project is built successfully |
117
+ | Project QA check finished | QA check for all strings in the project is finished |
118
+ | Exported translation updated | Final translation of a string is updated |
119
+
120
+ #### File Events (File-Based Projects Only)
121
+
122
+ | Event | Description |
123
+ |-------|-------------|
124
+ | File added | A new file is added to the project |
125
+ | File updated | A file is updated |
126
+ | File deleted | A file is deleted |
127
+ | File reverted | A file is reverted to the previous revision |
128
+ | File fully translated | A file is translated into one of the target languages |
129
+ | File fully reviewed | Translations in a file are approved for one of the target languages |
130
+ | File QA check finished | QA check for all strings in a file is finished |
131
+
132
+ #### Source String Events
133
+
134
+ | Event | Description |
135
+ |-------|-------------|
136
+ | Source string added | A new string is added to the project |
137
+ | Source string updated | A string in the project is updated |
138
+ | Source string deleted | A string is deleted |
139
+
140
+ #### String Comment/Issue Events
141
+
142
+ | Event | Description |
143
+ |-------|-------------|
144
+ | String comment/issue created | A comment or issue is added to the string |
145
+ | String comment/issue updated | A comment or issue is updated |
146
+ | String comment/issue deleted | A comment or issue is deleted |
147
+ | String comment/issue restored | A comment or issue is restored |
148
+
149
+ #### Suggested Translation Events
150
+
151
+ | Event | Description |
152
+ |-------|-------------|
153
+ | Suggested translation added | A string in the project is translated |
154
+ | Suggested translation updated | A translation for a string in the project is updated |
155
+ | Suggested translation deleted | One of the translations is deleted |
156
+ | Suggested translation approved | A translation for a string is approved |
157
+ | Suggested translation disapproved | Approval for a previously added translation is removed |
158
+
159
+ #### Task Events
160
+
161
+ | Event | Description |
162
+ |-------|-------------|
163
+ | Task added | A task is added to the project |
164
+ | Task status changed | A task status is changed |
165
+ | Task updated | A task is updated |
166
+ | Task deleted | A task is deleted |
167
+
168
+ ## Credentials
169
+
170
+ This node supports two authentication methods:
171
+
172
+ ### OAuth2 (Recommended)
173
+
174
+ 1. Go to your [Crowdin OAuth Apps](https://crowdin.com/settings#oauth-apps) or [Crowdin Enterprise OAuth Apps](https://{your-organization}.crowdin.com/u/system-settings/oauth-apps)
175
+ 2. Create a new OAuth application
176
+ 3. Configure the redirect URI as provided by n8n
177
+ 4. Use the Client ID and Client Secret in n8n credentials
178
+ 5. Set the required scopes (e.g., `project`, `tm`, `glossary`)
179
+
180
+ ### Personal Access Token
181
+
182
+ 1. Go to your [Crowdin API Settings](https://crowdin.com/settings#api-key) or [Crowdin Enterprise Access Tokens](https://{your-organization}.crowdin.com/u/user_settings/access-tokens)
183
+ 2. Create a new Personal Access Token
184
+ 3. Grant only the minimum required scopes for your workflow
185
+ 4. Copy the token and paste it into n8n credentials
186
+
187
+ > 🔐 **Security Best Practice:** Follow the principle of least privilege - grant only the minimum scopes required for your workflow.
188
+
189
+ ## Compatibility
190
+
191
+ - **Minimum n8n version:** 1.0.0
192
+ - **Tested with:** n8n 2.4.4
193
+
194
+ ## Usage
195
+
196
+ ### File-Based vs String-Based Projects
197
+
198
+ Crowdin supports two types of projects:
199
+
200
+ - **File-Based Projects:** Traditional localization workflow where you upload source files (JSON, XLIFF, Android XML, etc.) and download translated versions
201
+ - **String-Based Projects:** Content is managed as individual strings without file structure, ideal for web applications and dynamic content
202
+
203
+ Choose the appropriate node based on your project type.
204
+
205
+ ### Crowdin vs Crowdin Enterprise
206
+
207
+ - **Crowdin (crowdin.com):** For individuals and teams using the standard Crowdin platform
208
+ - **Crowdin Enterprise:** For organizations with dedicated Crowdin Enterprise instances (custom domain: `{organization}.crowdin.com`)
209
+
210
+ ### Example Workflow: Sync Translations
211
+
212
+ 1. Add a **Crowdin Trigger** node to listen for `file.translated` events
213
+ 2. Use the **Crowdin** node to build and download translations
214
+ 3. Connect to your deployment pipeline or storage
215
+
216
+ ### Using with AI Agents
217
+
218
+ All nodes in this package have `usableAsTool: true`, making them compatible with n8n's AI Agent nodes. You can use them as tools for AI-powered automation workflows.
219
+
220
+ ## Workflow Templates
221
+
222
+ This package includes ready-to-use workflow templates:
223
+
224
+ | Template | Description |
225
+ |----------|-------------|
226
+ | **Crowdin AI Translation Slack Bot** | AI-powered translation assistant in Slack |
227
+ | **Crowdin AI Translation Teams Bot** | AI-powered translation assistant in Microsoft Teams |
228
+ | **Crowdin to JIRA** | Sync Crowdin issues to JIRA tickets |
229
+ | **Crowdin to Linear** | Sync Crowdin issues to Linear issues |
230
+ | **JIRA to Crowdin** | Create Crowdin tasks from JIRA tickets |
231
+ | **Linear to Crowdin** | Create Crowdin tasks from Linear issues |
232
+
233
+ ## Resources
234
+
235
+ - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
236
+ - [Crowdin API documentation](https://support.crowdin.com/api/v2/)
237
+ - [Crowdin Enterprise API documentation](https://support.crowdin.com/enterprise/api/)
238
+ - [Crowdin Developer Portal](https://developer.crowdin.com/)
239
+ - [Crowdin Help Center](https://support.crowdin.com/)
240
+
241
+ ## License
242
+
243
+ [MIT](LICENSE.md)
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class CrowdinApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrowdinApi = void 0;
4
+ class CrowdinApi {
5
+ constructor() {
6
+ this.name = 'crowdinApi';
7
+ this.displayName = 'Crowdin API';
8
+ this.icon = { light: 'file:../icons/crowdin.svg', dark: 'file:../icons/crowdin.dark.svg' };
9
+ this.documentationUrl = 'https://support.crowdin.com/api/v2/';
10
+ this.properties = [
11
+ {
12
+ displayName: 'Personal Access Token',
13
+ name: 'accessToken',
14
+ type: 'string',
15
+ typeOptions: {
16
+ password: true,
17
+ },
18
+ default: '',
19
+ required: true,
20
+ description: 'Your Crowdin Personal Access Token. Get it from Account Settings → API → Personal Access Tokens.',
21
+ },
22
+ {
23
+ displayName: 'Security Best Practice',
24
+ name: 'securityNotice',
25
+ type: 'notice',
26
+ default: '',
27
+ description: '🔐 <strong>Principle of Least Privilege:</strong> When creating your Personal Access Token, grant only the minimum scopes required for your workflow. Avoid selecting all scopes unless absolutely necessary. This limits potential exposure if the token is compromised.',
28
+ },
29
+ ];
30
+ this.authenticate = {
31
+ type: 'generic',
32
+ properties: {
33
+ headers: {
34
+ Authorization: '=Bearer {{$credentials.accessToken}}',
35
+ },
36
+ },
37
+ };
38
+ this.test = {
39
+ request: {
40
+ baseURL: 'https://api.crowdin.com',
41
+ url: '/api/v2/user',
42
+ },
43
+ };
44
+ }
45
+ }
46
+ exports.CrowdinApi = CrowdinApi;
47
+ //# sourceMappingURL=CrowdinApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrowdinApi.credentials.js","sourceRoot":"","sources":["../../credentials/CrowdinApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,UAAU;IAAvB;QACE,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,SAAI,GAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QAC5F,qBAAgB,GAAG,qCAAqC,CAAC;QAEzD,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,uBAAuB;gBACpC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACT,kGAAkG;aACrG;YACD;gBACE,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EACT,2QAA2Q;aAC9Q;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,aAAa,EAAE,sCAAsC;iBACtD;aACF;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;gBAClC,GAAG,EAAE,cAAc;aACpB;SACF,CAAC;IACJ,CAAC;CAAA;AA5CD,gCA4CC"}
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class CrowdinEnterpriseApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrowdinEnterpriseApi = void 0;
4
+ class CrowdinEnterpriseApi {
5
+ constructor() {
6
+ this.name = 'crowdinEnterpriseApi';
7
+ this.displayName = 'Crowdin Enterprise API';
8
+ this.icon = { light: 'file:../icons/crowdin.svg', dark: 'file:../icons/crowdin.dark.svg' };
9
+ this.documentationUrl = 'https://support.crowdin.com/enterprise/api/';
10
+ this.properties = [
11
+ {
12
+ displayName: 'Organization',
13
+ name: 'organization',
14
+ type: 'string',
15
+ default: '',
16
+ required: true,
17
+ placeholder: 'your-organization',
18
+ description: 'Your Crowdin Enterprise organization name (e.g., "acme" for acme.crowdin.com)',
19
+ },
20
+ {
21
+ displayName: 'Personal Access Token',
22
+ name: 'accessToken',
23
+ type: 'string',
24
+ typeOptions: {
25
+ password: true,
26
+ },
27
+ default: '',
28
+ required: true,
29
+ description: 'Your Crowdin Enterprise Personal Access Token. Get it from Account Settings → API → Personal Access Tokens.',
30
+ },
31
+ {
32
+ displayName: 'Security Best Practice',
33
+ name: 'securityNotice',
34
+ type: 'notice',
35
+ default: '',
36
+ description: '🔐 <strong>Principle of Least Privilege:</strong> When creating your Personal Access Token, grant only the minimum scopes required for your workflow. Avoid selecting all scopes unless absolutely necessary. This limits potential exposure if the token is compromised.',
37
+ },
38
+ ];
39
+ this.authenticate = {
40
+ type: 'generic',
41
+ properties: {
42
+ headers: {
43
+ Authorization: '=Bearer {{$credentials.accessToken}}',
44
+ },
45
+ },
46
+ };
47
+ this.test = {
48
+ request: {
49
+ baseURL: '=https://{{$credentials.organization}}.api.crowdin.com',
50
+ url: '/api/v2/user',
51
+ },
52
+ };
53
+ }
54
+ }
55
+ exports.CrowdinEnterpriseApi = CrowdinEnterpriseApi;
56
+ //# sourceMappingURL=CrowdinEnterpriseApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrowdinEnterpriseApi.credentials.js","sourceRoot":"","sources":["../../credentials/CrowdinEnterpriseApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,oBAAoB;IAAjC;QACE,SAAI,GAAG,sBAAsB,CAAC;QAC9B,gBAAW,GAAG,wBAAwB,CAAC;QACvC,SAAI,GAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QAC5F,qBAAgB,GAAG,6CAA6C,CAAC;QAEjE,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EACT,+EAA+E;aAClF;YACD;gBACE,WAAW,EAAE,uBAAuB;gBACpC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACT,6GAA6G;aAChH;YACD;gBACE,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EACT,2QAA2Q;aAC9Q;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,aAAa,EAAE,sCAAsC;iBACtD;aACF;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,wDAAwD;gBACjE,GAAG,EAAE,cAAc;aACpB;SACF,CAAC;IACJ,CAAC;CAAA;AAtDD,oDAsDC"}
@@ -0,0 +1,10 @@
1
+ import type { Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class CrowdinEnterpriseOAuth2Api implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ extends: string[];
8
+ properties: INodeProperties[];
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrowdinEnterpriseOAuth2Api = void 0;
4
+ class CrowdinEnterpriseOAuth2Api {
5
+ constructor() {
6
+ this.name = 'crowdinEnterpriseOAuth2Api';
7
+ this.displayName = 'Crowdin Enterprise OAuth2 API';
8
+ this.icon = { light: 'file:../icons/crowdin.svg', dark: 'file:../icons/crowdin.dark.svg' };
9
+ this.documentationUrl = 'https://support.crowdin.com/enterprise/api/';
10
+ this.extends = ['oAuth2Api'];
11
+ this.properties = [
12
+ {
13
+ displayName: 'Organization',
14
+ name: 'organization',
15
+ type: 'string',
16
+ default: '',
17
+ required: true,
18
+ placeholder: 'your-organization',
19
+ description: 'Your Crowdin Enterprise organization name (e.g., "acme" for acme.crowdin.com). This is required for OAuth2 configuration.',
20
+ },
21
+ {
22
+ displayName: 'Grant Type',
23
+ name: 'grantType',
24
+ type: 'hidden',
25
+ default: 'authorizationCode',
26
+ },
27
+ {
28
+ displayName: 'Authorization URL',
29
+ name: 'authUrl',
30
+ type: 'hidden',
31
+ default: 'https://accounts.crowdin.com/oauth/authorize',
32
+ },
33
+ {
34
+ displayName: 'Access Token URL',
35
+ name: 'accessTokenUrl',
36
+ type: 'hidden',
37
+ default: 'https://accounts.crowdin.com/oauth/token',
38
+ },
39
+ {
40
+ displayName: 'Scope',
41
+ name: 'scope',
42
+ type: 'string',
43
+ default: 'project',
44
+ description: 'Space-separated list of scopes. Available: project, group, mt, vendor, webhook, tm, glossary, ai, notification. Only request scopes your workflow actually needs.',
45
+ },
46
+ {
47
+ displayName: 'Security Best Practice',
48
+ name: 'securityNotice',
49
+ type: 'notice',
50
+ default: '',
51
+ description: '🔐 <strong>Principle of Least Privilege:</strong> Only request the minimum scopes required for your workflow. For example, if you only need to read projects, use just "project". Adding unnecessary scopes increases security risk if the connection is compromised.',
52
+ },
53
+ {
54
+ displayName: 'Auth URI Query Parameters',
55
+ name: 'authQueryParameters',
56
+ type: 'hidden',
57
+ default: '',
58
+ },
59
+ {
60
+ displayName: 'Authentication',
61
+ name: 'authentication',
62
+ type: 'hidden',
63
+ default: 'body',
64
+ },
65
+ ];
66
+ this.test = {
67
+ request: {
68
+ baseURL: '=https://{{$credentials.organization}}.api.crowdin.com',
69
+ url: '/api/v2/user',
70
+ },
71
+ };
72
+ }
73
+ }
74
+ exports.CrowdinEnterpriseOAuth2Api = CrowdinEnterpriseOAuth2Api;
75
+ //# sourceMappingURL=CrowdinEnterpriseOAuth2Api.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrowdinEnterpriseOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/CrowdinEnterpriseOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,0BAA0B;IAAvC;QACE,SAAI,GAAG,4BAA4B,CAAC;QACpC,gBAAW,GAAG,+BAA+B,CAAC;QAC9C,SAAI,GAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QAC5F,qBAAgB,GAAG,6CAA6C,CAAC;QACjE,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EACT,2HAA2H;aAC9H;YACD;gBACE,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8CAA8C;aACxD;YACD;gBACE,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,0CAA0C;aACpD;YACD;gBACE,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,SAAS;gBAClB,WAAW,EACT,mKAAmK;aACtK;YACD;gBACE,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EACT,uQAAuQ;aAC1Q;YACD;gBACE,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;aAChB;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,wDAAwD;gBACjE,GAAG,EAAE,cAAc;aACpB;SACF,CAAC;IACJ,CAAC;CAAA;AAxED,gEAwEC"}
@@ -0,0 +1,10 @@
1
+ import type { Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class CrowdinOAuth2Api implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ extends: string[];
8
+ properties: INodeProperties[];
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrowdinOAuth2Api = void 0;
4
+ class CrowdinOAuth2Api {
5
+ constructor() {
6
+ this.name = 'crowdinOAuth2Api';
7
+ this.displayName = 'Crowdin OAuth2 API';
8
+ this.icon = { light: 'file:../icons/crowdin.svg', dark: 'file:../icons/crowdin.dark.svg' };
9
+ this.documentationUrl = 'https://support.crowdin.com/api/v2/';
10
+ this.extends = ['oAuth2Api'];
11
+ this.properties = [
12
+ {
13
+ displayName: 'Grant Type',
14
+ name: 'grantType',
15
+ type: 'hidden',
16
+ default: 'authorizationCode',
17
+ },
18
+ {
19
+ displayName: 'Authorization URL',
20
+ name: 'authUrl',
21
+ type: 'hidden',
22
+ default: 'https://accounts.crowdin.com/oauth/authorize',
23
+ },
24
+ {
25
+ displayName: 'Access Token URL',
26
+ name: 'accessTokenUrl',
27
+ type: 'hidden',
28
+ default: 'https://accounts.crowdin.com/oauth/token',
29
+ },
30
+ {
31
+ displayName: 'Scope',
32
+ name: 'scope',
33
+ type: 'string',
34
+ default: 'project',
35
+ description: 'Space-separated list of scopes. Available: project, group, mt, vendor, webhook, tm, glossary, ai, notification. Only request scopes your workflow actually needs.',
36
+ },
37
+ {
38
+ displayName: 'Security Best Practice',
39
+ name: 'securityNotice',
40
+ type: 'notice',
41
+ default: '',
42
+ description: '🔐 <strong>Principle of Least Privilege:</strong> Only request the minimum scopes required for your workflow. For example, if you only need to read projects, use just "project". Adding unnecessary scopes increases security risk if the connection is compromised.',
43
+ },
44
+ {
45
+ displayName: 'Auth URI Query Parameters',
46
+ name: 'authQueryParameters',
47
+ type: 'hidden',
48
+ default: '',
49
+ },
50
+ {
51
+ displayName: 'Authentication',
52
+ name: 'authentication',
53
+ type: 'hidden',
54
+ default: 'body',
55
+ },
56
+ ];
57
+ this.test = {
58
+ request: {
59
+ baseURL: 'https://api.crowdin.com',
60
+ url: '/api/v2/user',
61
+ },
62
+ };
63
+ }
64
+ }
65
+ exports.CrowdinOAuth2Api = CrowdinOAuth2Api;
66
+ //# sourceMappingURL=CrowdinOAuth2Api.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrowdinOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/CrowdinOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,gBAAgB;IAA7B;QACE,SAAI,GAAG,kBAAkB,CAAC;QAC1B,gBAAW,GAAG,oBAAoB,CAAC;QACnC,SAAI,GAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QAC5F,qBAAgB,GAAG,qCAAqC,CAAC;QACzD,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8CAA8C;aACxD;YACD;gBACE,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,0CAA0C;aACpD;YACD;gBACE,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,SAAS;gBAClB,WAAW,EACT,mKAAmK;aACtK;YACD;gBACE,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EACT,uQAAuQ;aAC1Q;YACD;gBACE,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;aAChB;SACF,CAAC;QAOF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;gBAClC,GAAG,EAAE,cAAc;aACpB;SACF,CAAC;IACJ,CAAC;CAAA;AAnED,4CAmEC"}
@@ -0,0 +1,9 @@
1
+ <svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M55.2553 80H24.7447C8.91588 80 0 70.916 0 55.2553V24.7447C0 9.08403 8.91588 0 24.7447 0H55.2553C71.4167 0 80 8.75146 80 24.7447V55.2553C80 71.2485 71.4167 80 55.2553 80Z" fill="white"/>
3
+ <path d="M51.3959 54.5041C49.8991 54.5041 48.5653 54.0395 47.4613 53.1296C46.1423 52.0583 45.0938 50.4611 45.0568 48.5835C45.0382 47.6352 46.0349 47.6352 46.0349 47.6352C46.0349 47.6352 47.6539 47.616 48.4394 47.616C49.2248 47.6352 49.4545 48.7678 49.4916 49.052C49.7954 51.5976 51.1847 52.7072 52.2518 53.214C52.8927 53.5174 52.7334 54.4657 51.3959 54.508V54.5041Z" fill="#263238"/>
4
+ <path d="M37.9549 41.5687C36.6359 41.4074 34.6797 41.2692 33.4163 40.9467C31.3675 40.4245 31.4231 38.5163 31.512 37.8943C31.7602 36.0282 32.4197 34.3004 33.4349 32.6955C34.6982 30.7296 36.5137 29.0018 38.8478 27.5966C43.227 24.9665 49.3512 23.4998 56.0794 23.4998C61.0107 23.4998 66.1568 24.164 66.2087 24.164C66.6718 24.2254 67.009 24.6862 66.9904 25.2084C66.9719 25.7305 66.6162 26.1299 66.1531 26.1721C65.4047 26.1529 64.6748 26.1529 63.982 26.1529C57.1279 26.1529 52.2485 27.1166 48.6177 29.2053C45.0387 31.2518 42.5453 34.3849 40.8558 39.0231C40.678 39.4262 40.0889 41.8144 37.9549 41.5725V41.5687Z" fill="#263238"/>
5
+ <path d="M43.9348 60.709C40.5337 60.7819 37.3289 59.1885 34.9022 56.4087C32.846 54.055 31.6085 51.6822 31.3788 48.6374C31.238 46.6485 32.0865 45.9612 33.2387 46.0802C34.0352 46.1609 36.5138 46.2837 37.9328 46.5871C38.9962 46.8098 39.7038 47.4203 39.8816 48.6758C40.819 55.372 44.8944 58.0059 47.3211 58.5742C47.7472 58.674 48.0102 58.9581 47.9954 59.4688C47.9769 59.9564 47.7064 60.6245 43.9385 60.7051L43.9348 60.709Z" fill="#263238"/>
6
+ <path d="M34.246 66.6527C31.8341 66.7564 29.4741 66.2534 28.7998 66.1305C25.9618 65.6084 23.5832 64.7061 21.5455 63.3661C16.6661 60.1639 13.7207 54.5082 13.3687 47.812C13.2798 46.2224 13.0835 43.1853 16.7402 43.4157C18.2481 43.5002 20.6415 44.2527 22.3273 44.7557C24.4205 45.3624 25.432 47.0364 25.432 48.6913C25.432 58.1327 33.6829 64.372 37.2841 64.372C38.1436 64.372 38.3474 64.9019 38.2436 65.4087C38.1621 65.8119 37.9435 66.4953 34.2497 66.6566L34.246 66.6527Z" fill="#263238"/>
7
+ <path d="M21.6602 38.9077C20.2338 38.6428 18.8408 38.0323 17.4848 37.6829C13.2908 36.604 14.0058 32.2192 14.3986 31.0174C18.2147 19.3759 30.3298 15.4826 40.1071 14.442C49.3138 13.463 58.9467 14.2194 67.92 16.8072C68.561 16.9838 70.3282 17.4254 69.9466 18.5005C69.565 19.5755 68.5017 18.8268 58.7133 18.6041C55.4863 18.5312 52.263 18.7424 49.0286 19.2569C43.4786 20.1323 37.773 21.9484 33.1863 25.7803C30.9744 27.6348 29.0293 29.9999 27.7289 32.7951C27.3881 33.5285 27.1213 34.2618 26.8916 34.9952C26.6582 35.7708 25.7838 39.6641 21.6639 38.9115L21.6602 38.9077Z" fill="#263238"/>
8
+ <path d="M45.1311 41.1543C45.9166 37.5105 49.4066 31.7358 60.2102 32.1351C62.6888 32.2158 61.5551 33.9666 60.3325 33.9282C54.223 33.7094 51.3258 37.7908 49.8068 41.9298C49.3177 43.2622 48.2025 43.4618 46.8058 43.2238C45.8277 43.0433 44.7643 42.9243 45.1311 41.1543Z" fill="#263238"/>
9
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M56.6667 80H23.3333C9.16667 80 0 70.8333 0 56.6667V23.0781C0 9.16667 9.16667 0 23.0781 0H56.6667C70.8333 0 80 9.16667 80 23.3333V56.6667C80 70.8333 70.8333 80 56.6667 80Z" fill="#263238"/>
3
+ <path d="M51.3968 54.5041C49.9 54.5041 48.5662 54.0395 47.4621 53.1296C46.1432 52.0583 45.0947 50.4611 45.0576 48.5835C45.0391 47.6352 46.0357 47.6352 46.0357 47.6352C46.0357 47.6352 47.6548 47.616 48.4402 47.616C49.2257 47.6352 49.4554 48.7678 49.4924 49.052C49.7962 51.5976 51.1856 52.7072 52.2526 53.214C52.8936 53.5174 52.7342 54.4657 51.3968 54.508V54.5041Z" fill="white"/>
4
+ <path d="M37.9552 41.5689C36.6363 41.4076 34.6801 41.2694 33.4167 40.9469C31.3679 40.4247 31.4234 38.5164 31.5124 37.8944C31.7606 36.0284 32.4201 34.3006 33.4352 32.6957C34.6986 30.7298 36.514 29.002 38.8481 27.5967C43.2274 24.9666 49.9385 23.3335 56.6667 23.3335C57.9136 23.3335 66.9908 23.3335 66.9908 25.2085C66.9908 26.2502 64.8949 26.1531 63.9824 26.1531C57.1283 26.1531 52.2489 27.1168 48.618 29.2055C45.0391 31.252 42.5456 34.3851 40.8562 39.0232C40.6784 39.4264 40.0893 41.8146 37.9552 41.5727V41.5689Z" fill="white"/>
5
+ <path d="M43.9348 60.7086C40.5337 60.7815 37.3289 59.1881 34.9022 56.4083C32.846 54.0546 31.6085 51.6818 31.3788 48.637C31.238 46.6481 32.0865 45.9609 33.2387 46.0799C34.0352 46.1605 36.5138 46.2834 37.9328 46.5867C38.9962 46.8094 39.7038 47.4199 39.8816 48.6754C40.819 55.3716 44.8944 58.0055 47.3211 58.5738C47.7472 58.6736 48.0102 58.9578 47.9954 59.4684C47.9769 59.956 47.7064 60.6241 43.9385 60.7048L43.9348 60.7086Z" fill="white"/>
6
+ <path d="M34.2464 66.6527C31.8345 66.7564 29.4744 66.2534 28.8001 66.1305C25.9622 65.6084 23.5836 64.7061 21.5459 63.3661C16.6665 60.1639 13.7211 54.5082 13.3691 47.812C13.2802 46.2224 13.0838 43.1853 16.7406 43.4157C18.2485 43.5002 20.6419 44.2527 22.3276 44.7557C24.4209 45.3624 25.4324 47.0364 25.4324 48.6913C25.4324 58.1327 33.3333 64.1667 37.0833 64.1667C37.9429 64.1667 38.3333 64.4452 38.3333 65C38.3333 65.4167 37.9439 66.4953 34.2501 66.6566L34.2464 66.6527Z" fill="white"/>
7
+ <path d="M21.6602 38.9073C20.2338 38.6424 18.8408 38.0319 17.4848 37.6825C13.2908 36.6036 14.0058 32.2188 14.3986 31.017C18.2146 19.3755 30.3298 15.4822 40.1071 14.4417C49.3138 13.4626 58.9467 14.219 67.92 16.8068C68.561 16.9835 70.3282 17.425 69.9466 18.5001C69.565 19.5752 68.5017 18.8265 58.7133 18.6038C55.4863 18.5308 52.263 18.742 49.0286 19.2565C43.4786 20.1319 37.773 21.948 33.1863 25.7799C30.9744 27.6344 29.0293 29.9996 27.7289 32.7948C27.3881 33.5281 27.1213 34.2615 26.8916 34.9948C26.6582 35.7704 25.7838 39.6637 21.6639 38.9112L21.6602 38.9073Z" fill="white"/>
8
+ <path d="M45.1315 41.1541C45.9169 37.5104 48.75 32.0831 59.5833 32.0831C60.8333 32.0831 61.25 32.4998 61.25 32.9165C61.25 33.3331 60.6669 33.7498 60 33.7498C53.4172 33.7498 51.3261 37.7906 49.8071 41.9297C49.3181 43.262 48.2029 43.4617 46.8061 43.2236C45.828 43.0432 44.7647 42.9241 45.1315 41.1541Z" fill="white"/>
9
+ </svg>