n8n-nodes-base 2.12.0 → 2.13.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 (123) hide show
  1. package/dist/credentials/BaserowApi.credentials.d.ts +6 -1
  2. package/dist/credentials/BaserowApi.credentials.d.ts.map +1 -1
  3. package/dist/credentials/BaserowApi.credentials.js +42 -0
  4. package/dist/credentials/BaserowApi.credentials.js.map +1 -1
  5. package/dist/credentials/BaserowTokenApi.credentials.d.ts +10 -0
  6. package/dist/credentials/BaserowTokenApi.credentials.d.ts.map +1 -0
  7. package/dist/credentials/BaserowTokenApi.credentials.js +42 -0
  8. package/dist/credentials/BaserowTokenApi.credentials.js.map +1 -0
  9. package/dist/known/credentials.json +7 -0
  10. package/dist/node-definitions/.nodes-hash +1 -1
  11. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/index.ts +3 -1
  12. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/index.schema.js +22 -0
  13. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/index.ts +15 -0
  14. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_base/index.schema.js +22 -0
  15. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_base/index.ts +15 -0
  16. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_base/operation_get_many.schema.js +25 -0
  17. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_base/operation_get_many.ts +45 -0
  18. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_base/operation_get_schema.schema.js +23 -0
  19. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_base/operation_get_schema.ts +29 -0
  20. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/index.schema.js +30 -0
  21. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/index.ts +27 -0
  22. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_create.schema.js +26 -0
  23. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_create.ts +58 -0
  24. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_delete_record.schema.js +25 -0
  25. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_delete_record.ts +38 -0
  26. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_get.schema.js +26 -0
  27. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_get.ts +48 -0
  28. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_search.schema.js +29 -0
  29. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_search.ts +85 -0
  30. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_update.schema.js +26 -0
  31. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_update.ts +57 -0
  32. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_upsert.schema.js +26 -0
  33. package/dist/node-definitions/nodes/n8n-nodes-base/airtable/v22/resource_record/operation_upsert.ts +57 -0
  34. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/index.ts +3 -1
  35. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/index.schema.js +6 -0
  36. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/index.ts +9 -0
  37. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_batch_create.schema.js +27 -0
  38. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_batch_create.ts +74 -0
  39. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_batch_delete.schema.js +27 -0
  40. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_batch_delete.ts +51 -0
  41. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_batch_update.schema.js +27 -0
  42. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_batch_update.ts +73 -0
  43. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_create.schema.js +2 -1
  44. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_create.ts +4 -0
  45. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_delete.schema.js +3 -2
  46. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_delete.ts +4 -0
  47. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_get.schema.js +3 -2
  48. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_get.ts +4 -0
  49. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_get_all.schema.js +2 -1
  50. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_get_all.ts +5 -1
  51. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_update.schema.js +2 -1
  52. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v1/resource_row/operation_update.ts +4 -0
  53. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/index.schema.js +18 -0
  54. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/index.ts +10 -0
  55. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/index.schema.js +34 -0
  56. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/index.ts +33 -0
  57. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_batch_create.schema.js +27 -0
  58. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_batch_create.ts +74 -0
  59. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_batch_delete.schema.js +27 -0
  60. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_batch_delete.ts +51 -0
  61. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_batch_update.schema.js +27 -0
  62. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_batch_update.ts +73 -0
  63. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_create.schema.js +27 -0
  64. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_create.ts +61 -0
  65. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_delete.schema.js +25 -0
  66. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_delete.ts +38 -0
  67. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_get.schema.js +25 -0
  68. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_get.ts +38 -0
  69. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_get_all.schema.js +27 -0
  70. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_get_all.ts +92 -0
  71. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_update.schema.js +28 -0
  72. package/dist/node-definitions/nodes/n8n-nodes-base/baserow/v11/resource_row/operation_update.ts +65 -0
  73. package/dist/node-definitions/nodes/n8n-nodes-base/googleAnalytics/v2/resource_report/operation_get.ts +2 -2
  74. package/dist/node-definitions/nodes/n8n-nodes-base/microsoftOutlook/v2/resource_event/operation_create.ts +2 -2
  75. package/dist/nodes/Airtable/Airtable.node.d.ts.map +1 -1
  76. package/dist/nodes/Airtable/Airtable.node.js +2 -1
  77. package/dist/nodes/Airtable/Airtable.node.js.map +1 -1
  78. package/dist/nodes/Airtable/test/v2/node/helpers.d.ts +1 -1
  79. package/dist/nodes/Airtable/test/v2/node/helpers.d.ts.map +1 -1
  80. package/dist/nodes/Airtable/test/v2/node/helpers.js +4 -3
  81. package/dist/nodes/Airtable/test/v2/node/helpers.js.map +1 -1
  82. package/dist/nodes/Airtable/v2/actions/record/get.operation.d.ts.map +1 -1
  83. package/dist/nodes/Airtable/v2/actions/record/get.operation.js +9 -2
  84. package/dist/nodes/Airtable/v2/actions/record/get.operation.js.map +1 -1
  85. package/dist/nodes/Airtable/v2/actions/record/search.operation.d.ts.map +1 -1
  86. package/dist/nodes/Airtable/v2/actions/record/search.operation.js +5 -2
  87. package/dist/nodes/Airtable/v2/actions/record/search.operation.js.map +1 -1
  88. package/dist/nodes/Airtable/v2/actions/versionDescription.js +1 -1
  89. package/dist/nodes/Airtable/v2/actions/versionDescription.js.map +1 -1
  90. package/dist/nodes/Airtable/v2/helpers/utils.d.ts +1 -3
  91. package/dist/nodes/Airtable/v2/helpers/utils.d.ts.map +1 -1
  92. package/dist/nodes/Airtable/v2/helpers/utils.js +5 -4
  93. package/dist/nodes/Airtable/v2/helpers/utils.js.map +1 -1
  94. package/dist/nodes/Airtable/v2/transport/index.d.ts.map +1 -1
  95. package/dist/nodes/Airtable/v2/transport/index.js +1 -2
  96. package/dist/nodes/Airtable/v2/transport/index.js.map +1 -1
  97. package/dist/nodes/Baserow/Baserow.node.d.ts.map +1 -1
  98. package/dist/nodes/Baserow/Baserow.node.js +184 -27
  99. package/dist/nodes/Baserow/Baserow.node.js.map +1 -1
  100. package/dist/nodes/Baserow/GenericFunctions.d.ts +5 -9
  101. package/dist/nodes/Baserow/GenericFunctions.d.ts.map +1 -1
  102. package/dist/nodes/Baserow/GenericFunctions.js +12 -36
  103. package/dist/nodes/Baserow/GenericFunctions.js.map +1 -1
  104. package/dist/nodes/Baserow/OperationDescription.d.ts.map +1 -1
  105. package/dist/nodes/Baserow/OperationDescription.js +371 -53
  106. package/dist/nodes/Baserow/OperationDescription.js.map +1 -1
  107. package/dist/nodes/Baserow/types.d.ts +1 -6
  108. package/dist/nodes/Baserow/types.d.ts.map +1 -1
  109. package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.d.ts.map +1 -1
  110. package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js +20 -28
  111. package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js.map +1 -1
  112. package/dist/nodes/Merge/v3/helpers/sandbox-utils.d.ts +3 -3
  113. package/dist/nodes/Merge/v3/helpers/sandbox-utils.d.ts.map +1 -1
  114. package/dist/nodes/Merge/v3/helpers/sandbox-utils.js +43 -5
  115. package/dist/nodes/Merge/v3/helpers/sandbox-utils.js.map +1 -1
  116. package/dist/nodes/Notion/shared/constants.d.ts +4 -4
  117. package/dist/nodes/Notion/shared/constants.d.ts.map +1 -1
  118. package/dist/nodes/Notion/shared/constants.js +2 -2
  119. package/dist/nodes/Notion/shared/constants.js.map +1 -1
  120. package/dist/typecheck.tsbuildinfo +1 -1
  121. package/dist/types/credentials.json +2 -1
  122. package/dist/types/nodes.json +7 -7
  123. package/package.json +12 -11
