n8n-nodes-the-mastodon 0.0.18 → 0.0.20

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 (40) hide show
  1. package/README.md +16 -1
  2. package/dist/__tests__/account.test.js.map +1 -1
  3. package/dist/__tests__/mastodon-length.test.d.ts +1 -0
  4. package/dist/__tests__/mastodon-length.test.js +34 -0
  5. package/dist/__tests__/mastodon-length.test.js.map +1 -0
  6. package/dist/__tests__/rate-limit-queue.test.js +16 -6
  7. package/dist/__tests__/rate-limit-queue.test.js.map +1 -1
  8. package/dist/__tests__/status.test.js +56 -0
  9. package/dist/__tests__/status.test.js.map +1 -1
  10. package/dist/__tests__/url-extraction.test.d.ts +1 -0
  11. package/dist/__tests__/url-extraction.test.js +64 -0
  12. package/dist/__tests__/url-extraction.test.js.map +1 -0
  13. package/dist/__tests__/url-truncation.test.d.ts +1 -0
  14. package/dist/__tests__/url-truncation.test.js +75 -0
  15. package/dist/__tests__/url-truncation.test.js.map +1 -0
  16. package/dist/credentials/MastodonOAuth2Api.credentials.d.ts +1 -1
  17. package/dist/credentials/MastodonOAuth2Api.credentials.js +31 -26
  18. package/dist/credentials/MastodonOAuth2Api.credentials.js.map +1 -1
  19. package/dist/nodes/Mastodon/Mastodon_Methods.d.ts +12 -9
  20. package/dist/nodes/Mastodon/Mastodon_Methods.js +71 -99
  21. package/dist/nodes/Mastodon/Mastodon_Methods.js.map +1 -1
  22. package/dist/nodes/Mastodon/account/AccountMethods.d.ts +1 -1
  23. package/dist/nodes/Mastodon/account/AccountMethods.js +9 -9
  24. package/dist/nodes/Mastodon/account/AccountMethods.js.map +1 -1
  25. package/dist/nodes/Mastodon/apps/AppsMethods.d.ts +1 -1
  26. package/dist/nodes/Mastodon/apps/AppsMethods.js +2 -2
  27. package/dist/nodes/Mastodon/apps/AppsMethods.js.map +1 -1
  28. package/dist/nodes/Mastodon/authentication/AuthenticationMethods.d.ts +1 -1
  29. package/dist/nodes/Mastodon/authentication/AuthenticationMethods.js +3 -3
  30. package/dist/nodes/Mastodon/authentication/AuthenticationMethods.js.map +1 -1
  31. package/dist/nodes/Mastodon/bookmarks/BookmarksMethods.d.ts +4 -4
  32. package/dist/nodes/Mastodon/bookmarks/BookmarksMethods.js +3 -3
  33. package/dist/nodes/Mastodon/bookmarks/BookmarksMethods.js.map +1 -1
  34. package/dist/nodes/Mastodon/status/StatusMethods.d.ts +1 -1
  35. package/dist/nodes/Mastodon/status/StatusMethods.js +19 -9
  36. package/dist/nodes/Mastodon/status/StatusMethods.js.map +1 -1
  37. package/dist/nodes/Mastodon/status/index.js +16 -19
  38. package/dist/nodes/Mastodon/status/index.js.map +1 -1
  39. package/dist/package.json +1 -1
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -80,7 +80,22 @@ Before using the Mastodon node, you must configure OAuth2 credentials for your t
80
80
  - **Scope**: `read write push`
81
81
  - Save and **Connect**. Authorize when prompted.
82
82
 
83
- ![](./docs/credentials-setup.png)
83
+ ### Note about deprecated scopes and server compatibility
84
+
85
+ Some Mastodon instances have deprecated or removed scopes such as `follow` (and may not accept `push` in some configurations). If you see an error like:
86
+
87
+ ```text
88
+ The requested scope is invalid, unknown, or malformed.
89
+ ```
90
+
91
+ It usually means the authorization URL requested scopes the server doesn't support. If that happens you can:
92
+
93
+ - Edit the **Scope** value in the credential to only request `read write` before initiating the Connect flow.
94
+ - Or, after the Connect URL opens, remove unsupported scopes from the `scope` query param (e.g. change `read write follow push` → `read write`) and continue.
95
+
96
+ The node will try to prefer the currently granted scopes when available to avoid requesting deprecated/unsupported scopes automatically.
97
+
98
+ ![Credentials setup screenshot](./docs/credentials-setup.png)
84
99
 
