n8n-nodes-base 1.103.1 → 1.104.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 (131) hide show
  1. package/dist/credentials/BeeminderApi.credentials.d.ts.map +1 -1
  2. package/dist/credentials/BeeminderApi.credentials.js +1 -7
  3. package/dist/credentials/BeeminderApi.credentials.js.map +1 -1
  4. package/dist/credentials/BeeminderOAuth2Api.credentials.d.ts +9 -0
  5. package/dist/credentials/BeeminderOAuth2Api.credentials.d.ts.map +1 -0
  6. package/dist/credentials/BeeminderOAuth2Api.credentials.js +51 -0
  7. package/dist/credentials/BeeminderOAuth2Api.credentials.js.map +1 -0
  8. package/dist/credentials/CustomerIoApi.credentials.js +2 -2
  9. package/dist/credentials/CustomerIoApi.credentials.js.map +1 -1
  10. package/dist/credentials/MicrosoftTeamsOAuth2Api.credentials.d.ts.map +1 -1
  11. package/dist/credentials/MicrosoftTeamsOAuth2Api.credentials.js +1 -1
  12. package/dist/credentials/MicrosoftTeamsOAuth2Api.credentials.js.map +1 -1
  13. package/dist/credentials/SlackApi.credentials.d.ts.map +1 -1
  14. package/dist/credentials/SlackApi.credentials.js +19 -0
  15. package/dist/credentials/SlackApi.credentials.js.map +1 -1
  16. package/dist/credentials/ZscalerZiaApi.credentials.js +2 -2
  17. package/dist/credentials/ZscalerZiaApi.credentials.js.map +1 -1
  18. package/dist/known/credentials.json +10 -0
  19. package/dist/nodes/Airtable/v2/transport/index.js +2 -2
  20. package/dist/nodes/Airtable/v2/transport/index.js.map +1 -1
  21. package/dist/nodes/Beeminder/Beeminder.node.d.ts.map +1 -1
  22. package/dist/nodes/Beeminder/Beeminder.node.functions.d.ts +106 -5
  23. package/dist/nodes/Beeminder/Beeminder.node.functions.d.ts.map +1 -1
  24. package/dist/nodes/Beeminder/Beeminder.node.functions.js +87 -10
  25. package/dist/nodes/Beeminder/Beeminder.node.functions.js.map +1 -1
  26. package/dist/nodes/Beeminder/Beeminder.node.js +1034 -59
  27. package/dist/nodes/Beeminder/Beeminder.node.js.map +1 -1
  28. package/dist/nodes/Beeminder/GenericFunctions.d.ts +1 -1
  29. package/dist/nodes/Beeminder/GenericFunctions.d.ts.map +1 -1
  30. package/dist/nodes/Beeminder/GenericFunctions.js +49 -4
  31. package/dist/nodes/Beeminder/GenericFunctions.js.map +1 -1
  32. package/dist/nodes/ClickUp/ClickUp.node.d.ts.map +1 -1
  33. package/dist/nodes/ClickUp/ClickUp.node.js +9 -1
  34. package/dist/nodes/ClickUp/ClickUp.node.js.map +1 -1
  35. package/dist/nodes/ClickUp/TaskDescription.d.ts.map +1 -1
  36. package/dist/nodes/ClickUp/TaskDescription.js +26 -0
  37. package/dist/nodes/ClickUp/TaskDescription.js.map +1 -1
  38. package/dist/nodes/Code/ExecutionError.d.ts +1 -1
  39. package/dist/nodes/Code/ExecutionError.d.ts.map +1 -1
  40. package/dist/nodes/Code/ExecutionError.js +2 -2
  41. package/dist/nodes/Code/ExecutionError.js.map +1 -1
  42. package/dist/nodes/Code/ValidationError.d.ts +1 -1
  43. package/dist/nodes/Code/ValidationError.d.ts.map +1 -1
  44. package/dist/nodes/Code/ValidationError.js +2 -2
  45. package/dist/nodes/Code/ValidationError.js.map +1 -1
  46. package/dist/nodes/Code/errors/WrappedExecutionError.d.ts +1 -1
  47. package/dist/nodes/Code/errors/WrappedExecutionError.d.ts.map +1 -1
  48. package/dist/nodes/Code/errors/WrappedExecutionError.js +2 -2
  49. package/dist/nodes/Code/errors/WrappedExecutionError.js.map +1 -1
  50. package/dist/nodes/Ftp/Ftp.node.d.ts.map +1 -1
  51. package/dist/nodes/Ftp/Ftp.node.js +64 -1
  52. package/dist/nodes/Ftp/Ftp.node.js.map +1 -1
  53. package/dist/nodes/Google/BigQuery/v2/actions/database/executeQuery.operation.d.ts.map +1 -1
  54. package/dist/nodes/Google/BigQuery/v2/actions/database/executeQuery.operation.js +61 -0
  55. package/dist/nodes/Google/BigQuery/v2/actions/database/executeQuery.operation.js.map +1 -1
  56. package/dist/nodes/Google/Gmail/GmailTrigger.node.d.ts.map +1 -1
  57. package/dist/nodes/Google/Gmail/GmailTrigger.node.js +4 -1
  58. package/dist/nodes/Google/Gmail/GmailTrigger.node.js.map +1 -1
  59. package/dist/nodes/Google/Sheet/GoogleSheets.node.d.ts.map +1 -1
  60. package/dist/nodes/Google/Sheet/GoogleSheets.node.js +2 -1
  61. package/dist/nodes/Google/Sheet/GoogleSheets.node.js.map +1 -1
  62. package/dist/nodes/Google/Sheet/v2/actions/sheet/appendOrUpdate.operation.d.ts.map +1 -1
  63. package/dist/nodes/Google/Sheet/v2/actions/sheet/appendOrUpdate.operation.js +36 -1
  64. package/dist/nodes/Google/Sheet/v2/actions/sheet/appendOrUpdate.operation.js.map +1 -1
  65. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.d.ts.map +1 -1
  66. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js +36 -1
  67. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js.map +1 -1
  68. package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js +1 -1
  69. package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js.map +1 -1
  70. package/dist/nodes/Mailcheck/GenericFunctions.js +2 -2
  71. package/dist/nodes/Mailcheck/GenericFunctions.js.map +1 -1
  72. package/dist/nodes/Merge/v2/utils.js +4 -4
  73. package/dist/nodes/Merge/v2/utils.js.map +1 -1
  74. package/dist/nodes/MongoDb/MongoDb.node.d.ts.map +1 -1
  75. package/dist/nodes/MongoDb/MongoDb.node.js +314 -204
  76. package/dist/nodes/MongoDb/MongoDb.node.js.map +1 -1
  77. package/dist/nodes/MongoDb/MongoDbProperties.d.ts.map +1 -1
  78. package/dist/nodes/MongoDb/MongoDbProperties.js +135 -0
  79. package/dist/nodes/MongoDb/MongoDbProperties.js.map +1 -1
  80. package/dist/nodes/Postgres/PostgresTrigger.functions.js +5 -5
  81. package/dist/nodes/Postgres/PostgresTrigger.functions.js.map +1 -1
  82. package/dist/nodes/Postgres/v1/genericFunctions.js +7 -7
  83. package/dist/nodes/Postgres/v1/genericFunctions.js.map +1 -1
  84. package/dist/nodes/Postgres/v2/helpers/utils.d.ts +3 -3
  85. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.d.ts.map +1 -1
  86. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js +13 -2
  87. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js.map +1 -1
  88. package/dist/nodes/RespondToWebhook/utils/binary.d.ts.map +1 -1
  89. package/dist/nodes/RespondToWebhook/utils/binary.js +9 -2
  90. package/dist/nodes/RespondToWebhook/utils/binary.js.map +1 -1
  91. package/dist/nodes/Slack/SlackTrigger.node.d.ts.map +1 -1
  92. package/dist/nodes/Slack/SlackTrigger.node.js +9 -2
  93. package/dist/nodes/Slack/SlackTrigger.node.js.map +1 -1
  94. package/dist/nodes/Slack/SlackTriggerHelpers.d.ts +1 -0
  95. package/dist/nodes/Slack/SlackTriggerHelpers.d.ts.map +1 -1
  96. package/dist/nodes/Slack/SlackTriggerHelpers.js +44 -0
  97. package/dist/nodes/Slack/SlackTriggerHelpers.js.map +1 -1
  98. package/dist/nodes/StopAndError/StopAndError.node.d.ts.map +1 -1
  99. package/dist/nodes/StopAndError/StopAndError.node.js +6 -15
  100. package/dist/nodes/StopAndError/StopAndError.node.js.map +1 -1
  101. package/dist/nodes/StopAndError/utils.d.ts +12 -0
  102. package/dist/nodes/StopAndError/utils.d.ts.map +1 -0
  103. package/dist/nodes/StopAndError/utils.js +31 -0
  104. package/dist/nodes/StopAndError/utils.js.map +1 -0
  105. package/dist/nodes/Transform/utils/utils.js +2 -2
  106. package/dist/nodes/Transform/utils/utils.js.map +1 -1
  107. package/dist/nodes/Venafi/Datacenter/GenericFunctions.js +2 -2
  108. package/dist/nodes/Venafi/Datacenter/GenericFunctions.js.map +1 -1
  109. package/dist/nodes/Webhook/Webhook.node.d.ts.map +1 -1
  110. package/dist/nodes/Webhook/Webhook.node.js +11 -0
  111. package/dist/nodes/Webhook/Webhook.node.js.map +1 -1
  112. package/dist/nodes/Webhook/error.d.ts +1 -1
  113. package/dist/nodes/Webhook/error.d.ts.map +1 -1
  114. package/dist/nodes/Webhook/error.js +2 -2
  115. package/dist/nodes/Webhook/error.js.map +1 -1
  116. package/dist/nodes/Wordpress/PostDescription.d.ts.map +1 -1
  117. package/dist/nodes/Wordpress/PostDescription.js +14 -0
  118. package/dist/nodes/Wordpress/PostDescription.js.map +1 -1
  119. package/dist/nodes/Wordpress/PostInterface.d.ts +1 -0
  120. package/dist/nodes/Wordpress/PostInterface.d.ts.map +1 -1
  121. package/dist/nodes/Wordpress/Wordpress.node.d.ts.map +1 -1
  122. package/dist/nodes/Wordpress/Wordpress.node.js +6 -0
  123. package/dist/nodes/Wordpress/Wordpress.node.js.map +1 -1
  124. package/dist/typecheck.tsbuildinfo +1 -1
  125. package/dist/types/credentials.json +4 -3
  126. package/dist/types/nodes.json +14 -14
  127. package/dist/utils/types.d.ts +8 -0
  128. package/dist/utils/types.d.ts.map +1 -0
  129. package/dist/utils/types.js +57 -0
  130. package/dist/utils/types.js.map +1 -0
  131. package/package.json +8 -6
