@textbee/n8n-nodes-textbee 1.1.0 → 1.3.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.
package/README.md CHANGED
@@ -88,8 +88,13 @@ Notes:
88
88
 
89
89
  1. Add a **textbee** node.
90
90
  2. Set Resource to **Message** and Operation to **Send**.
91
- 3. Enter the **Message** and the **Recipients** (E.164 format, for example `+15555550123`, comma-separated).
91
+ 3. Enter the **Message** and the **Recipients** (phone numbers or short codes, comma-separated). International format, for example `+15555550123`, reaches any country. Local numbers and short codes reach recipients in the sending phone's country.
92
92
  4. Optionally pick a **Device**. Without one, textbee uses your default device.
93
+ 5. Optionally pick a **SIM**. **SIM 1** and **SIM 2** are the slots in the phone. **Default (Phone Decides)** sends no SIM choice, so the phone uses its default SIM. An expression that returns `0` (SIM 1) or `1` (SIM 2) also works.
94
+
95
+ If the slot has no active SIM, the message fails with the error code `SIM_SLOT_EMPTY`. textbee never sends it from another SIM. The older **SIM Subscription ID (Older)** field still works, but Android can change that ID after a SIM swap. When you set both, the **SIM** option wins.
96
+
97
+ In **Send Bulk**, each message entry has its own **SIM** field.
93
98
 
94
99
  A successful response means textbee accepted and queued the message. It is not a delivery confirmation. To follow the status, use **Get Many** with the `smsBatchId` filter, or a **textbee Trigger** on **Message Delivered** and **Message Failed**.
95
100
 
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TextbeeApi = void 0;
4
4
  const baseUrl_1 = require("../nodes/Textbee/shared/baseUrl");