@@ -1,8 +1,13 @@
1
- import type { ICredentialType, INodeProperties } from 'n8n-workflow';
1
+ import type { IAuthenticateGeneric, ICredentialDataDecryptedObject, ICredentialTestRequest, ICredentialType, IHttpRequestHelper, INodeProperties } from 'n8n-workflow';
2
2
  export declare class BaserowApi implements ICredentialType {
3
3
  name: string;
4
4
  displayName: string;
5
5
  documentationUrl: string;
6
6
  properties: INodeProperties[];
7
+ preAuthentication(this: IHttpRequestHelper, credentials: ICredentialDataDecryptedObject): Promise<{
8
+ jwtToken: string;
9
+ }>;
10
+ authenticate: IAuthenticateGeneric;
11
+ test: ICredentialTestRequest;
7
12
  }
8
13
  //# sourceMappingURL=BaserowApi.credentials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaserowApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/BaserowApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIrE,qBAAa,UAAW,YAAW,eAAe;IACjD,IAAI,SAAgB;IAEpB,WAAW,SAAiB;IAE5B,gBAAgB,SAAa;IAE7B,UAAU,EAAE,eAAe,EAAE,CAsB3B;CACF"}
1
+ {"version":3,"file":"BaserowApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/BaserowApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,MAAM,cAAc,CAAC;AAItB,qBAAa,UAAW,YAAW,eAAe;IACjD,IAAI,SAAgB;IAEpB,WAAW,SAAiB;IAE5B,gBAAgB,SAAa;IAE7B,UAAU,EAAE,eAAe,EAAE,CAuC3B;IAEI,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,8BAA8B;;;IAa7F,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAK1B;CACF"}
@@ -7,17 +7,33 @@ class BaserowApi {
7
7
  displayName = 'Baserow API';
8
8
  documentationUrl = 'baserow';
9
9
  properties = [
10
+ {
11
+ displayName: "This type of connection (Username & Password) is deprecated. Please create a new credential of type 'Baserow Token API' instead.",
12
+ name: 'deprecated',
13
+ type: 'notice',
14
+ default: '',
15
+ },
10
16
  {
11
17
  displayName: 'Host',
12
18
  name: 'host',
13
19
  type: 'string',
14
20
  default: 'https://api.baserow.io',
15
21
  },
22
+ {
23
+ displayName: 'Session Token',
24
+ name: 'jwtToken',
25
+ type: 'hidden',
26
+ typeOptions: {
27
+ expirable: true,
28
+ },
29
+ default: '',
30
+ },
16
31
  {
17
32
  displayName: 'Username',
18
33
  name: 'username',
19
34
  type: 'string',
20
35
  default: '',
36
+ description: 'Email address you use to login to Baserow',
21
37
  },
22
38
  {
23
39
  displayName: 'Password',
@@ -29,6 +45,32 @@ class BaserowApi {
29
45
  },
30
46
  },
31
47
  ];
48
+ async preAuthentication(credentials) {
49
+ const host = credentials.host.replace(/\/$/, '');
50
+ const { token } = (await this.helpers.httpRequest({
51
+ method: 'POST',
52
+ url: `${host}/api/user/token-auth/`,
53
+ body: {
54
+ username: credentials.username,
55
+ password: credentials.password,
56
+ },
57
+ }));
58
+ return { jwtToken: token };
59
+ }
60
+ authenticate = {
61
+ type: 'generic',
62
+ properties: {
63
+ headers: {
64
+ Authorization: '=JWT {{$credentials.jwtToken}}',
65
+ },
66
+ },
67
+ };
68
+ test = {
69
+ request: {
70
+ baseURL: '={{$credentials.host}}',
71
+ url: '/api/applications/',
72
+ },
73
+ };
32
74
  }