85
100
  ---
86
101
 
@@ -1 +1 @@
1
- {"version":3,"file":"account.test.js","sourceRoot":"","sources":["../../__tests__/account.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAG3D,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,IAAI,IAAc,CAAC;IACnB,IAAI,GAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACf,IAAI,GAAG,IAAI,wBAAQ,EAAE,CAAC;QACtB,GAAG,GAAG;YACL,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC3B,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC3C,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;aACrC,CAAC;YACF,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;YAC3B,OAAO,EAAE,GAAG,EAAE,CACb,CAAC;gBACA,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChB,UAAU,EAAE,EAAE;aACd,CAAQ;SACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;;QACxC,GAAG,CAAC,gBAA8B,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE;YAChE,IAAI,KAAK,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YAC3C,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAO,QAAQ,CAAC;YAC3C,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAClD,GAAG,CAAC,OAAQ,CAAC,aAA2B,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAwB,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,OAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACtD,mBAAmB,EACnB,MAAM,CAAC,gBAAgB,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;SAC1D,CAAC,CACF,CAAC;QACF,MAAM,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,0CAAG,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,GAAG,CAAC,gBAA8B,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE;YAChE,IAAI,KAAK,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YAC3C,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAO,UAAU,CAAC;YAC7C,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAwB,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"account.test.js","sourceRoot":"","sources":["../../__tests__/account.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAG3D,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,IAAI,IAAc,CAAC;IACnB,IAAI,GAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACf,IAAI,GAAG,IAAI,wBAAQ,EAAE,CAAC;QACtB,GAAG,GAAG;YACL,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC3B,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAA6C;YAChF,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC3C,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;aACrC,CAAC;YACF,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;YAC3B,OAAO,EAAE,GAAG,EAAE,CACb,CAAC;gBACA,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChB,UAAU,EAAE,EAAE;aACd,CAAwD;SAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;;QACxC,GAAG,CAAC,gBAA8B,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE;YAChE,IAAI,KAAK,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YAC3C,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAO,QAAQ,CAAC;YAC3C,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAClD,GAAG,CAAC,OAAQ,CAAC,aAA2B,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAwB,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,OAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACtD,mBAAmB,EACnB,MAAM,CAAC,gBAAgB,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;SAC1D,CAAC,CACF,CAAC;QACF,MAAM,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,0CAAG,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,GAAG,CAAC,gBAA8B,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE;YAChE,IAAI,KAAK,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YAC3C,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAO,UAAU,CAAC;YAC7C,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAwB,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Mastodon_Methods_1 = require("../nodes/Mastodon/Mastodon_Methods");
4
+ describe('ValidationUtils.calculateMastodonLength', () => {
5
+ it('should return 0 for empty string', () => {
6
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength('')).toBe(0);
7
+ });
8
+ it('should return 23 for text that is only a URL', () => {
9
+ const text = 'https://example.com/very/long/path';
10
+ const length = Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(text);
11
+ expect(length).toBe(23);
12
+ });
13
+ it('should return actual length when no URLs present', () => {
14
+ const text = 'Hello world';
15
+ const length = Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(text);
16
+ expect(length).toBe(11);
17
+ });
18
+ it('should count short URL as 23 characters', () => {
19
+ const text = 'Check https://example.com out';
20
+ const length = Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(text);
21
+ expect(length).toBe(33);
22
+ });
23
+ it('should count long URL as only 23 characters', () => {
24
+ const text = 'Read https://example.com/very/long/path/to/article/with/many/segments?param1=value1&param2=value2';
25
+ const length = Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(text);
26
+ expect(length).toBe(28);
27
+ });
28
+ it('should count multiple URLs correctly', () => {
29
+ const text = 'Check https://example.com and https://test.org for info';
30
+ const length = Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(text);
31
+ expect(length).toBe(66);
32
+ });
33
+ });
34
+ //# sourceMappingURL=mastodon-length.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mastodon-length.test.js","sourceRoot":"","sources":["../../__tests__/mastodon-length.test.ts"],"names":[],"mappings":";;AAAA,yEAAqE;AAErE,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACxD,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,kCAAe,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,oCAAoC,CAAC;QAClD,MAAM,MAAM,GAAG,kCAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,IAAI,GAAG,aAAa,CAAC;QAE3B,MAAM,MAAM,GAAG,kCAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAElD,MAAM,IAAI,GAAG,+BAA+B,CAAC;QAE7C,MAAM,MAAM,GAAG,kCAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAI7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QAEtD,MAAM,IAAI,GAAG,mGAAmG,CAAC;QAEjH,MAAM,MAAM,GAAG,kCAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAI7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,yDAAyD,CAAC;QAEvE,MAAM,MAAM,GAAG,kCAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAI7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -32,6 +32,8 @@ describe('RequestQueue Rate Limit Handling', () => {
32
32
  jest.useRealTimers();
33
33
  });
