@whitewall/blip-sdk 0.0.112 → 0.0.114

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 (133) hide show
  1. package/dist/cjs/client.js +37 -27
  2. package/dist/cjs/client.js.map +1 -1
  3. package/dist/cjs/namespaces/account.js +39 -39
  4. package/dist/cjs/namespaces/account.js.map +1 -1
  5. package/dist/cjs/namespaces/activecampaign.js +14 -14
  6. package/dist/cjs/namespaces/analytics.js +8 -8
  7. package/dist/cjs/namespaces/builder.js +8 -8
  8. package/dist/cjs/namespaces/configurations.js +4 -4
  9. package/dist/cjs/namespaces/context.js +54 -0
  10. package/dist/cjs/namespaces/context.js.map +1 -0
  11. package/dist/cjs/namespaces/desk.js +36 -27
  12. package/dist/cjs/namespaces/desk.js.map +1 -1
  13. package/dist/cjs/namespaces/media.js +4 -4
  14. package/dist/cjs/namespaces/namespace.js +8 -8
  15. package/dist/cjs/namespaces/namespace.js.map +1 -1
  16. package/dist/cjs/namespaces/plugins.js +13 -13
  17. package/dist/cjs/namespaces/portal.js +14 -40
  18. package/dist/cjs/namespaces/portal.js.map +1 -1
  19. package/dist/cjs/namespaces/scheduler.js +9 -9
  20. package/dist/cjs/namespaces/whatsapp.js +21 -21
  21. package/dist/cjs/sender/bliperror.js +12 -1
  22. package/dist/cjs/sender/bliperror.js.map +1 -1
  23. package/dist/cjs/sender/enveloperesolver.js +2 -2
  24. package/dist/cjs/sender/gateway/customgatewaysender.js +2 -2
  25. package/dist/cjs/sender/http/httpsender.js +8 -8
  26. package/dist/cjs/sender/http/httpsender.js.map +1 -1
  27. package/dist/cjs/sender/index.js +1 -1
  28. package/dist/cjs/sender/{portal → plugin}/communication.js +3 -3
  29. package/dist/cjs/sender/{portal → plugin}/communication.js.map +1 -1
  30. package/dist/cjs/sender/plugin/pluginsender.js +98 -0
  31. package/dist/cjs/sender/plugin/pluginsender.js.map +1 -0
  32. package/dist/cjs/sender/sessionegotiator.js +46 -41
  33. package/dist/cjs/sender/sessionegotiator.js.map +1 -1
  34. package/dist/cjs/sender/tcp/tcpsender.js +12 -16
  35. package/dist/cjs/sender/tcp/tcpsender.js.map +1 -1
  36. package/dist/cjs/sender/websocket/websocketsender.js +12 -12
  37. package/dist/cjs/sender/websocket/websocketsender.js.map +1 -1
  38. package/dist/cjs/types/node.js +3 -0
  39. package/dist/cjs/types/node.js.map +1 -1
  40. package/dist/esm/client.js +23 -13
  41. package/dist/esm/client.js.map +1 -1
  42. package/dist/esm/index.js +6 -6
  43. package/dist/esm/namespaces/account.js +6 -6
  44. package/dist/esm/namespaces/account.js.map +1 -1
  45. package/dist/esm/namespaces/activecampaign.js +3 -3
  46. package/dist/esm/namespaces/analytics.js +2 -2
  47. package/dist/esm/namespaces/builder.js +3 -3
  48. package/dist/esm/namespaces/configurations.js +2 -2
  49. package/dist/esm/namespaces/context.js +50 -0
  50. package/dist/esm/namespaces/context.js.map +1 -0
  51. package/dist/esm/namespaces/desk.js +13 -4
  52. package/dist/esm/namespaces/desk.js.map +1 -1
  53. package/dist/esm/namespaces/media.js +2 -2
  54. package/dist/esm/namespaces/namespace.js +3 -3
  55. package/dist/esm/namespaces/namespace.js.map +1 -1
  56. package/dist/esm/namespaces/plugins.js +2 -2
  57. package/dist/esm/namespaces/portal.js +8 -34
  58. package/dist/esm/namespaces/portal.js.map +1 -1
  59. package/dist/esm/namespaces/scheduler.js +3 -3
  60. package/dist/esm/namespaces/whatsapp.js +2 -2
  61. package/dist/esm/sender/bliperror.js +12 -1
  62. package/dist/esm/sender/bliperror.js.map +1 -1
  63. package/dist/esm/sender/enveloperesolver.js +1 -1
  64. package/dist/esm/sender/gateway/customgatewaysender.js +1 -1
  65. package/dist/esm/sender/http/httpsender.js +5 -5
  66. package/dist/esm/sender/http/httpsender.js.map +1 -1
  67. package/dist/esm/sender/index.js +7 -7
  68. package/dist/esm/sender/{portal → plugin}/communication.js +1 -1
  69. package/dist/esm/sender/{portal → plugin}/communication.js.map +1 -1
  70. package/dist/esm/sender/plugin/pluginsender.js +94 -0
  71. package/dist/esm/sender/plugin/pluginsender.js.map +1 -0
  72. package/dist/esm/sender/sessionegotiator.js +46 -41
  73. package/dist/esm/sender/sessionegotiator.js.map +1 -1
  74. package/dist/esm/sender/tcp/tcpsender.js +8 -12
  75. package/dist/esm/sender/tcp/tcpsender.js.map +1 -1
  76. package/dist/esm/sender/websocket/websocketsender.js +7 -7
  77. package/dist/esm/sender/websocket/websocketsender.js.map +1 -1
  78. package/dist/esm/types/index.js +11 -11
  79. package/dist/esm/types/node.js +3 -0
  80. package/dist/esm/types/node.js.map +1 -1
  81. package/dist/types/client.d.ts +17 -14
  82. package/dist/types/client.d.ts.map +1 -1
  83. package/dist/types/index.d.ts +6 -6
  84. package/dist/types/namespaces/account.d.ts +5 -5
  85. package/dist/types/namespaces/activecampaign.d.ts +3 -3
  86. package/dist/types/namespaces/analytics.d.ts +4 -4
  87. package/dist/types/namespaces/builder.d.ts +2 -2
  88. package/dist/types/namespaces/configurations.d.ts +2 -2
  89. package/dist/types/namespaces/context.d.ts +16 -0
  90. package/dist/types/namespaces/context.d.ts.map +1 -0
  91. package/dist/types/namespaces/desk.d.ts +5 -4
  92. package/dist/types/namespaces/desk.d.ts.map +1 -1
  93. package/dist/types/namespaces/media.d.ts +2 -2
  94. package/dist/types/namespaces/namespace.d.ts +4 -2
  95. package/dist/types/namespaces/namespace.d.ts.map +1 -1
  96. package/dist/types/namespaces/plugins.d.ts +6 -6
  97. package/dist/types/namespaces/portal.d.ts +4 -11
  98. package/dist/types/namespaces/portal.d.ts.map +1 -1
  99. package/dist/types/namespaces/scheduler.d.ts +3 -3
  100. package/dist/types/namespaces/whatsapp.d.ts +4 -4
  101. package/dist/types/sender/bliperror.d.ts +5 -1
  102. package/dist/types/sender/bliperror.d.ts.map +1 -1
  103. package/dist/types/sender/enveloperesolver.d.ts +2 -2
  104. package/dist/types/sender/gateway/customgatewaysender.d.ts +2 -2
  105. package/dist/types/sender/http/httpsender.d.ts +2 -2
  106. package/dist/types/sender/index.d.ts +7 -7
  107. package/dist/types/sender/{portal → plugin}/communication.d.ts.map +1 -1
  108. package/dist/types/sender/plugin/pluginsender.d.ts +21 -0
  109. package/dist/types/sender/plugin/pluginsender.d.ts.map +1 -0
  110. package/dist/types/sender/sender.d.ts +1 -1
  111. package/dist/types/sender/sessionegotiator.d.ts +4 -4
  112. package/dist/types/sender/sessionegotiator.d.ts.map +1 -1
  113. package/dist/types/sender/tcp/tcpsender.d.ts +2 -2
  114. package/dist/types/sender/websocket/websocketsender.d.ts +2 -2
  115. package/dist/types/types/account.d.ts +2 -2
  116. package/dist/types/types/analytics.d.ts +1 -1
  117. package/dist/types/types/command.d.ts +2 -2
  118. package/dist/types/types/command.d.ts.map +1 -1
  119. package/dist/types/types/envelope.d.ts +1 -1
  120. package/dist/types/types/index.d.ts +11 -11
  121. package/dist/types/types/message.d.ts +3 -3
  122. package/dist/types/types/node.d.ts +1 -0
  123. package/dist/types/types/node.d.ts.map +1 -1
  124. package/dist/types/types/notification.d.ts +1 -1
  125. package/dist/types/types/session.d.ts +1 -1
  126. package/package.json +3 -2
  127. package/dist/cjs/sender/portal/pluginsender.js +0 -47
  128. package/dist/cjs/sender/portal/pluginsender.js.map +0 -1
  129. package/dist/esm/sender/portal/pluginsender.js +0 -43
  130. package/dist/esm/sender/portal/pluginsender.js.map +0 -1
  131. package/dist/types/sender/portal/pluginsender.d.ts +0 -14
  132. package/dist/types/sender/portal/pluginsender.d.ts.map +0 -1
  133. /package/dist/types/sender/{portal → plugin}/communication.d.ts +0 -0
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SchedulerNamespace = void 0;
4
- const bliperror_js_1 = require("../sender/bliperror.js");
5
- const uri_js_1 = require("../utils/uri.js");
6
- const namespace_js_1 = require("./namespace.js");
7
- class SchedulerNamespace extends namespace_js_1.Namespace {
4
+ const bliperror_ts_1 = require("../sender/bliperror.js");
5
+ const uri_ts_1 = require("../utils/uri.js");
6
+ const namespace_ts_1 = require("./namespace.js");
7
+ class SchedulerNamespace extends namespace_ts_1.Namespace {
8
8
  constructor(blipClient, defaultOptions) {
9
9
  super(blipClient, 'scheduler', defaultOptions);
10
10
  }
11
11
  async scheduleMessage(schedule, opts) {
12
12
  return await this.sendCommand({
13
13
  method: 'set',
14
- uri: (0, uri_js_1.uri) `/schedules`,
14
+ uri: (0, uri_ts_1.uri) `/schedules`,
15
15
  type: 'application/vnd.iris.schedule+json',
16
16
  resource: schedule,
17
17
  }, opts);
@@ -20,11 +20,11 @@ class SchedulerNamespace extends namespace_js_1.Namespace {
20
20
  try {
21
21
  return await this.sendCommand({
22
22
  method: 'get',
23
- uri: (0, uri_js_1.uri) `/schedules/${id}`,
23
+ uri: (0, uri_ts_1.uri) `/schedules/${id}`,
24
24
  }, opts);
25
25
  }
26
26
  catch (err) {
27
- if (err instanceof bliperror_js_1.BlipError && err.code === 67) {
27
+ if (err instanceof bliperror_ts_1.BlipError && err.code === 67) {
28
28
  return undefined;
29
29
  }
30
30
  throw err;
@@ -33,7 +33,7 @@ class SchedulerNamespace extends namespace_js_1.Namespace {
33
33
  async getSchedules(opts) {
34
34
  return await this.sendCommand({
35
35
  method: 'get',
36
- uri: (0, uri_js_1.uri) `/schedules`,
36
+ uri: (0, uri_ts_1.uri) `/schedules`,
37
37
  }, {
38
38
  collection: true,
39
39
  ...opts,
@@ -42,7 +42,7 @@ class SchedulerNamespace extends namespace_js_1.Namespace {
42
42
  async cancelSchedule(id, opts) {
43
43
  return await this.sendCommand({
44
44
  method: 'delete',
45
- uri: (0, uri_js_1.uri) `/schedules/${id}`,
45
+ uri: (0, uri_ts_1.uri) `/schedules/${id}`,
46
46
  }, opts);
47
47
  }
48
48
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WhatsAppNamespace = void 0;
4
- const uri_js_1 = require("../utils/uri.js");
5
- const namespace_js_1 = require("./namespace.js");
6
- class WhatsAppNamespace extends namespace_js_1.Namespace {
4
+ const uri_ts_1 = require("../utils/uri.js");
5
+ const namespace_ts_1 = require("./namespace.js");
6
+ class WhatsAppNamespace extends namespace_ts_1.Namespace {
7
7
  constructor(blipClient, defaultOptions) {
8
8
  super(blipClient, 'wa.gw', defaultOptions);
9
9
  }
@@ -12,7 +12,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
12
12
  try {
13
13
  const result = await this.sendCommand({
14
14
  method: 'get',
15
- uri: (0, uri_js_1.uri) `/accounts/${fixedPhoneNumber}`,
15
+ uri: (0, uri_ts_1.uri) `/accounts/${fixedPhoneNumber}`,
16
16
  }, opts);
17
17
  return result.alternativeAccount;
18
18
  }
@@ -28,7 +28,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
28
28
  async getMessageTemplates(filters, opts) {
29
29
  return await this.sendCommand({
30
30
  method: 'get',
31
- uri: (0, uri_js_1.uri) `/message-templates?${{ status: filters?.status?.toUpperCase(), templateName: filters?.name }}`,
31
+ uri: (0, uri_ts_1.uri) `/message-templates?${{ status: filters?.status?.toUpperCase(), templateName: filters?.name }}`,
32
32
  }, {
33
33
  collection: true,
34
34
  ...opts,
@@ -74,7 +74,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
74
74
  async createMessageTemplateAttachment(url, opts) {
75
75
  return await this.sendCommand({
76
76
  method: 'set',
77
- uri: (0, uri_js_1.uri) `/message-templates-attachment`,
77
+ uri: (0, uri_ts_1.uri) `/message-templates-attachment`,
78
78
  type: 'application/vnd.lime.media-link+json',
79
79
  resource: {
80
80
  uri: url,
@@ -84,7 +84,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
84
84
  async createMessageTemplate(template, opts) {
85
85
  return await this.sendCommand({
86
86
  method: 'set',
87
- uri: (0, uri_js_1.uri) `/message-templates`,
87
+ uri: (0, uri_ts_1.uri) `/message-templates`,
88
88
  type: 'application/json',
89
89
  resource: template,
90
90
  }, opts);
@@ -92,7 +92,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
92
92
  async createMessageTemplateAndPoll(template, opts) {
93
93
  await this.sendCommand({
94
94
  method: 'set',
95
- uri: (0, uri_js_1.uri) `/message-templates`,
95
+ uri: (0, uri_ts_1.uri) `/message-templates`,
96
96
  type: 'application/json',
97
97
  resource: template,
98
98
  }, opts);
@@ -113,13 +113,13 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
113
113
  async deleteMessageTemplate(templateName, opts) {
114
114
  return await this.sendCommand({
115
115
  method: 'delete',
116
- uri: (0, uri_js_1.uri) `/message-templates/${templateName}`,
116
+ uri: (0, uri_ts_1.uri) `/message-templates/${templateName}`,
117
117
  }, opts);
118
118
  }
119
119
  async createFlow(flow, opts) {
120
120
  return await this.sendCommand({
121
121
  method: 'set',
122
- uri: (0, uri_js_1.uri) `/whatsapp-flows`,
122
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows`,
123
123
  type: 'application/json',
124
124
  resource: {
125
125
  name: flow.name,
@@ -131,7 +131,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
131
131
  async updateFlow(id, flow, opts) {
132
132
  return await this.sendCommand({
133
133
  method: 'set',
134
- uri: (0, uri_js_1.uri) `/whatsapp-flows/${id}`,
134
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/${id}`,
135
135
  type: 'application/json',
136
136
  resource: {
137
137
  name: flow.name,
@@ -142,7 +142,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
142
142
  async updateFlowJson(id, json, opts) {
143
143
  return await this.sendCommand({
144
144
  method: 'set',
145
- uri: (0, uri_js_1.uri) `/whatsapp-flows/flow-json/${id}`,
145
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/flow-json/${id}`,
146
146
  type: 'application/json',
147
147
  resource: JSON.parse(json),
148
148
  }, opts);
@@ -150,7 +150,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
150
150
  async updateFlowsPublicKey(publicKey, opts) {
151
151
  return await this.sendCommand({
152
152
  method: 'set',
153
- uri: (0, uri_js_1.uri) `/whatsapp-flows/public-key/upload`,
153
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/public-key/upload`,
154
154
  type: 'application/json',
155
155
  resource: {
156
156
  business_public_key: publicKey,
@@ -160,7 +160,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
160
160
  async getFlows(opts) {
161
161
  return await this.sendCommand({
162
162
  method: 'get',
163
- uri: (0, uri_js_1.uri) `/whatsapp-flows`,
163
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows`,
164
164
  }, {
165
165
  collection: true,
166
166
  ...opts,
@@ -169,25 +169,25 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
169
169
  async getFlow(id, opts) {
170
170
  return await this.sendCommand({
171
171
  method: 'get',
172
- uri: (0, uri_js_1.uri) `/whatsapp-flows/${id}`,
172
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/${id}`,
173
173
  }, opts);
174
174
  }
175
175
  async publishFlow(id, opts) {
176
176
  return await this.sendCommand({
177
177
  method: 'get',
178
- uri: (0, uri_js_1.uri) `/whatsapp-flows/publish/${id}`,
178
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/publish/${id}`,
179
179
  }, opts);
180
180
  }
181
181
  async deprecateFlow(id, opts) {
182
182
  return await this.sendCommand({
183
183
  method: 'get',
184
- uri: (0, uri_js_1.uri) `/whatsapp-flows/deprecate/${id}`,
184
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/deprecate/${id}`,
185
185
  }, opts);
186
186
  }
187
187
  async getFlowAssets(id, opts) {
188
188
  return await this.sendCommand({
189
189
  method: 'get',
190
- uri: (0, uri_js_1.uri) `/whatsapp-flows/assets/${id}`,
190
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/assets/${id}`,
191
191
  }, {
192
192
  collection: true,
193
193
  ...opts,
@@ -196,7 +196,7 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
196
196
  async deleteFlow(id, opts) {
197
197
  return await this.sendCommand({
198
198
  method: 'delete',
199
- uri: (0, uri_js_1.uri) `/whatsapp-flows/${id}`,
199
+ uri: (0, uri_ts_1.uri) `/whatsapp-flows/${id}`,
200
200
  }, opts);
201
201
  }
202
202
  async isChannelActive(opts) {
@@ -209,13 +209,13 @@ class WhatsAppNamespace extends namespace_js_1.Namespace {
209
209
  async getWabaDetails(opts) {
210
210
  return await this.sendCommand({
211
211
  method: 'get',
212
- uri: (0, uri_js_1.uri) `/wabas/details`,
212
+ uri: (0, uri_ts_1.uri) `/wabas/details`,
213
213
  }, opts);
214
214
  }
215
215
  async getPhoneNumberDetails(opts) {
216
216
  return await this.sendCommand({
217
217
  method: 'get',
218
- uri: (0, uri_js_1.uri) `/phone-number-details`,
218
+ uri: (0, uri_ts_1.uri) `/phone-number-details`,
219
219
  }, opts);
220
220
  }
221
221
  async getPhoneNumber(opts) {
@@ -4,10 +4,21 @@ exports.BlipError = void 0;
4
4
  class BlipError extends Error {
5
5
  uri;
6
6
  code;
7
- constructor(uri, code, description) {
7
+ commandResponse;
8
+ constructor(uri, code, description, commandResponse) {
8
9
  super(`Blip command for ${uri} failed: ${description}`);
9
10
  this.uri = uri;
10
11
  this.code = code;
12
+ this.commandResponse = commandResponse;
13
+ }
14
+ static isFailedCommandResponse(maybeCommandResponse) {
15
+ return (typeof maybeCommandResponse === 'object' &&
16
+ maybeCommandResponse !== null &&
17
+ 'status' in maybeCommandResponse &&
18
+ maybeCommandResponse.status === 'failure');
19
+ }
20
+ static commandResponseToBlipError(uri, commandResponse) {
21
+ return new BlipError(uri, commandResponse.reason.code, commandResponse.reason.description, commandResponse);
11
22
  }
12
23
  }
13
24
  exports.BlipError = BlipError;
@@ -1 +1 @@
1
- {"version":3,"file":"bliperror.js","sourceRoot":"","sources":["../../../src/sender/bliperror.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAU,SAAQ,KAAK;IAEZ;IACA;IAFpB,YACoB,GAAW,EACX,IAAY,EAC5B,WAAmB;QAEnB,KAAK,CAAC,oBAAoB,GAAG,YAAY,WAAW,EAAE,CAAC,CAAA;QAJvC,QAAG,GAAH,GAAG,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAQ;IAIhC,CAAC;CACJ;AARD,8BAQC"}
1
+ {"version":3,"file":"bliperror.js","sourceRoot":"","sources":["../../../src/sender/bliperror.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAU,SAAQ,KAAK;IAEZ;IACA;IAET;IAJX,YACoB,GAAW,EACX,IAAY,EAC5B,WAAmB,EACZ,eAAqE;QAE5E,KAAK,CAAC,oBAAoB,GAAG,YAAY,WAAW,EAAE,CAAC,CAAA;QALvC,QAAG,GAAH,GAAG,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAQ;QAErB,oBAAe,GAAf,eAAe,CAAsD;IAGhF,CAAC;IAEM,MAAM,CAAC,uBAAuB,CACjC,oBAA6B;QAE7B,OAAO,CACH,OAAO,oBAAoB,KAAK,QAAQ;YACxC,oBAAoB,KAAK,IAAI;YAC7B,QAAQ,IAAI,oBAAoB;YAChC,oBAAoB,CAAC,MAAM,KAAK,SAAS,CAC5C,CAAA;IACL,CAAC;IAEM,MAAM,CAAC,0BAA0B,CACpC,GAAW,EACX,eAAoE;QAEpE,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAC/G,CAAC;CACJ;AA3BD,8BA2BC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnvelopeResolver = void 0;
4
- const command_js_1 = require("../types/command.js");
4
+ const command_ts_1 = require("../types/command.js");
5
5
  class EnvelopeResolver {
6
6
  sender;
7
7
  waitingEnvelopeResponseResolvers = {};
@@ -16,7 +16,7 @@ class EnvelopeResolver {
16
16
  else {
17
17
  // This is a rough way to handle commands to the channel
18
18
  // But it works for most use cases
19
- if ((0, command_js_1.isCommand)(envelope) && envelope.method === 'get' && envelope.uri === '/ping') {
19
+ if ((0, command_ts_1.isCommand)(envelope) && envelope.method === 'get' && envelope.uri === '/ping') {
20
20
  await this.sender.sendCommandResponse({
21
21
  id: envelope.id,
22
22
  method: 'get',
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CustomGatewayHttpSender = void 0;
4
- const index_js_1 = require("../../types/index.js");
4
+ const index_ts_1 = require("../../types/index.js");
5
5
  class CustomGatewayHttpSender {
6
6
  baseurl;
7
7
  token;
8
8
  constructor(botIdentityOrIdentifier, password, tenantId) {
9
- const botIdentity = index_js_1.Node.isValid(botIdentityOrIdentifier)
9
+ const botIdentity = index_ts_1.Node.isValid(botIdentityOrIdentifier)
10
10
  ? botIdentityOrIdentifier
11
11
  : `${botIdentityOrIdentifier}@msging.net`;
12
12
  this.token = btoa(`${botIdentity}:${password}`);
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpSender = void 0;
4
- const index_js_1 = require("../../types/index.js");
5
- const bliperror_js_1 = require("../bliperror.js");
6
- const throttler_js_1 = require("../throttler.js");
4
+ const index_ts_1 = require("../../types/index.js");
5
+ const bliperror_ts_1 = require("../bliperror.js");
6
+ const throttler_ts_1 = require("../throttler.js");
7
7
  class HttpSender {
8
8
  token;
9
9
  baseurl;
10
- throttler = new throttler_js_1.EnvelopeThrottler();
10
+ throttler = new throttler_ts_1.EnvelopeThrottler();
11
11
  constructor(token, tenantId) {
12
12
  this.token = token.startsWith('Key ') ? token.slice(4) : token;
13
13
  const prefix = tenantId ? `${tenantId}.` : '';
@@ -44,8 +44,8 @@ class HttpSender {
44
44
  throw new Error(`Failed to send command: ${response.statusText} (${response.status})`);
45
45
  }
46
46
  const result = await response.json();
47
- if (result.status === 'failure') {
48
- throw new bliperror_js_1.BlipError(command.uri, result.reason.code, result.reason.description);
47
+ if (bliperror_ts_1.BlipError.isFailedCommandResponse(result)) {
48
+ throw bliperror_ts_1.BlipError.commandResponseToBlipError(command.uri, result);
49
49
  }
50
50
  else if (result.status === 'success') {
51
51
  return result.resource;
@@ -56,7 +56,7 @@ class HttpSender {
56
56
  });
57
57
  }
58
58
  static login(botIdentityOrIdentifier, accessKey, tenantId) {
59
- const botIdentity = index_js_1.Node.isValid(botIdentityOrIdentifier)
59
+ const botIdentity = index_ts_1.Node.isValid(botIdentityOrIdentifier)
60
60
  ? botIdentityOrIdentifier
61
61
  : `${botIdentityOrIdentifier}@msging.net`;
62
62
  const token = btoa(`${botIdentity}:${atob(accessKey)}`);
@@ -73,7 +73,7 @@ class HttpSender {
73
73
  err.message.endsWith('(504)') ||
74
74
  err.message.endsWith('(502)') ||
75
75
  // General application error code
76
- (err instanceof bliperror_js_1.BlipError && err.code === 101) ||
76
+ (err instanceof bliperror_ts_1.BlipError && err.code === 101) ||
77
77
  // Probably cloudflare trying to mitigate a DDoS attack
78
78
  (err.cause instanceof Error && err.cause?.name === 'ConnectTimeoutError') ||
79
79
  err.message === 'terminated' ||
@@ -1 +1 @@
1
- {"version":3,"file":"httpsender.js","sourceRoot":"","sources":["../../../../src/sender/http/httpsender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpsender.js","sourceRoot":"","sources":["../../../../src/sender/http/httpsender.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./sender.js"), exports);
18
18
  __exportStar(require("./bliperror.js"), exports);
19
19
  __exportStar(require("./gateway/customgatewaysender.js"), exports);
20
- __exportStar(require("./portal/pluginsender.js"), exports);
20
+ __exportStar(require("./plugin/pluginsender.js"), exports);
21
21
  __exportStar(require("./websocket/websocketsender.js"), exports);
22
22
  __exportStar(require("./tcp/tcpsender.js"), exports);
23
23
  __exportStar(require("./http/httpsender.js"), exports);
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.startChannel = void 0;
4
- const random_js_1 = require("../../utils/random.js");
4
+ const random_ts_1 = require("../../utils/random.js");
5
5
  const startChannel = () => {
6
- const caller = window.name ?? (0, random_js_1.randomId)();
6
+ const caller = window.name ?? (0, random_ts_1.randomId)();
7
7
  const waitingMessages = {};
8
8
  const messageHandler = ({ data }) => {
9
9
  const deferred = waitingMessages[data?.trackingProperties?.id];
@@ -28,7 +28,7 @@ const startChannel = () => {
28
28
  if (isDestroyed) {
29
29
  throw new Error('Channel is destroyed');
30
30
  }
31
- const id = (0, random_js_1.randomId)();
31
+ const id = (0, random_ts_1.randomId)();
32
32
  let promise;
33
33
  if (options?.fireAndForget) {
34
34
  promise = Promise.resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../../src/sender/portal/communication.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAEzC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,IAAI,IAAA,oBAAQ,GAAE,CAAA;IAExC,MAAM,eAAe,GAA8E,EAAE,CAAA;IACrG,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAgB,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,oCAAoC;gBACpC,OAAM;YACV,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnC,CAAC;YAED,OAAO,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtD,CAAC;IACL,CAAC,CAAA;IACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAElD,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,OAAO;QACH,IAAI,EAAE,CAAI,MAAc,EAAE,OAAgB,EAAE,OAAoC,EAAE,EAAE;YAChF,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC3C,CAAC;YAED,MAAM,EAAE,GAAG,IAAA,oBAAQ,GAAE,CAAA;YAErB,IAAI,OAAyB,CAAA;YAC7B,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;gBACzB,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,CAAA;gBACxC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;gBAC5E,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC9B,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,WAAW,CACrB;gBACI,OAAO,EAAE;oBACL,MAAM,EAAE,aAAa,MAAM,EAAE;oBAC7B,OAAO;oBACP,MAAM;iBACT;gBACD,kBAAkB,EAAE;oBAChB,EAAE;iBACL;aACJ,EACD,GAAG,CACN,CAAA;YAED,OAAO,OAAqB,CAAA;QAChC,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YACrD,WAAW,GAAG,IAAI,CAAA;QACtB,CAAC;KACJ,CAAA;AACL,CAAC,CAAA;AA9DY,QAAA,YAAY,gBA8DxB"}
1
+ {"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../../src/sender/plugin/communication.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAEzC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,IAAI,IAAA,oBAAQ,GAAE,CAAA;IAExC,MAAM,eAAe,GAA8E,EAAE,CAAA;IACrG,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAgB,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,oCAAoC;gBACpC,OAAM;YACV,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnC,CAAC;YAED,OAAO,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtD,CAAC;IACL,CAAC,CAAA;IACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAElD,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,OAAO;QACH,IAAI,EAAE,CAAI,MAAc,EAAE,OAAgB,EAAE,OAAoC,EAAE,EAAE;YAChF,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC3C,CAAC;YAED,MAAM,EAAE,GAAG,IAAA,oBAAQ,GAAE,CAAA;YAErB,IAAI,OAAyB,CAAA;YAC7B,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;gBACzB,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,CAAA;gBACxC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;gBAC5E,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC9B,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,WAAW,CACrB;gBACI,OAAO,EAAE;oBACL,MAAM,EAAE,aAAa,MAAM,EAAE;oBAC7B,OAAO;oBACP,MAAM;iBACT;gBACD,kBAAkB,EAAE;oBAChB,EAAE;iBACL;aACJ,EACD,GAAG,CACN,CAAA;YAED,OAAO,OAAqB,CAAA;QAChC,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YACrD,WAAW,GAAG,IAAI,CAAA;QACtB,CAAC;KACJ,CAAA;AACL,CAAC,CAAA;AA9DY,QAAA,YAAY,gBA8DxB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PluginSender = void 0;
4
+ const index_ts_1 = require("../../index.js");
5
+ const communication_ts_1 = require("./communication.js");
6
+ class PluginSender {
7
+ blipDesk;
8
+ channel;
9
+ constructor(blipDesk) {
10
+ this.blipDesk = blipDesk;
11
+ this.channel = (0, communication_ts_1.startChannel)();
12
+ }
13
+ async sendMessage(message) {
14
+ await this.sendCommand({
15
+ id: message.id,
16
+ uri: '/schedules',
17
+ method: 'set',
18
+ type: 'application/vnd.iris.schedule+json',
19
+ resource: {
20
+ message,
21
+ when: new Date().toISOString(),
22
+ },
23
+ });
24
+ }
25
+ async sendCommand(command) {
26
+ const toDomain = command.to ? index_ts_1.Node.from(command.to).domain : undefined;
27
+ // Desk doesn't handle this automatically like portal does
28
+ const fixedCommand = this.getRealm() === 'desk' && toDomain?.endsWith('msging.net')
29
+ ? await this.fixBlipDeskMsgingCommand(command)
30
+ : command;
31
+ try {
32
+ return await this.channel.post('sendCommand', {
33
+ command: fixedCommand,
34
+ destination: toDomain?.endsWith('msging.net') ? 'MessagingHubService' : 'BlipService',
35
+ });
36
+ }
37
+ catch (err) {
38
+ if (err && typeof err === 'object' && 'code' in err && 'description' in err) {
39
+ const knownerror = err;
40
+ throw new index_ts_1.BlipError(command.uri, knownerror.code, knownerror.description);
41
+ }
42
+ else if (index_ts_1.BlipError.isFailedCommandResponse(err)) {
43
+ throw index_ts_1.BlipError.commandResponseToBlipError(command.uri, err);
44
+ }
45
+ throw err;
46
+ }
47
+ }
48
+ static check(blipClient) {
49
+ const isPluginSender = blipClient.sender instanceof PluginSender;
50
+ if (!isPluginSender) {
51
+ throw new Error('This command is only allowed for plugin senders');
52
+ }
53
+ return blipClient.sender;
54
+ }
55
+ static getRealm(blipClient) {
56
+ const isPluginSender = blipClient.sender instanceof PluginSender;
57
+ if (!isPluginSender) {
58
+ throw new Error('This command is only allowed for plugin senders');
59
+ }
60
+ return blipClient.sender.getRealm();
61
+ }
62
+ getRealm() {
63
+ return this.blipDesk ? 'desk' : 'portal';
64
+ }
65
+ cachedAccountPromise = undefined;
66
+ async fixBlipDeskMsgingCommand(command) {
67
+ if (!this.cachedAccountPromise) {
68
+ this.cachedAccountPromise = this.sendCommand({
69
+ id: Date.now().toString(),
70
+ uri: '/account',
71
+ method: 'get',
72
+ });
73
+ }
74
+ const accountResponse = await this.cachedAccountPromise;
75
+ if (typeof accountResponse !== 'object' ||
76
+ !accountResponse ||
77
+ !('identity' in accountResponse) ||
78
+ typeof accountResponse.identity !== 'string' ||
79
+ !index_ts_1.Node.isValid(accountResponse?.identity)) {
80
+ throw new Error('Account identity not found or invalid');
81
+ }
82
+ if (command.uri.startsWith('lime://')) {
83
+ return {
84
+ ...command,
85
+ from: this.blipDesk.currentBotIdentity,
86
+ pp: index_ts_1.Node.from(accountResponse.identity).withInstance('!desk'),
87
+ };
88
+ }
89
+ else {
90
+ return {
91
+ ...command,
92
+ uri: `lime://${this.blipDesk.currentBotIdentity}${command.uri}`,
93
+ };
94
+ }
95
+ }
96
+ }
97
+ exports.PluginSender = PluginSender;
98
+ //# sourceMappingURL=pluginsender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginsender.js","sourceRoot":"","sources":["../../../../src/sender/plugin/pluginsender.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SessionNegotiator = void 0;
4
- const node_js_1 = require("../types/node.js");
4
+ const node_ts_1 = require("../types/node.js");
5
5
  class SessionNegotiator {
6
6
  sender;
7
7
  sendSession;
@@ -14,55 +14,60 @@ class SessionNegotiator {
14
14
  this.sendSession = sendSession;
15
15
  }
16
16
  async negotiate(options) {
17
- setTimeout(() => {
17
+ const timeout = setTimeout(() => {
18
18
  if (this.negotiating) {
19
19
  this.sender.close();
20
20
  throw new Error('Negotiation timeout');
21
21
  }
22
- }, 100000);
23
- this.sendSession({
24
- state: 'new',
25
- });
26
- const negotiation = await this.waitForSessionResponse();
27
- let authenticating;
28
- if (negotiation.state === 'negotiating') {
29
- if (!negotiation.encryptionOptions?.includes('none')) {
30
- throw new Error('Unsupported encryption options');
22
+ }, 60000); // 60 seconds
23
+ try {
24
+ this.sendSession({
25
+ state: 'new',
26
+ });
27
+ const negotiation = await this.waitForSessionResponse();
28
+ let authenticating;
29
+ if (negotiation.state === 'negotiating') {
30
+ if (!negotiation.encryptionOptions?.includes('none')) {
31
+ throw new Error('Unsupported encryption options');
32
+ }
33
+ this.sendSession({
34
+ id: negotiation.id,
35
+ state: 'negotiating',
36
+ encryption: 'none',
37
+ compression: negotiation.compressionOptions?.at(-1),
38
+ });
39
+ await this.waitForSessionResponse();
40
+ authenticating = await this.waitForSessionResponse();
41
+ }
42
+ else if (negotiation.state === 'authenticating') {
43
+ authenticating = negotiation;
44
+ }
45
+ else {
46
+ throw new Error('Unexpected session state');
47
+ }
48
+ if (!authenticating.schemeOptions?.includes(options.authentication.scheme)) {
49
+ throw new Error('Unsupported authentication scheme');
31
50
  }
32
51
  this.sendSession({
33
- id: negotiation.id,
34
- state: 'negotiating',
35
- encryption: 'none',
36
- compression: negotiation.compressionOptions?.at(-1),
52
+ id: authenticating.id,
53
+ from: options.identity,
54
+ state: 'authenticating',
55
+ scheme: options.authentication.scheme,
56
+ authentication: options.authentication.data,
37
57
  });
38
- await this.waitForSessionResponse();
39
- authenticating = await this.waitForSessionResponse();
40
- }
41
- else if (negotiation.state === 'authenticating') {
42
- authenticating = negotiation;
43
- }
44
- else {
45
- throw new Error('Unexpected session state');
46
- }
47
- if (!authenticating.schemeOptions?.includes(options.authentication.scheme)) {
48
- throw new Error('Unsupported authentication scheme');
58
+ const authenticated = await this.waitForSessionResponse();
59
+ if (authenticated.state !== 'established') {
60
+ throw new Error('Authentication failed');
61
+ }
62
+ this.session = {
63
+ id: authenticated.id,
64
+ localNode: node_ts_1.Node.from(authenticated.to),
65
+ remoteNode: node_ts_1.Node.from(authenticated.from),
66
+ };
49
67
  }
50
- this.sendSession({
51
- id: authenticating.id,
52
- from: options.identity,
53
- state: 'authenticating',
54
- scheme: options.authentication.scheme,
55
- authentication: options.authentication.data,
56
- });
57
- const authenticated = await this.waitForSessionResponse();
58
- if (authenticated.state !== 'established') {
59
- throw new Error('Authentication failed');
68
+ finally {
69
+ clearTimeout(timeout);
60
70
  }
61
- this.session = {
62
- id: authenticated.id,
63
- localNode: node_js_1.Node.from(authenticated.to),
64
- remoteNode: node_js_1.Node.from(authenticated.from),
65
- };
66
71
  }
67
72
  handleEnvelope(message) {
68
73
  if (this.currentMessageResolver) {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionegotiator.js","sourceRoot":"","sources":["../../../src/sender/sessionegotiator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionegotiator.js","sourceRoot":"","sources":["../../../src/sender/sessionegotiator.ts"],"names":[],"mappings":"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"}