5
+ const client_1 = require("../nodes/Textbee/shared/client");
5
6
  class TextbeeApi {
6
7
  constructor() {
7
8
  this.name = 'textbeeApi';
@@ -41,6 +42,7 @@ class TextbeeApi {
41
42
  properties: {
42
43
  headers: {
43
44
  'x-api-key': '={{$credentials.apiKey}}',
45
+ 'x-sdk-client': client_1.CLIENT_NAME,
44
46
  },
45
47
  },
46
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TextbeeApi.credentials.js","sourceRoot":"","sources":["../../credentials/TextbeeApi.credentials.ts"],"names":[],"mappings":";;;AAQA,6DAAoE;AAEpE,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,aAAa,CAAC;QAE5B,SAAI,GAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QAE5F,qBAAgB,GAAG,mDAAmD,CAAC;QAEvE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,oCAAoC;aACjD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EACV,+IAA+I;aAChJ;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,sJAAsJ;gBACvJ,IAAI,EAAE,oCAAoC;aAC1C;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,0BAA0B;iBACvC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAAiB;gBAC1B,GAAG,EAAE,gBAAgB;gBACrB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAxDD,gCAwDC"}
1
+ {"version":3,"file":"TextbeeApi.credentials.js","sourceRoot":"","sources":["../../credentials/TextbeeApi.credentials.ts"],"names":[],"mappings":";;;AAQA,6DAAoE;AACpE,2DAA6D;AAE7D,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,aAAa,CAAC;QAE5B,SAAI,GAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QAE5F,qBAAgB,GAAG,mDAAmD,CAAC;QAEvE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,oCAAoC;aACjD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EACV,+IAA+I;aAChJ;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,sJAAsJ;gBACvJ,IAAI,EAAE,oCAAoC;aAC1C;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,0BAA0B;oBACvC,cAAc,EAAE,oBAAW;iBAC3B;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAAiB;gBAC1B,GAAG,EAAE,gBAAgB;gBACrB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAzDD,gCAyDC"}
@@ -35,7 +35,7 @@ exports.messageSendDescription = [
35
35
  default: '',
36
36
  required: true,
37
37
  placeholder: '+12015550123, +12015550124',
38
- description: 'Phone numbers in E.164 format. Separate multiple recipients with commas. Each recipient counts as one message against your plan.',
38
+ description: 'Phone numbers or short codes. International format, for example +15555550123, reaches any country. Local numbers and short codes reach recipients in the same country as the sending phone. Separate multiple recipients with commas. Each recipient counts as one message against your plan.',
39
39
  displayOptions: {
40
40
  show: showOnlyForMessageSend,
41
41
  },
@@ -60,6 +60,38 @@ exports.messageSendDescription = [
60
60
  },
61
61
  },
62
62
  },
63
+ {
64
+ displayName: 'SIM',
65
+ name: 'simSlotIndex',
66
+ type: 'options',
67
+ options: [
68
+ {
69
+ name: 'Default (Phone Decides)',
70
+ value: '',
71
+ description: 'Do not choose a SIM. The phone uses its default SIM.',
72
+ },
73
+ {
74
+ name: 'SIM 1',
75
+ value: 0,
76
+ },
77
+ {
78
+ name: 'SIM 2',
79
+ value: 1,
80
+ },
81
+ ],
82
+ default: '',
83
+ description: 'Which SIM sends the message, by its slot in the phone. Default lets the phone decide. If the slot has no active SIM, the message fails and is never sent from another SIM. You can also switch to Expression and return 0 for SIM 1 or 1 for SIM 2.',
84
+ displayOptions: {
85
+ show: showOnlyForMessageSend,
86
+ },
87
+ routing: {
88
+ send: {
89
+ type: 'body',
90
+ property: 'simSlotIndex',
91
+ value: `={{ ${descriptions_1.simSlotExpressionBody} }}`,
92
+ },
93
+ },
94
+ },
63
95
  {
64
96
  displayName: 'Additional Fields',
65
97
  name: 'additionalFields',
@@ -71,11 +103,11 @@ exports.messageSendDescription = [
71
103
  },
72
104
  options: [
73
105
  {
74
- displayName: 'SIM Subscription ID',
106
+ displayName: 'SIM Subscription ID (Older)',
75
107
  name: 'simSubscriptionId',
76
108
  type: 'number',
77
109
  default: 0,
78
- description: 'SIM to send from (subscriptionId from the device simInfo). Defaults to the device default SIM. IDs can change after a SIM swap.',
110
+ description: 'Older way to choose a SIM, by its Android subscription ID. The ID can change after a SIM swap. The SIM option is preferred and wins when both are set.',
79
111
  routing: {
80
112
  send: {
81
113
  type: 'body',
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../../nodes/Textbee/resources/message/send.ts"],"names":[],"mappings":";;;AAEA,wDAA2D;AAC3D,4DAAoF;AAEpF,MAAM,sBAAsB,GAAG;IAC9B,SAAS,EAAE,CAAC,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC;AAEW,QAAA,sBAAsB,GAAsB;IACxD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE;YACZ,IAAI,EAAE,CAAC;SACP;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wEAAwE;QACrF,cAAc,EAAE;YACf,IAAI,EAAE,sBAAsB;SAC5B;QACD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,SAAS;aACnB;SACD;KACD;IACD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,4BAA4B;QACzC,WAAW,EACV,kIAAkI;QACnI,cAAc,EAAE;YACf,IAAI,EAAE,sBAAsB;SAC5B;QACD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,4EAA4E;aACnF;SACD;KACD;IACD;QACC,GAAG,+BAAgB;QACnB,cAAc,EAAE;YACf,IAAI,EAAE,sBAAsB;SAC5B;QACD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,0DAA0D;aACjE;SACD;KACD;IACD;QACC,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE,sBAAsB;SAC5B;QACD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EACV,iIAAiI;gBAClI,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,mBAAmB;qBAC7B;iBACD;aACD;YACD;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,oGAAoG;gBACrG,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,aAAa;wBACvB,KAAK,EAAE,4DAA4D;qBACnE;iBACD;aACD;SACD;KACD;IACD;QACC,WAAW,EACV,0JAA0J;QAC3J,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE,sBAAsB;SAC5B;KACD;CACD,CAAC;AAEW,QAAA,kBAAkB,GAAG;IACjC,IAAI,EAAE;QACL,OAAO,EAAE,CAAC,IAAA,6BAAgB,EAAC,WAAW,CAAC,CAAC;KACxC;IACD,OAAO,EAAE;QACR,MAAM,EAAE,MAAe;QACvB,GAAG,EAAE,mBAAmB;KACxB;IACD,MAAM,EAAE;QACP,WAAW,EAAE,oCAAqB;KAClC;CACD,CAAC"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../../nodes/Textbee/resources/message/send.ts"],"names":[],"mappings":"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"}
@@ -45,14 +45,7 @@ exports.messageSendBulkDescription = [
45
45
  default: '',
46
46
  required: true,
47
47
  placeholder: '+12015550123',
48
- description: 'E.164 numbers, comma-separated',
49
- },
50
- {
51
- displayName: 'SIM Subscription ID',
52
- name: 'simSubscriptionId',
53
- type: 'number',
54
- default: 0,
55
- description: 'SIM subscription ID for this entry. Leave at 0 to use the device default SIM.',
48
+ description: 'Phone numbers or short codes, comma-separated. International format, for example +15555550123, reaches any country.',
56
49
  },
57
50
  {
58
51
  displayName: 'Scheduled At',
@@ -61,6 +54,35 @@ exports.messageSendBulkDescription = [
61
54
  default: '',
62
55
  description: 'Optional ISO schedule time (up to 72 hours ahead)',
63
56
  },
57
+ {
58
+ displayName: 'SIM',
59
+ name: 'simSlotIndex',
60
+ type: 'options',
61
+ options: [
62
+ {
63
+ name: 'Default (Phone Decides)',
64
+ value: '',
65
+ description: 'Do not choose a SIM. The phone uses its default SIM.',
66
+ },
67
+ {
68
+ name: 'SIM 1',
69
+ value: 0,
70
+ },
71
+ {
72
+ name: 'SIM 2',
73
+ value: 1,
74
+ },
75
+ ],
76
+ default: '',
77
+ description: 'Which SIM sends the message, by its slot in the phone. Default lets the phone decide. If the slot has no active SIM, the message fails and is never sent from another SIM. You can also switch to Expression and return 0 for SIM 1 or 1 for SIM 2.',
78
+ },
79
+ {
80
+ displayName: 'SIM Subscription ID (Older)',
81
+ name: 'simSubscriptionId',
82
+ type: 'number',
83
+ default: 0,
84
+ description: 'Older way to choose a SIM, by its Android subscription ID. Leave at 0 to skip it. The SIM option is preferred and wins when both are set.',
85
+ },
64
86
  ],
65
87
  },
66
88
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"sendBulk.js","sourceRoot":"","sources":["../../../../../nodes/Textbee/resources/message/sendBulk.ts"],"names":[],"mappings":";;;AAEA,4CAAwD;AACxD,wDAA2D;AAC3D,4DAAoF;AAEpF,MAAM,0BAA0B,GAAG;IAClC,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC;AAEW,QAAA,0BAA0B,GAAsB;IAC5D;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE;YACZ,cAAc,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE;YACf,IAAI,EAAE,0BAA0B;SAChC;QACD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE;oBACP;wBACC,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE;4BACZ,IAAI,EAAE,CAAC;yBACP;wBACD,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,wBAAwB;qBACrC;oBACD;wBACC,WAAW,EAAE,YAAY;wBACzB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,cAAc;wBAC3B,WAAW,EAAE,gCAAgC;qBAC7C;oBACD;wBACC,WAAW,EAAE,qBAAqB;wBAClC,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,CAAC;wBACV,WAAW,EACV,+EAA+E;qBAChF;oBACD;wBACC,WAAW,EAAE,cAAc;wBAC3B,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,EAAE;wBACX,WAAW,EAAE,mDAAmD;qBAChE;iBACD;aACD;SACD;KACD;IACD;QACC,GAAG,+BAAgB;QACnB,cAAc,EAAE;YACf,IAAI,EAAE,0BAA0B;SAChC;QACD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,0DAA0D;aACjE;SACD;KACD;IACD;QACC,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iDAAiD;QAC9D,cAAc,EAAE;YACf,IAAI,EAAE,0BAA0B;SAChC;QACD,OAAO,EAAE;YACR,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,iBAAiB;aAC3B;SACD;KACD;CACD,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACrC,IAAI,EAAE;QACL,OAAO,EAAE,CAAC,IAAA,6BAAgB,EAAC,WAAW,CAAC,EAAE,0BAAmB,CAAC;KAC7D;IACD,OAAO,EAAE;QACR,MAAM,EAAE,MAAe;QACvB,GAAG,EAAE,wBAAwB;KAC7B;IACD,MAAM,EAAE;QACP,WAAW,EAAE,oCAAqB;KAClC;CACD,CAAC"}
1
+ {"version":3,"file":"sendBulk.js","sourceRoot":"","sources":["../../../../../nodes/Textbee/resources/message/sendBulk.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,14 @@ import { type IExecuteSingleFunctions, type IHttpRequestOptions } from 'n8n-work
2
2
  export type BulkMessageInput = {
3
3
  message?: string;
4
4
  recipients?: string;
5
+ simSlotIndex?: number | string;
5
6
  simSubscriptionId?: number;
6
7
  scheduledAt?: string;
7
8
  };
8
9
  export type BulkMessage = {
9
10
  message: string;
10
11
  recipients: string[];
12
+ simSlotIndex?: number | string;
11
13
  simSubscriptionId?: number;
12
14
  scheduledAt?: string;
13
15
  };
@@ -25,6 +25,10 @@ function buildBulkMessages(entries) {
25
25
  message: (_a = entry.message) !== null && _a !== void 0 ? _a : '',
26
26
  recipients: splitRecipients(entry.recipients),
27
27
  };
28
+ if (entry.simSlotIndex !== undefined && entry.simSlotIndex !== null && entry.simSlotIndex !== '') {
29
+ const slot = typeof entry.simSlotIndex === 'string' && entry.simSlotIndex.trim() === '' ? NaN : Number(entry.simSlotIndex);
30
+ message.simSlotIndex = Number.isInteger(slot) ? slot : entry.simSlotIndex;
31
+ }
28
32
  if (entry.simSubscriptionId)
29
33
  message.simSubscriptionId = entry.simSubscriptionId;
30
34
  if (entry.scheduledAt) {
@@ -1 +1 @@
1
- {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../../../nodes/Textbee/shared/bulk.ts"],"names":[],"mappings":";;;AAqBA,0CAKC;AAYD,8CAiBC;AAED,kDAkBC;AA3ED,+CAKsB;AAgBtB,SAAgB,eAAe,CAAC,KAAc;IAC7C,OAAO,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;SACxB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC9C,YACU,KAAa,EACtB,KAAa;QAEb,KAAK,CAAC,WAAW,KAAK,MAAM,KAAK,oCAAoC,CAAC,CAAC;QAH9D,UAAK,GAAL,KAAK,CAAQ;IAIvB,CAAC;CACD;AAPD,oDAOC;AAGD,SAAgB,iBAAiB,CAAC,OAA2B;IAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;QACnC,MAAM,OAAO,GAAgB;YAC5B,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE;YAC5B,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;SAC7C,CAAC;QAEF,IAAI,KAAK,CAAC,iBAAiB;YAAE,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,oBAAoB,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAExC,cAAmC;;IAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAEtD,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,MAAA,cAAc,CAAC,IAAI,mCAAI,EAAE,CAAgB,CAAC;IACxD,IAAI,CAAC;QACJ,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAA,UAAU,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC3C,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;IAC3B,OAAO,cAAc,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../../../nodes/Textbee/shared/bulk.ts"],"names":[],"mappings":";;;AAuBA,0CAKC;AAYD,8CAuBC;AAED,kDAkBC;AAnFD,+CAKsB;AAkBtB,SAAgB,eAAe,CAAC,KAAc;IAC7C,OAAO,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;SACxB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC9C,YACU,KAAa,EACtB,KAAa;QAEb,KAAK,CAAC,WAAW,KAAK,MAAM,KAAK,oCAAoC,CAAC,CAAC;QAH9D,UAAK,GAAL,KAAK,CAAQ;IAIvB,CAAC;CACD;AAPD,oDAOC;AAGD,SAAgB,iBAAiB,CAAC,OAA2B;IAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;QACnC,MAAM,OAAO,GAAgB;YAC5B,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE;YAC5B,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;SAC7C,CAAC;QAGF,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;YAClG,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3H,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QAC3E,CAAC;QAED,IAAI,KAAK,CAAC,iBAAiB;YAAE,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,oBAAoB,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAExC,cAAmC;;IAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAEtD,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,MAAA,cAAc,CAAC,IAAI,mCAAI,EAAE,CAAgB,CAAC;IACxD,IAAI,CAAC;QACJ,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAA,UAAU,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC3C,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;IAC3B,OAAO,cAAc,CAAC;AACvB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const CLIENT_NAME = "textbee-n8n/1.3.0";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CLIENT_NAME = void 0;
4
+ exports.CLIENT_NAME = 'textbee-n8n/1.3.0';
5
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../nodes/Textbee/shared/client.ts"],"names":[],"mappings":";;;AACa,QAAA,WAAW,GAAG,mBAAmB,CAAC"}
@@ -6,3 +6,4 @@ export declare const unwrapDataPostReceive: {
6
6
  property: string;
7
7
  };
8
8
  }[];
9
+ export declare const simSlotExpressionBody = "$value === '' || $value === undefined || $value === null ? undefined : (Number.isInteger(typeof $value === 'string' && $value.trim() === '' ? NaN : Number($value)) ? Number($value) : $value)";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unwrapDataPostReceive = exports.deviceIdProperty = void 0;
3
+ exports.simSlotExpressionBody = exports.unwrapDataPostReceive = exports.deviceIdProperty = void 0;
4
4
  exports.deviceIdProperty = {
5
5
  displayName: 'Device',
6
6
  name: 'deviceId',
@@ -43,4 +43,5 @@ exports.unwrapDataPostReceive = [
43
43
  },
44
44
  },
45
45
  ];
46
+ exports.simSlotExpressionBody = "$value === '' || $value === undefined || $value === null ? undefined : (Number.isInteger(typeof $value === 'string' && $value.trim() === '' ? NaN : Number($value)) ? Number($value) : $value)";
46
47
  //# sourceMappingURL=descriptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../../../../nodes/Textbee/shared/descriptions.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAoB;IAChD,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACpC,WAAW,EACV,4HAA4H;IAC7H,KAAK,EAAE;QACN;YACC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE;gBACZ,gBAAgB,EAAE,eAAe;gBACjC,UAAU,EAAE,IAAI;aAChB;SACD;QACD;YACC,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;YACvC,UAAU,EAAE;gBACX;oBACC,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE;wBACX,KAAK,EAAE,mBAAmB;wBAC1B,YAAY,EAAE,+BAA+B;qBAC7C;iBACD;aACD;SACD;KACD;CACD,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACpC;QACC,IAAI,EAAE,cAAuB;QAC7B,UAAU,EAAE;YACX,QAAQ,EAAE,MAAM;SAChB;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../../../../nodes/Textbee/shared/descriptions.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAoB;IAChD,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACpC,WAAW,EACV,4HAA4H;IAC7H,KAAK,EAAE;QACN;YACC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE;gBACZ,gBAAgB,EAAE,eAAe;gBACjC,UAAU,EAAE,IAAI;aAChB;SACD;QACD;YACC,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;YACvC,UAAU,EAAE;gBACX;oBACC,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE;wBACX,KAAK,EAAE,mBAAmB;wBAC1B,YAAY,EAAE,+BAA+B;qBAC7C;iBACD;aACD;SACD;KACD;CACD,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACpC;QACC,IAAI,EAAE,cAAuB;QAC7B,UAAU,EAAE;YACX,QAAQ,EAAE,MAAM;SAChB;KACD;CACD,CAAC;AAQW,QAAA,qBAAqB,GACjC,gMAAgM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@textbee/n8n-nodes-textbee",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Official n8n nodes for textbee.dev: send and receive SMS through your own Android phone",
5
5
  "license": "MIT",
6
6
  "homepage": "https://textbee.dev/docs/agents/n8n",