34
34
  it('should handle rate limit properly', async () => {
35
+ if (!queue)
36
+ throw new Error('RequestQueue instance not initialized');
35
37
  const resetTime = Math.floor(Date.now() / 1000) + 2;
36
38
  queue.updateRateLimits(0, resetTime);
37
39
  const startTime = Date.now();
@@ -45,6 +47,8 @@ describe('RequestQueue Rate Limit Handling', () => {
45
47
  it('should process requests sequentially', async () => {
46
48
  const results = [];
47
49
  const promises = [];
50
+ if (!queue)
51
+ throw new Error('RequestQueue instance not initialized');
48
52
  for (let i = 0; i < 5; i++) {
49
53
  promises.push(queue.add(async () => {
50
54
  await new Promise(resolve => setTimeout(resolve, 100));
@@ -56,6 +60,8 @@ describe('RequestQueue Rate Limit Handling', () => {
56
60
  expect(results).toEqual([0, 1, 2, 3, 4]);
57
61
  });
58
62
  it('should track rate limit usage correctly', () => {
63
+ if (!queue)
64
+ throw new Error('RequestQueue instance not initialized');
59
65
  queue.updateRateLimits(10, Math.floor(Date.now() / 1000) + 300);
60
66
  const status = queue.getStatus();
61
67
  expect(status.rateLimitRemaining).toBe(10);
@@ -63,16 +69,20 @@ describe('RequestQueue Rate Limit Handling', () => {
63
69
  expect(status.processing).toBe(false);
64
70
  });
65
71
  it('should have queue overflow protection', () => {
66
- const MAX_QUEUE_SIZE = queue.MAX_QUEUE_SIZE;
72
+ if (!queue)
73
+ throw new Error('RequestQueue instance not initialized');
74
+ const internal = queue;
75
+ const MAX_QUEUE_SIZE = internal.MAX_QUEUE_SIZE;
67
76
  expect(MAX_QUEUE_SIZE).toBe(1000);
68
- const status = queue.getStatus();
69
- expect(status.queueLength).toBeDefined();
70
- expect(typeof status.queueLength).toBe('number');
77
+ expect(typeof internal.getStatus).toBe('function');
71
78
  });
72
79
  it('should have timeout mechanism for queued requests', () => {
73
- const REQUEST_TIMEOUT = queue.REQUEST_TIMEOUT;
80
+ if (!queue)
81
+ throw new Error('RequestQueue instance not initialized');
82
+ const internal = queue;
83
+ const REQUEST_TIMEOUT = internal.REQUEST_TIMEOUT;
74
84
  expect(REQUEST_TIMEOUT).toBe(60000);
75
- expect(typeof queue.cleanupExpiredRequests).toBe('function');
85
+ expect(typeof internal.cleanupExpiredRequests).toBe('function');
76
86
  });
77
87
  });
78
88
  //# sourceMappingURL=rate-limit-queue.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit-queue.test.js","sourceRoot":"","sources":["../../__tests__/rate-limit-queue.test.ts"],"names":[],"mappings":";;AAAA,yEAAkE;AAGlE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,WAAW,EAAE;QACZ,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KAChB;CACD,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IACjD,IAAI,KAAU,CAAC;IAEf,UAAU,CAAC,GAAG,EAAE;QAEd,+BAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3C,KAAK,GAAG,+BAAY,CAAC,WAAW,EAAE,CAAC;QAEnC,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QAEd,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAClD,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QAEb,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAClD,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACA,+BAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAElD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAErC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAG7B,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;QAGrC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC;QAGpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CACZ,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBACpB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO,CAAC,CAAC;YACV,CAAC,CAAC,CACF,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAG5B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAClD,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAEhD,MAAM,cAAc,GAAI,KAAa,CAAC,cAAc,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAGlC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAE5D,MAAM,eAAe,GAAI,KAAa,CAAC,eAAe,CAAC;QACvD,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAGpC,MAAM,CAAC,OAAQ,KAAa,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"rate-limit-queue.test.js","sourceRoot":"","sources":["../../__tests__/rate-limit-queue.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  const Mastodon_node_1 = require("../nodes/Mastodon/Mastodon.node");
4
37
  describe('Mastodon Node - Status', () => {
@@ -160,5 +193,28 @@ describe('Mastodon Node - Status', () => {
160
193
  }));
161
194
  expect((_b = result === null || result === void 0 ? void 0 : result[0]) === null || _b === void 0 ? void 0 : _b[0].json).toEqual(unboostResponse);
162
195
  });
196
+ it('should count URLs as 23 characters no matter their length, per Mastodon character counting ', async () => {
197
+ const { ValidationUtils } = await Promise.resolve().then(() => __importStar(require('../nodes/Mastodon/Mastodon_Methods')));
198
+ const text = 'https://example.com/' + 'a'.repeat(500);
199
+ ctx.getNodeParameter.mockImplementation((param) => {
200
+ if (param === 'resource')
201
+ return 'status';
202
+ if (param === 'operation')
203
+ return 'create';
204
+ if (param === 'status')
205
+ return text;
206
+ if (param === 'additionalFields')
207
+ return {};
208
+ return undefined;
209
+ });
210
+ ctx.getInputData.mockReturnValue([{ json: {} }]);
211
+ ctx.helpers.requestOAuth2.mockResolvedValue({ id: '1', content: text });
212
+ await node.execute.call(ctx);
213
+ const requestCall = ctx.helpers.requestOAuth2.mock.calls[0][1];
214
+ const sentStatus = requestCall.body.status;
215
+ expect(sentStatus).toContain(text);
216
+ const effectiveLength = ValidationUtils.calculateMastodonLength(sentStatus);
217
+ expect(effectiveLength).toEqual(23);
218
+ });
163
219
  });
164
220
  //# sourceMappingURL=status.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.test.js","sourceRoot":"","sources":["../../__tests__/status.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.test.js","sourceRoot":"","sources":["../../__tests__/status.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Mastodon_Methods_1 = require("../nodes/Mastodon/Mastodon_Methods");
4
+ describe('ValidationUtils.extractUrls', () => {
5
+ it('should return empty array when no URLs present', () => {
6
+ const text = 'Just some regular text without any links';
7
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
8
+ expect(urls).toHaveLength(0);
9
+ });
10
+ it('should extract a simple HTTP URL', () => {
11
+ const text = 'Check out https://example.com for more info';
12
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
13
+ expect(urls).toHaveLength(1);
14
+ expect(urls[0]).toEqual({
15
+ url: 'https://example.com',
16
+ startIndex: 10,
17
+ endIndex: 29,
18
+ });
19
+ });
20
+ it('should extract multiple URLs', () => {
21
+ const text = 'Visit https://example.com and http://test.org today';
22
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
23
+ expect(urls).toHaveLength(2);
24
+ expect(urls[0].url).toBe('https://example.com');
25
+ expect(urls[1].url).toBe('http://test.org');
26
+ });
27
+ it('should extract URL with path and query parameters', () => {
28
+ const text = 'See https://example.com/path/to/page?id=123&ref=test#section2';
29
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
30
+ expect(urls).toHaveLength(1);
31
+ expect(urls[0].url).toBe('https://example.com/path/to/page?id=123&ref=test#section2');
32
+ });
33
+ it('should extract URL at the start of text', () => {
34
+ const text = 'https://example.com is a great site';
35
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
36
+ expect(urls).toHaveLength(1);
37
+ expect(urls[0].startIndex).toBe(0);
38
+ });
39
+ it('should extract URL at the end of text', () => {
40
+ const text = 'Visit https://example.com';
41
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
42
+ expect(urls).toHaveLength(1);
43
+ expect(urls[0].endIndex).toBe(text.length);
44
+ });
45
+ it('should not include trailing punctuation in extracted URL', () => {
46
+ const text = 'Check this out: https://example.com!';
47
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
48
+ expect(urls).toHaveLength(1);
49
+ expect(urls[0].url).toBe('https://example.com');
50
+ });
51
+ it('should extract URL inside parentheses without trailing paren', () => {
52
+ const text = 'See (https://example.com/page) for details';
53
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
54
+ expect(urls).toHaveLength(1);
55
+ expect(urls[0].url).toBe('https://example.com/page');
56
+ });
57
+ it('should extract URL with port and fragment', () => {
58
+ const text = 'Connect to https://example.com:8080/path#section';
59
+ const urls = Mastodon_Methods_1.ValidationUtils.extractUrls(text);
60
+ expect(urls).toHaveLength(1);
61
+ expect(urls[0].url).toBe('https://example.com:8080/path#section');
62
+ });
63
+ });
64
+ //# sourceMappingURL=url-extraction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-extraction.test.js","sourceRoot":"","sources":["../../__tests__/url-extraction.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Mastodon_Methods_1 = require("../nodes/Mastodon/Mastodon_Methods");
4
+ describe('ValidationUtils.truncateWithUrlPreservation', () => {
5
+ it('should raise an error when passed non-string input', () => {
6
+ expect(() => Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(123, 500))
7
+ .toThrow('Expected string parameter, got number');
8
+ });
9
+ it('should not truncate text within the character limit', () => {
10
+ const text = 'Short text with https://example.com';
11
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
12
+ expect(result).toBe(text);
13
+ });
14
+ it('should truncate plain text over the character characters', () => {
15
+ const text = 'a'.repeat(600);
16
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
17
+ expect(result.length).toBe(500);
18
+ expect(result).toBe('a'.repeat(500));
19
+ });
20
+ it('should preserve complete URL when truncating text after it', () => {
21
+ const prefix = 'a'.repeat(460);
22
+ const url = 'https://example.com/very/long/path/that/is/way/over/23/characters/long';
23
+ const suffix = 'b'.repeat(50);
24
+ const text = `${prefix} ${url} ${suffix}`;
25
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
26
+ expect(result).toBe(text.substring(0, 547));
27
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(text)).toBe(535);
28
+ });
29
+ it('should truncate *before* URLs if we need to truncate a URL', () => {
30
+ const prefix = 'a'.repeat(495);
31
+ const url = 'https://example.com/long/path';
32
+ const text = `${prefix} ${url}`;
33
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
34
+ expect(result).toEqual(`${prefix} `);
35
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(result)).toBe(496);
36
+ });
37
+ it('should preserve first URL and truncate after second URL', () => {
38
+ const text = 'Check https://example.com and https://test.org ' + 'x'.repeat(500);
39
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
40
+ expect(result).not.toBe(text);
41
+ expect(result).toBe(text.substring(0, 500 - 4 - 7));
42
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(result)).toBe(500);
43
+ });
44
+ it('should handle URL at the end of long text', () => {
45
+ const prefix = 'a'.repeat(476);
46
+ const url = 'https://example.com/some/path';
47
+ const text = `${prefix} ${url}`;
48
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
49
+ expect(result).toBe(text);
50
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(text)).toBe(500);
51
+ });
52
+ it('should handle internationalized domain names (punycode) correctly', () => {
53
+ const prefix = 'a'.repeat(450);
54
+ const idn = 'https://xn--d1acpjx3f.xn--p1ai/path';
55
+ const text = `${prefix} ${idn} ${'b'.repeat(100)}`;
56
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
57
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(result)).toBeLessThanOrEqual(500);
58
+ });
59
+ it('should not treat protocol-less text as URL (no leading http)', () => {
60
+ const text = 'Visit example.com/test today';
61
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 20);
62
+ expect(result.length).toBe(20);
63
+ });
64
+ it('should handle adjacent punctuation after URL', () => {
65
+ const text = 'See https://example.com,' + 'x'.repeat(480);
66
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
67
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(result)).toBeLessThanOrEqual(500);
68
+ });
69
+ it('should handle multiple consecutive URLs and truncate appropriately', () => {
70
+ const text = 'https://a.com https://b.com https://c.com ' + 'x'.repeat(470);
71
+ const result = Mastodon_Methods_1.ValidationUtils.truncateWithUrlPreservation(text, 500);
72
+ expect(Mastodon_Methods_1.ValidationUtils.calculateMastodonLength(result)).toBeLessThanOrEqual(500);
73
+ });
74
+ });
75
+ //# sourceMappingURL=url-truncation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-truncation.test.js","sourceRoot":"","sources":["../../__tests__/url-truncation.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ICredentialType, INodeProperties, Icon, IAuthenticate, ICredentialTestRequest, IDataObject, IHttpRequestHelper, ICredentialDataDecryptedObject } from 'n8n-workflow';
1
+ import { IAuthenticate, Icon, ICredentialDataDecryptedObject, ICredentialTestRequest, ICredentialType, IDataObject, IHttpRequestHelper, INodeProperties } from 'n8n-workflow';
2
2
  export declare class MastodonOAuth2Api implements ICredentialType {
3
3
  name: string;
4
4
  extends: string[];
@@ -60,7 +60,7 @@ class MastodonOAuth2Api {
60
60
  displayName: 'Scope',
61
61
  name: 'scope',
62
62
  type: 'hidden',
63
- default: 'read write follow push',
63
+ default: 'read write',
64
64
  description: 'The scopes to request. Multiple scopes can be separated by spaces.',
65
65
  },
66
66
  {
@@ -87,7 +87,7 @@ class MastodonOAuth2Api {
87
87
  response_type: 'code',
88
88
  client_id: '={{$credentials.clientId}}',
89
89
  redirect_uri: '={{$credentials.redirectUri}}',
90
- scope: 'read write follow push',
90
+ scope: '={{$credentials.currentScopes || $credentials.scope || "read write"}}',
91
91
  state: '={{Date.now()}}',
92
92
  force_login: true,
93
93
  },
@@ -114,9 +114,9 @@ class MastodonOAuth2Api {
114
114
  ],
115
115
  };
116
116
  }