@@ -0,0 +1,8 @@
1
+ export declare function assertIsNumber(parameterName: string, value: unknown): asserts value is number;
2
+ export declare function assertIsString(parameterName: string, value: unknown): asserts value is string;
3
+ export declare function assertIsArray<T>(parameterName: string, value: unknown, validator: (val: unknown) => val is T): asserts value is T[];
4
+ export declare function assertIsNodeParameters<T>(value: unknown, parameters: Record<string, {
5
+ type: 'string' | 'boolean' | 'number' | 'resource-locator' | 'string[]' | 'number[]' | 'boolean[]' | 'object';
6
+ optional?: boolean;
7
+ }>): asserts value is T;
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../utils/types.ts"],"names":[],"mappings":"AAUA,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAE7F;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAE7F;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC9B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,GACnC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAMtB;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EACvC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,CACjB,MAAM,EACN;IACC,IAAI,EACD,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,kBAAkB,GAClB,UAAU,GACV,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CACD,GACC,OAAO,CAAC,KAAK,IAAI,CAAC,CA8CpB"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertIsNumber = assertIsNumber;
4
+ exports.assertIsString = assertIsString;
5
+ exports.assertIsArray = assertIsArray;
6
+ exports.assertIsNodeParameters = assertIsNodeParameters;
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ function assertIsType(parameterName, value, type) {
9
+ (0, n8n_workflow_1.assert)(typeof value === type, `Parameter "${parameterName}" is not ${type}`);
10
+ }
11
+ function assertIsNumber(parameterName, value) {
12
+ assertIsType(parameterName, value, 'number');
13
+ }
14
+ function assertIsString(parameterName, value) {
15
+ assertIsType(parameterName, value, 'string');
16
+ }
17
+ function assertIsArray(parameterName, value, validator) {
18
+ (0, n8n_workflow_1.assert)(Array.isArray(value), `Parameter "${parameterName}" is not an array`);
19
+ (0, n8n_workflow_1.assert)(value.every(validator), `Parameter "${parameterName}" has elements that don't match expected types`);
20
+ }
21
+ function assertIsNodeParameters(value, parameters) {
22
+ (0, n8n_workflow_1.assert)(typeof value === 'object' && value !== null, 'Value is not a valid object');
23
+ const obj = value;
24
+ Object.keys(parameters).forEach((key) => {
25
+ const param = parameters[key];
26
+ const paramValue = obj[key];
27
+ if (!param.optional && paramValue === undefined) {
28
+ (0, n8n_workflow_1.assert)(false, `Required parameter "${key}" is missing`);
29
+ }
30
+ if (paramValue !== undefined) {
31
+ if (param.type === 'resource-locator') {
32
+ (0, n8n_workflow_1.assert)(typeof paramValue === 'object' &&
33
+ paramValue !== null &&
34
+ '__rl' in paramValue &&
35
+ 'mode' in paramValue &&
36
+ 'value' in paramValue, `Parameter "${key}" is not a valid resource locator object`);
37
+ }
38
+ else if (param.type === 'object') {
39
+ (0, n8n_workflow_1.assert)(typeof paramValue === 'object' && paramValue !== null, `Parameter "${key}" is not a valid object`);
40
+ }
41
+ else if (param.type.endsWith('[]')) {
42
+ const baseType = param.type.slice(0, -2);
43
+ const elementType = baseType === 'string' || baseType === 'number' || baseType === 'boolean'
44
+ ? baseType
45
+ : 'string';
46
+ (0, n8n_workflow_1.assert)(Array.isArray(paramValue), `Parameter "${key}" is not an array`);
47
+ paramValue.forEach((item, index) => {
48
+ (0, n8n_workflow_1.assert)(typeof item === elementType, `Parameter "${key}[${index}]" is not a valid ${elementType}`);
49
+ });
50
+ }
51
+ else {
52
+ (0, n8n_workflow_1.assert)(typeof paramValue === param.type, `Parameter "${key}" is not a valid ${param.type}`);
53
+ }
54
+ }
55
+ });
56
+ }
57
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../utils/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-base",
3
- "version": "1.103.1",
3
+ "version": "1.104.0",
4
4
  "description": "Base nodes of n8n",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -36,6 +36,7 @@