33
75
  exports.BaserowApi = BaserowApi;
34
76
  //# sourceMappingURL=BaserowApi.credentials.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaserowApi.credentials.js","sourceRoot":"","sources":["../../credentials/BaserowApi.credentials.ts"],"names":[],"mappings":";;;AAEA,2DAA2D;AAE3D,MAAa,UAAU;IACtB,IAAI,GAAG,YAAY,CAAC;IAEpB,WAAW,GAAG,aAAa,CAAC;IAE5B,gBAAgB,GAAG,SAAS,CAAC;IAE7B,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wBAAwB;SACjC;QACD;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACX;QACD;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;SACD;KACD,CAAC;CACF;AA9BD,gCA8BC"}
1
+ {"version":3,"file":"BaserowApi.credentials.js","sourceRoot":"","sources":["../../credentials/BaserowApi.credentials.ts"],"names":[],"mappings":";;;AASA,2DAA2D;AAE3D,MAAa,UAAU;IACtB,IAAI,GAAG,YAAY,CAAC;IAEpB,WAAW,GAAG,aAAa,CAAC;IAE5B,gBAAgB,GAAG,SAAS,CAAC;IAE7B,UAAU,GAAsB;QAC/B;YACC,WAAW,EACV,kIAAkI;YACnI,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACX;QACD;YACC,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wBAAwB;SACjC;QACD;YACC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACZ,SAAS,EAAE,IAAI;aACf;YACD,OAAO,EAAE,EAAE;SACX;QACD;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,2CAA2C;SACxD;QACD;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;SACD;KACD,CAAC;IAEF,KAAK,CAAC,iBAAiB,CAA2B,WAA2C;QAC5F,MAAM,IAAI,GAAI,WAAW,CAAC,IAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACjD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,uBAAuB;YACnC,IAAI,EAAE;gBACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC9B;SACD,CAAC,CAAsB,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,GAAyB;QACpC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,aAAa,EAAE,gCAAgC;aAC/C;SACD;KACD,CAAC;IAEF,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,oBAAoB;SACzB;KACD,CAAC;CACF;AA5ED,gCA4EC"}
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class BaserowTokenApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
10
+ //# sourceMappingURL=BaserowTokenApi.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaserowTokenApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/BaserowTokenApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,eAAgB,YAAW,eAAe;IACtD,IAAI,SAAqB;IAEzB,WAAW,SAAuB;IAElC,gBAAgB,SAAa;IAE7B,UAAU,EAAE,eAAe,EAAE,CAkB3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAK1B;CACF"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaserowTokenApi = void 0;
4
+ class BaserowTokenApi {
5
+ name = 'baserowTokenApi';
6
+ displayName = 'Baserow Token API';
7
+ documentationUrl = 'baserow';
8
+ properties = [
9
+ {
10
+ displayName: 'Host',
11
+ name: 'host',
12
+ type: 'string',
13
+ default: 'https://api.baserow.io',
14
+ },
15
+ {
16
+ displayName: 'Database Token',
17
+ name: 'token',
18
+ type: 'string',
19
+ default: '',
20
+ typeOptions: {
21
+ password: true,
22
+ },
23
+ description: 'In Baserow, click on top left corner, My settings, Database tokens, Create new.',
24
+ },
25
+ ];
26
+ authenticate = {
27
+ type: 'generic',
28
+ properties: {
29
+ headers: {
30
+ Authorization: '=Token {{$credentials.token}}',
31
+ },
32
+ },
33
+ };
34
+ test = {
35
+ request: {
36
+ baseURL: '={{$credentials.host}}',
37
+ url: '/api/database/tables/all-tables/',
38
+ },
39
+ };
40
+ }
41
+ exports.BaserowTokenApi = BaserowTokenApi;
42
+ //# sourceMappingURL=BaserowTokenApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaserowTokenApi.credentials.js","sourceRoot":"","sources":["../../credentials/BaserowTokenApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,eAAe;IAC3B,IAAI,GAAG,iBAAiB,CAAC;IAEzB,WAAW,GAAG,mBAAmB,CAAC;IAElC,gBAAgB,GAAG,SAAS,CAAC;IAE7B,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wBAAwB;SACjC;QACD;YACC,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,WAAW,EACV,iFAAiF;SAClF;KACD,CAAC;IAEF,YAAY,GAAyB;QACpC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,aAAa,EAAE,+BAA+B;aAC9C;SACD;KACD,CAAC;IAEF,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,kCAAkC;SACvC;KACD,CAAC;CACF;AA1CD,0CA0CC"}
@@ -214,6 +214,13 @@
214
214
  "baserow"