117
- static storePKCE(clientId, code_verifier) {
117
+ static storePKCE(clientId, codeVerifier) {
118
118
  MastodonOAuth2Api.pkceStorage.set(clientId, {
119
- code_verifier,
119
+ codeVerifier,
120
120
  expires: Date.now() + 10 * 60 * 1000,
121
121
  });
122
122
  }
@@ -129,13 +129,14 @@ class MastodonOAuth2Api {
129
129
  return undefined;
130
130
  }
131
131
  MastodonOAuth2Api.pkceStorage.delete(clientId);
132
- return stored.code_verifier;
132
+ return stored.codeVerifier;
133
133
  }
134
134
  async preAuthentication(credentials) {
135
135
  var _a;
136
136
  const mastodonCredentials = credentials;
137
137
  const { code_verifier, code_challenge } = await (0, pkceWrapper_1.generatePKCE)();
138
- MastodonOAuth2Api.storePKCE(mastodonCredentials.clientId, code_verifier);
138
+ const codeVerifier = code_verifier;
139
+ MastodonOAuth2Api.storePKCE(mastodonCredentials.clientId, codeVerifier);
139
140
  try {
140
141
  const response = await fetch(`${mastodonCredentials.baseUrl}/.well-known/oauth-authorization-server`);
141
142
  if (response.ok) {
@@ -155,18 +156,17 @@ class MastodonOAuth2Api {
155
156
  async postAuthentication(credentials) {
156
157
  const mastodonCredentials = credentials;
157
158
  let accessToken;
158
- if (typeof credentials === 'object' &&
159
- credentials !== null &&
160
- 'oauth2' in credentials &&
161
- typeof credentials.oauth2 === 'object' &&
162
- credentials.oauth2 !== null &&
163
- 'accessToken' in credentials.oauth2) {
164
- accessToken = credentials.oauth2.accessToken;
159
+ const creds = credentials;
160
+ if (creds &&
161
+ typeof creds === 'object' &&
162
+ 'oauth2' in creds &&
163
+ typeof creds['oauth2'] === 'object' &&
164
+ creds['oauth2'] !== null &&
165
+ 'accessToken' in creds['oauth2']) {
166
+ accessToken = creds['oauth2']['accessToken'];
165
167
  }
166
- else if (typeof credentials === 'object' &&
167
- credentials !== null &&
168
- 'accessToken' in credentials) {
169
- accessToken = credentials.accessToken;
168
+ else if (creds && typeof creds === 'object' && 'accessToken' in creds) {
169
+ accessToken = creds['accessToken'];
170
170
  }
171
171
  if (!accessToken)
172
172
  return {};
@@ -191,18 +191,23 @@ class MastodonOAuth2Api {
191
191
  return {};
192
192
  }
193
193
  async applyCredentials(requestOptions) {
194
- var _a;
195
194
  const credentials = requestOptions.credentials;
196
- const code_verifier = MastodonOAuth2Api.getStoredPKCE(credentials.clientId);
197
- if (code_verifier) {
198
- requestOptions.body.code_verifier = code_verifier;
195
+ const codeVerifier = MastodonOAuth2Api.getStoredPKCE(credentials.clientId);
196
+ if (codeVerifier) {
197
+ if (!requestOptions.body || typeof requestOptions.body !== 'object') {
198
+ requestOptions.body = {};
199
+ }
200
+ requestOptions.body.code_verifier = codeVerifier;
199
201
  }
200
- if (!credentials.oauth2 || !credentials.oauth2.accessToken) {
201
- const accessToken = ((_a = credentials.oauthTokenData) === null || _a === void 0 ? void 0 : _a.access_token) ||
202
- credentials.access_token ||
203
- credentials.accessToken;
202
+ const credRecord = credentials;
203
+ const oauth2 = credRecord['oauth2'];
204
+ if (!oauth2 || !('accessToken' in oauth2)) {
205
+ const oauthTokenData = credRecord['oauthTokenData'];
206
+ const accessToken = (oauthTokenData === null || oauthTokenData === void 0 ? void 0 : oauthTokenData['access_token']) ||
207
+ credRecord['access_token'] ||
208
+ credRecord['accessToken'];
204
209
  if (accessToken) {
205
- credentials.oauth2 = { accessToken };
210
+ credRecord['oauth2'] = { accessToken };
206
211
  }
207
212
  }
208
213
  return requestOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"MastodonOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/MastodonOAuth2Api.credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MastodonOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/MastodonOAuth2Api.credentials.ts"],"names":[],"mappings":"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"}
@@ -27,18 +27,21 @@ export declare class RequestQueue {
27
27
  export declare function handleApiRequest(this: IExecuteFunctions, method: string, endpoint: string, body?: IDataObject, qs?: IDataObject, options?: IDataObject, retryAttempt?: number): Promise<any>;
28
28
  export declare function uploadAttachments(this: IExecuteFunctions, items: INodeExecutionData[], binaryProperties: string[], url: string, i: number): Promise<IDataObject[]>;
29
29
  export declare class ValidationUtils {
30
+ static readonly MASTODON_MAX_STATUS_LENGTH = 500;
31
+ static readonly MASTODON_URL_LENGTH = 23;
32
+ private static readonly URL_REGEX;
33
+ static extractUrls(text: string): Array<{
34
+ url: string;
35
+ startIndex: number;
36
+ endIndex: number;
37
+ }>;
38
+ static calculateMastodonLength(text: string): number;
39
+ static truncateWithUrlPreservation(text: string, maxLength?: number): string;
30
40
  static validateRequiredParameters(params: {
31
- [key: string]: any;
41
+ [key: string]: unknown;
32
42
  }, required: string[]): void;
33
- static sanitizeStringParam(value: any, maxLength?: number): string;
34
- static sanitizeNumberParam(value: any, min?: number, max?: number): number;
35
- static validateUrl(url: string): void;
36
- static validateDateParam(value: string): Date;
37
- static sanitizeVisibility(visibility: string): string;
43
+ static sanitizeStringParam(value: unknown, maxLength?: number): string;
38
44
  }
39
- export declare function validateParams(requiredParams?: string[]): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
40
- export declare function withRetry(maxRetries?: number, baseDelay?: number): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
41
- export declare function batchRequests<T>(this: IExecuteFunctions, requests: Array<() => Promise<T>>, batchSize?: number): Promise<T[]>;
42
45
  export declare function bulkOperation<T>(this: IExecuteFunctions, items: INodeExecutionData[], operation: (item: INodeExecutionData, index: number) => Promise<T>, options?: {
43
46
  batchSize?: number;
44
47
  continueOnError?: boolean;