36
36
  "dist/credentials/BannerbearApi.credentials.js",
37
37
  "dist/credentials/BaserowApi.credentials.js",
38
38
  "dist/credentials/BeeminderApi.credentials.js",
39
+ "dist/credentials/BeeminderOAuth2Api.credentials.js",
39
40
  "dist/credentials/BitbucketApi.credentials.js",
40
41
  "dist/credentials/BitlyApi.credentials.js",
41
42
  "dist/credentials/BitlyOAuth2Api.credentials.js",
@@ -857,12 +858,12 @@
857
858
  "@types/rfc2047": "^2.0.1",
858
859
  "@types/sanitize-html": "^2.11.0",
859
860
  "@types/showdown": "^1.9.4",
860
- "@types/ssh2-sftp-client": "^5.1.0",
861
+ "@types/ssh2-sftp-client": "^9.0.5",
861
862
  "@types/uuid": "^10.0.0",
862
863
  "@types/xml2js": "^0.4.14",
863
864
  "eslint-plugin-n8n-nodes-base": "^1.16.3",
864
865
  "@n8n/typescript-config": "1.3.0",
865
- "n8n-core": "1.104.1"
866
+ "n8n-core": "1.105.0"
866
867
  },
867
868
  "dependencies": {
868
869
  "@aws-sdk/client-sso-oidc": "3.808.0",
@@ -925,7 +926,7 @@
925
926
  "showdown": "2.1.0",
926
927
  "simple-git": "3.17.0",
927
928
  "snowflake-sdk": "2.1.0",
928
- "ssh2-sftp-client": "7.2.3",
929
+ "ssh2-sftp-client": "12.0.1",
929
930
  "tmp-promise": "3.0.3",
930
931
  "ts-ics": "1.2.2",
931
932
  "uuid": "10.0.0",
@@ -933,9 +934,10 @@
933
934
  "xml2js": "0.6.2",
934
935
  "xmlhttprequest-ssl": "3.1.0",
935
936
  "@n8n/di": "0.9.0",
936
- "@n8n/config": "1.48.0",
937
+ "@n8n/config": "1.49.0",
938
+ "@n8n/errors": "^0.4.0",
937
939
  "@n8n/imap": "0.14.0",
938
- "n8n-workflow": "1.102.1"
940
+ "n8n-workflow": "1.103.0"
939
941
  },
940
942
  "license": "SEE LICENSE IN LICENSE.md",
941
943
  "homepage": "https://n8n.io",