215
215
  ]
216
216
  },
217
+ "baserowTokenApi": {
218
+ "className": "BaserowTokenApi",
219
+ "sourcePath": "dist/credentials/BaserowTokenApi.credentials.js",
220
+ "supportedNodes": [
221
+ "baserow"
222
+ ]
223
+ },
217
224
  "beeminderApi": {
218
225
  "className": "BeeminderApi",
219
226
  "sourcePath": "dist/credentials/BeeminderApi.credentials.js",
@@ -1 +1 @@
1
- 9129ce20e9f01441d2e017f0e4318cec2a692ea2be2dc2765c5461c884164ad9
1
+ 8adfe457d96dc5c59be3a304ad476cd16fa9284bc1ee2b1da2f0f25e94b7fbf5
@@ -4,13 +4,15 @@
4
4
  * Re-exports all version-specific types and provides combined union type.
5
5
  */
6
6
 
7
+ import type { AirtableV22Node } from './v22';
7
8
  import type { AirtableV21Node } from './v21';
8
9
  import type { AirtableV2Node } from './v2';
9
10
  import type { AirtableV1Node } from './v1';
10
11
 
12
+ export * from './v22';
11
13
  export * from './v21';
12
14
  export * from './v2';
13
15
  export * from './v1';
14
16
 
15
17
  // Combined union type for all versions
16
- export type AirtableNode = AirtableV21Node | AirtableV2Node | AirtableV1Node;
18
+ export type AirtableNode = AirtableV22Node | AirtableV21Node | AirtableV2Node | AirtableV1Node;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Airtable Node - Version 2.2 - Zod Schema Factory
3
+ * Exports a factory that unions all discriminator schemas.
4
+ *
5
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
6
+ * by the schema-validator, not imported from external files.
7
+ *
8
+ * @generated - CommonJS JavaScript for runtime loading
9
+ */
10
+
11
+ const getBaseSchema = require('./resource_base/index.schema');
12
+ const getRecordSchema = require('./resource_record/index.schema');
13
+
14
+ module.exports = function getSchema(helpers) {
15
+ const { parameters, z } = helpers;
16
+ // Apply discriminator default if not set
17
+ const effectiveParams = parameters.resource === undefined ? { ...parameters, resource: 'record' } : parameters;
18
+ return z.union([
19
+ getBaseSchema({ ...helpers, parameters: effectiveParams }),
20
+ getRecordSchema({ ...helpers, parameters: effectiveParams }),
21
+ ]);
22
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Airtable Node - Version 2.2
3
+ * Re-exports all discriminator combinations.
4
+ */
5
+
6
+ import type { AirtableV22BaseNode } from './resource_base';
7
+ import type { AirtableV22RecordNode } from './resource_record';
8
+
9
+ export * from './resource_base';
10
+ export * from './resource_record';
11
+
12
+ export type AirtableV22Node =
13
+ | AirtableV22BaseNode
14
+ | AirtableV22RecordNode
15
+ ;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Airtable - Base Resource - Zod Schema Factory
3
+ * Exports a factory that unions all operation schemas for this resource.
4
+ *
5
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
6
+ * by the schema-validator, not imported from external files.
7
+ *
8
+ * @generated - CommonJS JavaScript for runtime loading
9
+ */
10
+
11
+ const getGetManySchema = require('./operation_get_many.schema');
12
+ const getGetSchemaSchema = require('./operation_get_schema.schema');
13
+
14
+ module.exports = function getSchema(helpers) {
15
+ const { parameters, z } = helpers;
16
+ // Apply operation default if not set
17
+ const effectiveParams = parameters.operation === undefined ? { ...parameters, operation: 'get' } : parameters;
18
+ return z.union([
19
+ getGetManySchema({ ...helpers, parameters: effectiveParams }),
20
+ getGetSchemaSchema({ ...helpers, parameters: effectiveParams }),
21
+ ]);
22
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Airtable - Base Resource
3
+ * Re-exports all operation types for this resource.
4
+ */
5
+
6
+ import type { AirtableV22BaseGetManyNode } from './operation_get_many';
7
+ import type { AirtableV22BaseGetSchemaNode } from './operation_get_schema';
8
+
9
+ export * from './operation_get_many';
10
+ export * from './operation_get_schema';
11
+
12
+ export type AirtableV22BaseNode =
13
+ | AirtableV22BaseGetManyNode
14
+ | AirtableV22BaseGetSchemaNode
15
+ ;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Airtable Node - Version 2.2 - Zod Schema
3
+ * Discriminator: resource=base, operation=getMany
4
+ *
5
+ * Use .parse() for strict validation or .safeParse() for error handling.
6
+ *
7
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
8
+ * by the schema-validator, not imported from external files.
9
+ *
10
+ * @generated - CommonJS JavaScript for runtime loading
11
+ */
12
+
13
+ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema, resolveSchema }) {
14
+
15
+ return z.object({
16
+ parameters: z.object({
17
+ resource: z.literal('base'),
18
+ operation: z.literal('getMany'),
19
+ authentication: z.union([z.literal('airtableTokenApi'), z.literal('airtableOAuth2Api'), expressionSchema]).optional(),
20
+ returnAll: booleanOrExpression.optional(),
21
+ limit: resolveSchema({ parameters, schema: numberOrExpression, required: false, displayOptions: {"show":{"returnAll":[false]}}, defaults: {"returnAll":true} }),
22
+ options: z.object({ permissionLevel: z.array(z.union([z.literal('comment'), z.literal('create'), z.literal('edit'), z.literal('none'), z.literal('read')])).optional() }).optional(),
23
+ }).optional(),
24
+ });
25
+ };
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Airtable Node - Version 2.2
3
+ * Discriminator: resource=base, operation=getMany
4
+ */
5
+
6
+
7
+ interface Credentials {
8
+ airtableTokenApi: CredentialReference;
9
+ airtableOAuth2Api: CredentialReference;
10
+ }
11
+
12
+ /** List all the bases */
13
+ export type AirtableV22BaseGetManyParams = {
14
+ resource: 'base';
15
+ operation: 'getMany';
16
+ authentication?: 'airtableTokenApi' | 'airtableOAuth2Api' | Expression<string>;
17
+ /**
18
+ * Whether to return all results or only up to a given limit
19
+ * @default true
20
+ */
21
+ returnAll?: boolean | Expression<boolean>;
22
+ /**
23
+ * Max number of results to return
24
+ * @displayOptions.show { returnAll: [false] }
25
+ * @default 100
26
+ */
27
+ limit?: number | Expression<number>;
28
+ /**
29
+ * Options
30
+ * @default {}
31
+ */
32
+ options?: {
33
+ /** Filter the returned bases by one or more permission levels
34
+ * @default []
35
+ */
36
+ permissionLevel?: Array<'comment' | 'create' | 'edit' | 'none' | 'read'>;
37
+ };
38
+ };
39
+
40
+ export type AirtableV22BaseGetManyNode = {
41
+ type: 'n8n-nodes-base.airtable';
42
+ version: 2.2;
43
+ credentials?: Credentials;
44
+ config: NodeConfig<AirtableV22BaseGetManyParams>;
45
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Airtable Node - Version 2.2 - Zod Schema
3
+ * Discriminator: resource=base, operation=getSchema
4
+ *
5
+ * Use .parse() for strict validation or .safeParse() for error handling.
6
+ *
7
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
8
+ * by the schema-validator, not imported from external files.
9
+ *
10
+ * @generated - CommonJS JavaScript for runtime loading
11
+ */
12
+
13
+ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema }) {
14
+
15
+ return z.object({
16
+ parameters: z.object({
17
+ resource: z.literal('base'),
18
+ operation: z.literal('getSchema'),
19
+ authentication: z.union([z.literal('airtableTokenApi'), z.literal('airtableOAuth2Api'), expressionSchema]).optional(),
20
+ base: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
21
+ }).optional(),
22
+ });
23
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Airtable Node - Version 2.2
3
+ * Discriminator: resource=base, operation=getSchema
4
+ */
5
+
6
+
7
+ interface Credentials {
8
+ airtableTokenApi: CredentialReference;
9
+ airtableOAuth2Api: CredentialReference;
10
+ }
11
+
12
+ /** Get the schema of the tables in a base */
13
+ export type AirtableV22BaseGetSchemaParams = {
14
+ resource: 'base';
15
+ operation: 'getSchema';
16
+ authentication?: 'airtableTokenApi' | 'airtableOAuth2Api' | Expression<string>;
17
+ /**
18
+ * The Airtable Base to retrieve the schema from
19
+ * @default {"mode":"list","value":""}
20
+ */
21
+ base?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
22
+ };
23
+
24
+ export type AirtableV22BaseGetSchemaNode = {
25
+ type: 'n8n-nodes-base.airtable';
26
+ version: 2.2;
27
+ credentials?: Credentials;
28
+ config: NodeConfig<AirtableV22BaseGetSchemaParams>;
29
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Airtable - Record Resource - Zod Schema Factory
3
+ * Exports a factory that unions all operation schemas for this resource.
4
+ *
5
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
6
+ * by the schema-validator, not imported from external files.
7
+ *
8
+ * @generated - CommonJS JavaScript for runtime loading
9
+ */
10
+
11
+ const getCreateSchema = require('./operation_create.schema');
12
+ const getDeleteRecordSchema = require('./operation_delete_record.schema');
13
+ const getGetSchema = require('./operation_get.schema');
14
+ const getSearchSchema = require('./operation_search.schema');
15
+ const getUpdateSchema = require('./operation_update.schema');
16
+ const getUpsertSchema = require('./operation_upsert.schema');
17
+
18
+ module.exports = function getSchema(helpers) {
19
+ const { parameters, z } = helpers;
20
+ // Apply operation default if not set
21
+ const effectiveParams = parameters.operation === undefined ? { ...parameters, operation: 'get' } : parameters;
22
+ return z.union([
23
+ getCreateSchema({ ...helpers, parameters: effectiveParams }),
24
+ getDeleteRecordSchema({ ...helpers, parameters: effectiveParams }),
25
+ getGetSchema({ ...helpers, parameters: effectiveParams }),
26
+ getSearchSchema({ ...helpers, parameters: effectiveParams }),
27
+ getUpdateSchema({ ...helpers, parameters: effectiveParams }),
28
+ getUpsertSchema({ ...helpers, parameters: effectiveParams }),
29
+ ]);
30
+ };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Airtable - Record Resource
3
+ * Re-exports all operation types for this resource.
4
+ */
5
+
6
+ import type { AirtableV22RecordCreateNode } from './operation_create';
7
+ import type { AirtableV22RecordDeleteRecordNode } from './operation_delete_record';
8
+ import type { AirtableV22RecordGetNode } from './operation_get';
9
+ import type { AirtableV22RecordSearchNode } from './operation_search';
10
+ import type { AirtableV22RecordUpdateNode } from './operation_update';
11
+ import type { AirtableV22RecordUpsertNode } from './operation_upsert';
12
+
13
+ export * from './operation_create';
14
+ export * from './operation_delete_record';
15
+ export * from './operation_get';
16
+ export * from './operation_search';
17
+ export * from './operation_update';
18
+ export * from './operation_upsert';
19
+
20
+ export type AirtableV22RecordNode =
21
+ | AirtableV22RecordCreateNode
22
+ | AirtableV22RecordDeleteRecordNode
23
+ | AirtableV22RecordGetNode
24
+ | AirtableV22RecordSearchNode
25
+ | AirtableV22RecordUpdateNode
26
+ | AirtableV22RecordUpsertNode
27
+ ;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Airtable Node - Version 2.2 - Zod Schema
3
+ * Discriminator: resource=record, operation=create
4
+ *
5
+ * Use .parse() for strict validation or .safeParse() for error handling.
6
+ *
7
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
8
+ * by the schema-validator, not imported from external files.
9
+ *
10
+ * @generated - CommonJS JavaScript for runtime loading
11
+ */
12
+
13
+ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema }) {
14
+
15
+ return z.object({
16
+ parameters: z.object({
17
+ resource: z.literal('record').default('record'),
18
+ operation: z.literal('create'),
19
+ authentication: z.union([z.literal('airtableTokenApi'), z.literal('airtableOAuth2Api'), expressionSchema]).optional(),
20
+ base: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
21
+ table: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
22
+ columns: resourceMapperValueSchema.optional(),
23
+ options: z.object({ typecast: booleanOrExpression.optional(), ignoreFields: stringOrExpression.optional(), updateAllMatches: booleanOrExpression.optional() }).optional(),
24
+ }).optional(),
25
+ });
26
+ };
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Airtable Node - Version 2.2
3
+ * Discriminator: resource=record, operation=create
4
+ */
5
+
6
+
7
+ interface Credentials {
8
+ airtableTokenApi: CredentialReference;
9
+ airtableOAuth2Api: CredentialReference;
10
+ }
11
+
12
+ /** Create a new record in a table */
13
+ export type AirtableV22RecordCreateParams = {
14
+ resource: 'record';
15
+ operation: 'create';
16
+ authentication?: 'airtableTokenApi' | 'airtableOAuth2Api' | Expression<string>;
17
+ /**
18
+ * Base
19
+ * @default {"mode":"list","value":""}
20
+ */
21
+ base?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
22
+ /**
23
+ * Table
24
+ * @default {"mode":"list","value":""}
25
+ */
26
+ table?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
27
+ /**
28
+ * Columns
29
+ * @default {"mappingMode":"defineBelow","value":null}
30
+ */
31
+ columns?: string;
32
+ /**
33
+ * Options
34
+ * @default {}
35
+ */
36
+ options?: {
37
+ /** Whether the Airtable API should attempt mapping of string values for linked records & select options
38
+ * @default false
39
+ */
40
+ typecast?: boolean | Expression<boolean>;
41
+ /** Comma-separated list of fields in input to ignore when updating
42
+ * @displayOptions.show { /columns.mappingMode: ["autoMapInputData"] }
43
+ */
44
+ ignoreFields?: string | Expression<string> | PlaceholderValue;
45
+ /** Whether to update all records matching the value in the "Column to Match On". If not set, only the first matching record will be updated.
46
+ * @displayOptions.show { /operation: ["update", "upsert"] }
47
+ * @default false
48
+ */
49
+ updateAllMatches?: boolean | Expression<boolean>;
50
+ };
51
+ };
52
+
53
+ export type AirtableV22RecordCreateNode = {
54
+ type: 'n8n-nodes-base.airtable';
55
+ version: 2.2;
56
+ credentials?: Credentials;
57
+ config: NodeConfig<AirtableV22RecordCreateParams>;
58
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Airtable Node - Version 2.2 - Zod Schema
3
+ * Discriminator: resource=record, operation=deleteRecord
4
+ *
5
+ * Use .parse() for strict validation or .safeParse() for error handling.
6
+ *
7
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
8
+ * by the schema-validator, not imported from external files.
9
+ *
10
+ * @generated - CommonJS JavaScript for runtime loading
11
+ */
12
+
13
+ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema }) {
14
+
15
+ return z.object({
16
+ parameters: z.object({
17
+ resource: z.literal('record').default('record'),
18
+ operation: z.literal('deleteRecord'),
19
+ authentication: z.union([z.literal('airtableTokenApi'), z.literal('airtableOAuth2Api'), expressionSchema]).optional(),
20
+ base: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
21
+ table: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
22
+ id: stringOrExpression.optional(),
23
+ }).optional(),
24
+ });
25
+ };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Airtable Node - Version 2.2
3
+ * Discriminator: resource=record, operation=deleteRecord
4
+ */
5
+
6
+
7
+ interface Credentials {
8
+ airtableTokenApi: CredentialReference;
9
+ airtableOAuth2Api: CredentialReference;
10
+ }
11
+
12
+ /** Delete a record from a table */
13
+ export type AirtableV22RecordDeleteRecordParams = {
14
+ resource: 'record';
15
+ operation: 'deleteRecord';
16
+ authentication?: 'airtableTokenApi' | 'airtableOAuth2Api' | Expression<string>;
17
+ /**
18
+ * Base
19
+ * @default {"mode":"list","value":""}
20
+ */
21
+ base?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
22
+ /**
23
+ * Table
24
+ * @default {"mode":"list","value":""}
25
+ */
26
+ table?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
27
+ /**
28
+ * ID of the record to delete. &lt;a href="https://support.airtable.com/docs/record-id" target="_blank"&gt;More info&lt;/a&gt;.
29
+ */
30
+ id?: string | Expression<string> | PlaceholderValue;
31
+ };
32
+
33
+ export type AirtableV22RecordDeleteRecordNode = {
34
+ type: 'n8n-nodes-base.airtable';
35
+ version: 2.2;
36
+ credentials?: Credentials;
37
+ config: NodeConfig<AirtableV22RecordDeleteRecordParams>;
38
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Airtable Node - Version 2.2 - Zod Schema
3
+ * Discriminator: resource=record, operation=get
4
+ *
5
+ * Use .parse() for strict validation or .safeParse() for error handling.
6
+ *
7
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
8
+ * by the schema-validator, not imported from external files.
9
+ *
10
+ * @generated - CommonJS JavaScript for runtime loading
11
+ */
12
+
13
+ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema }) {
14
+
15
+ return z.object({
16
+ parameters: z.object({
17
+ resource: z.literal('record').default('record'),
18
+ operation: z.literal('get').default('get'),
19
+ authentication: z.union([z.literal('airtableTokenApi'), z.literal('airtableOAuth2Api'), expressionSchema]).optional(),
20
+ base: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
21
+ table: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
22
+ id: stringOrExpression.optional(),
23
+ options: z.object({ downloadFields: z.array(z.string()).optional() }).optional(),
24
+ }).optional(),
25
+ });
26
+ };