@whitewall/blip-sdk 0.0.134 → 0.0.136

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 (161) hide show
  1. package/dist/cjs/client.js +33 -10
  2. package/dist/cjs/client.js.map +1 -1
  3. package/dist/cjs/namespaces/account.js +74 -52
  4. package/dist/cjs/namespaces/account.js.map +1 -1
  5. package/dist/cjs/namespaces/desk.js +17 -1
  6. package/dist/cjs/namespaces/desk.js.map +1 -1
  7. package/dist/cjs/namespaces/namespace.js +10 -10
  8. package/dist/cjs/namespaces/namespace.js.map +1 -1
  9. package/dist/cjs/namespaces/plugins.js +15 -3
  10. package/dist/cjs/namespaces/plugins.js.map +1 -1
  11. package/dist/cjs/namespaces/portal.js +131 -6
  12. package/dist/cjs/namespaces/portal.js.map +1 -1
  13. package/dist/cjs/namespaces/whatsapp.js +2 -3
  14. package/dist/cjs/namespaces/whatsapp.js.map +1 -1
  15. package/dist/cjs/sender/bliperror.js +14 -17
  16. package/dist/cjs/sender/bliperror.js.map +1 -1
  17. package/dist/cjs/sender/enveloperesolver.js +85 -6
  18. package/dist/cjs/sender/enveloperesolver.js.map +1 -1
  19. package/dist/cjs/sender/gateway/customgatewaysender.js +16 -9
  20. package/dist/cjs/sender/gateway/customgatewaysender.js.map +1 -1
  21. package/dist/cjs/sender/http/httpsender.js +29 -31
  22. package/dist/cjs/sender/http/httpsender.js.map +1 -1
  23. package/dist/cjs/sender/plugin/communication.js +9 -2
  24. package/dist/cjs/sender/plugin/communication.js.map +1 -1
  25. package/dist/cjs/sender/plugin/pluginsender.js +11 -59
  26. package/dist/cjs/sender/plugin/pluginsender.js.map +1 -1
  27. package/dist/cjs/sender/security.js +3 -0
  28. package/dist/cjs/sender/security.js.map +1 -0
  29. package/dist/cjs/sender/sender.js +93 -0
  30. package/dist/cjs/sender/sender.js.map +1 -1
  31. package/dist/cjs/sender/{sessionegotiator.js → sessionnegotiator.js} +27 -10
  32. package/dist/cjs/sender/sessionnegotiator.js.map +1 -0
  33. package/dist/cjs/sender/tcp/tcpsender.js +36 -45
  34. package/dist/cjs/sender/tcp/tcpsender.js.map +1 -1
  35. package/dist/cjs/sender/websocket/websocketsender.js +16 -24
  36. package/dist/cjs/sender/websocket/websocketsender.js.map +1 -1
  37. package/dist/cjs/types/command.js.map +1 -1
  38. package/dist/cjs/types/desk.js.map +1 -1
  39. package/dist/cjs/types/message.js +3 -1
  40. package/dist/cjs/types/message.js.map +1 -1
  41. package/dist/cjs/types/node.js +12 -9
  42. package/dist/cjs/types/node.js.map +1 -1
  43. package/dist/cjs/types/notification.js +3 -0
  44. package/dist/cjs/types/notification.js.map +1 -1
  45. package/dist/cjs/types/reason.js +20 -0
  46. package/dist/cjs/types/reason.js.map +1 -0
  47. package/dist/cjs/types/session.js.map +1 -1
  48. package/dist/cjs/utils/uri.js +22 -36
  49. package/dist/cjs/utils/uri.js.map +1 -1
  50. package/dist/esm/client.js +33 -10
  51. package/dist/esm/client.js.map +1 -1
  52. package/dist/esm/namespaces/account.js +74 -52
  53. package/dist/esm/namespaces/account.js.map +1 -1
  54. package/dist/esm/namespaces/desk.js +17 -1
  55. package/dist/esm/namespaces/desk.js.map +1 -1
  56. package/dist/esm/namespaces/namespace.js +11 -11
  57. package/dist/esm/namespaces/namespace.js.map +1 -1
  58. package/dist/esm/namespaces/plugins.js +15 -3
  59. package/dist/esm/namespaces/plugins.js.map +1 -1
  60. package/dist/esm/namespaces/portal.js +131 -6
  61. package/dist/esm/namespaces/portal.js.map +1 -1
  62. package/dist/esm/namespaces/whatsapp.js +2 -3
  63. package/dist/esm/namespaces/whatsapp.js.map +1 -1
  64. package/dist/esm/sender/bliperror.js +13 -16
  65. package/dist/esm/sender/bliperror.js.map +1 -1
  66. package/dist/esm/sender/enveloperesolver.js +85 -6
  67. package/dist/esm/sender/enveloperesolver.js.map +1 -1
  68. package/dist/esm/sender/gateway/customgatewaysender.js +16 -9
  69. package/dist/esm/sender/gateway/customgatewaysender.js.map +1 -1
  70. package/dist/esm/sender/http/httpsender.js +29 -31
  71. package/dist/esm/sender/http/httpsender.js.map +1 -1
  72. package/dist/esm/sender/plugin/communication.js +9 -2
  73. package/dist/esm/sender/plugin/communication.js.map +1 -1
  74. package/dist/esm/sender/plugin/pluginsender.js +11 -59
  75. package/dist/esm/sender/plugin/pluginsender.js.map +1 -1
  76. package/dist/esm/sender/security.js +2 -0
  77. package/dist/esm/sender/security.js.map +1 -0
  78. package/dist/esm/sender/sender.js +90 -1
  79. package/dist/esm/sender/sender.js.map +1 -1
  80. package/dist/esm/sender/{sessionegotiator.js → sessionnegotiator.js} +27 -10
  81. package/dist/esm/sender/sessionnegotiator.js.map +1 -0
  82. package/dist/esm/sender/tcp/tcpsender.js +35 -44
  83. package/dist/esm/sender/tcp/tcpsender.js.map +1 -1
  84. package/dist/esm/sender/websocket/websocketsender.js +15 -23
  85. package/dist/esm/sender/websocket/websocketsender.js.map +1 -1
  86. package/dist/esm/types/command.js.map +1 -1
  87. package/dist/esm/types/desk.js.map +1 -1
  88. package/dist/esm/types/message.js +1 -0
  89. package/dist/esm/types/message.js.map +1 -1
  90. package/dist/esm/types/node.js +12 -9
  91. package/dist/esm/types/node.js.map +1 -1
  92. package/dist/esm/types/notification.js +1 -1
  93. package/dist/esm/types/notification.js.map +1 -1
  94. package/dist/esm/types/reason.js +16 -0
  95. package/dist/esm/types/reason.js.map +1 -0
  96. package/dist/esm/types/session.js.map +1 -1
  97. package/dist/esm/utils/uri.js +20 -34
  98. package/dist/esm/utils/uri.js.map +1 -1
  99. package/dist/types/client.d.ts +8 -6
  100. package/dist/types/client.d.ts.map +1 -1
  101. package/dist/types/namespaces/account.d.ts +8 -8
  102. package/dist/types/namespaces/account.d.ts.map +1 -1
  103. package/dist/types/namespaces/desk.d.ts +6 -0
  104. package/dist/types/namespaces/desk.d.ts.map +1 -1
  105. package/dist/types/namespaces/namespace.d.ts +6 -9
  106. package/dist/types/namespaces/namespace.d.ts.map +1 -1
  107. package/dist/types/namespaces/plugins.d.ts +6 -2
  108. package/dist/types/namespaces/plugins.d.ts.map +1 -1
  109. package/dist/types/namespaces/portal.d.ts +15 -4
  110. package/dist/types/namespaces/portal.d.ts.map +1 -1
  111. package/dist/types/namespaces/whatsapp.d.ts.map +1 -1
  112. package/dist/types/sender/bliperror.d.ts +6 -9
  113. package/dist/types/sender/bliperror.d.ts.map +1 -1
  114. package/dist/types/sender/enveloperesolver.d.ts +14 -1
  115. package/dist/types/sender/enveloperesolver.d.ts.map +1 -1
  116. package/dist/types/sender/gateway/customgatewaysender.d.ts +8 -4
  117. package/dist/types/sender/gateway/customgatewaysender.d.ts.map +1 -1
  118. package/dist/types/sender/http/httpsender.d.ts +10 -6
  119. package/dist/types/sender/http/httpsender.d.ts.map +1 -1
  120. package/dist/types/sender/plugin/communication.d.ts +2 -1
  121. package/dist/types/sender/plugin/communication.d.ts.map +1 -1
  122. package/dist/types/sender/plugin/pluginsender.d.ts +4 -8
  123. package/dist/types/sender/plugin/pluginsender.d.ts.map +1 -1
  124. package/dist/types/sender/security.d.ts +22 -0
  125. package/dist/types/sender/security.d.ts.map +1 -0
  126. package/dist/types/sender/sender.d.ts +32 -4
  127. package/dist/types/sender/sender.d.ts.map +1 -1
  128. package/dist/types/sender/{sessionegotiator.d.ts → sessionnegotiator.d.ts} +11 -16
  129. package/dist/types/sender/sessionnegotiator.d.ts.map +1 -0
  130. package/dist/types/sender/tcp/tcpsender.d.ts +16 -14
  131. package/dist/types/sender/tcp/tcpsender.d.ts.map +1 -1
  132. package/dist/types/sender/websocket/websocketsender.d.ts +11 -14
  133. package/dist/types/sender/websocket/websocketsender.d.ts.map +1 -1
  134. package/dist/types/types/account.d.ts +22 -0
  135. package/dist/types/types/account.d.ts.map +1 -1
  136. package/dist/types/types/billing.d.ts +1 -1
  137. package/dist/types/types/billing.d.ts.map +1 -1
  138. package/dist/types/types/command.d.ts +16 -12
  139. package/dist/types/types/command.d.ts.map +1 -1
  140. package/dist/types/types/commons.d.ts +1 -0
  141. package/dist/types/types/commons.d.ts.map +1 -1
  142. package/dist/types/types/desk.d.ts +1 -1
  143. package/dist/types/types/desk.d.ts.map +1 -1
  144. package/dist/types/types/message.d.ts +1 -0
  145. package/dist/types/types/message.d.ts.map +1 -1
  146. package/dist/types/types/node.d.ts +8 -4
  147. package/dist/types/types/node.d.ts.map +1 -1
  148. package/dist/types/types/notification.d.ts +3 -4
  149. package/dist/types/types/notification.d.ts.map +1 -1
  150. package/dist/types/types/portal.d.ts +27 -0
  151. package/dist/types/types/portal.d.ts.map +1 -1
  152. package/dist/types/types/reason.d.ts +12 -0
  153. package/dist/types/types/reason.d.ts.map +1 -0
  154. package/dist/types/types/session.d.ts +4 -5
  155. package/dist/types/types/session.d.ts.map +1 -1
  156. package/dist/types/utils/uri.d.ts +4 -3
  157. package/dist/types/utils/uri.d.ts.map +1 -1
  158. package/package.json +1 -1
  159. package/dist/cjs/sender/sessionegotiator.js.map +0 -1
  160. package/dist/esm/sender/sessionegotiator.js.map +0 -1
  161. package/dist/types/sender/sessionegotiator.d.ts.map +0 -1
@@ -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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"}
@@ -4,26 +4,33 @@ exports.startChannel = void 0;
4
4
  const random_ts_1 = require("../../utils/random.js");
5
5
  const startChannel = () => {
6
6
  const caller = window.name ?? (0, random_ts_1.randomId)();
7
+ let isDesk = false;
7
8
  const waitingMessages = {};
8
- const messageHandler = ({ data }) => {
9
+ const messageHandler = ({ data, origin }) => {
10
+ if (origin.endsWith('.desk.blip.ai')) {
11
+ isDesk = true;
12
+ }
9
13
  const deferred = waitingMessages[data?.trackingProperties?.id];
10
14
  if (deferred) {
11
15
  if (data.message?.caller === caller) {
12
16
  // This is a echo message, ignore it
13
17
  return;
14
18
  }
19
+ delete waitingMessages[data.trackingProperties.id];
15
20
  if (data.error) {
16
21
  deferred.reject(JSON.parse(data.error));
17
22
  }
18
23
  else {
19
24
  deferred.resolve(data.response);
20
25
  }
21
- delete waitingMessages[data.trackingProperties.id];
22
26
  }
23
27
  };
24
28
  window.addEventListener('message', messageHandler);
25
29
  let isDestroyed = false;
26
30
  return {
31
+ get isDesk() {
32
+ return isDesk;
33
+ },
27
34
  post: (action, content, options) => {
28
35
  if (isDestroyed) {
29
36
  throw new Error('Channel is destroyed');
@@ -1 +1 @@
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"}
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;IACxC,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,MAAM,eAAe,GAA8E,EAAE,CAAA;IACrG,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAgB,EAAE,EAAE;QACtD,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,IAAI,CAAA;QACjB,CAAC;QAED,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,OAAO,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;YAClD,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;QACL,CAAC;IACL,CAAC,CAAA;IACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAElD,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,OAAO;QACH,IAAI,MAAM;YACN,OAAO,MAAM,CAAA;QACjB,CAAC;QACD,IAAI,EAAE,CAAI,MAAc,EAAE,OAAgB,EAAE,OAA0D,EAAE,EAAE;YACtG,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;AArEY,QAAA,YAAY,gBAqExB"}
@@ -2,12 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PluginSender = void 0;
4
4
  const index_ts_1 = require("../../index.js");
5
+ const reason_ts_1 = require("../../types/reason.js");
5
6
  const communication_ts_1 = require("./communication.js");
6
7
  class PluginSender {
7
- blipDesk;
8
8
  channel;
9
- constructor(blipDesk) {
10
- this.blipDesk = blipDesk;
9
+ constructor() {
11
10
  this.channel = (0, communication_ts_1.startChannel)();
12
11
  }
13
12
  async sendMessage(message) {
@@ -24,21 +23,17 @@ class PluginSender {
24
23
  });
25
24
  }
26
25
  async sendCommand(command) {
27
- const toDomain = command.to ? index_ts_1.Node.from(command.to).domain : undefined;
28
- // Desk doesn't handle this automatically like portal does
29
- const fixedCommand = this.getRealm() === 'desk' && toDomain?.endsWith('msging.net')
30
- ? await this.fixBlipDeskMsgingCommand(command)
31
- : command;
26
+ const destination = this.getRealm() === 'desk'
27
+ ? undefined
28
+ : command.to && index_ts_1.Node.from(command.to).domain?.endsWith('msging.net')
29
+ ? 'MessagingHubService'
30
+ : 'BlipService';
32
31
  try {
33
- return await this.channel.post('sendCommand', {
34
- command: fixedCommand,
35
- destination: toDomain?.endsWith('msging.net') ? 'MessagingHubService' : 'BlipService',
36
- });
32
+ return await this.channel.post('sendCommand', { command, destination });
37
33
  }
38
34
  catch (err) {
39
- if (err && typeof err === 'object' && 'code' in err && 'description' in err) {
40
- const knownerror = err;
41
- throw new index_ts_1.BlipError(command.uri, knownerror.code, knownerror.description);
35
+ if ((0, reason_ts_1.isReason)(err)) {
36
+ throw new index_ts_1.BlipError(command.uri, err);
42
37
  }
43
38
  else if (index_ts_1.BlipError.isFailedCommandResponse(err)) {
44
39
  throw index_ts_1.BlipError.commandResponseToBlipError(command.uri, err);
@@ -61,50 +56,7 @@ class PluginSender {
61
56
  return blipClient.sender.getRealm();
62
57
  }
63
58
  getRealm() {
64
- return this.blipDesk ? 'desk' : 'portal';
65
- }
66
- cachedAccountPromise = undefined;
67
- async fixBlipDeskMsgingCommand(command) {
68
- if (!this.cachedAccountPromise) {
69
- this.cachedAccountPromise = this.sendCommand({
70
- id: Date.now().toString(),
71
- uri: '/account',
72
- method: 'get',
73
- });
74
- }
75
- const accountResponse = await this.cachedAccountPromise;
76
- if (typeof accountResponse !== 'object' ||
77
- !accountResponse ||
78
- !('identity' in accountResponse) ||
79
- typeof accountResponse.identity !== 'string' ||
80
- !index_ts_1.Node.isValid(accountResponse?.identity)) {
81
- throw new Error('Account identity not found or invalid');
82
- }
83
- if (command.uri.startsWith('lime://')) {
84
- if (command.uri.match(/^lime:\/\/.*?@msging.net\//)) {
85
- // the command is already resolved to delegate to the bot
86
- return command;
87
- }
88
- if (!this.blipDesk?.overrideBotIdentity) {
89
- throw new Error(`Sent a command to msging.net without specified bot sender: ${command.uri}`);
90
- }
91
- // the command should be double delegated, firstly to the bot and then to the other destination
92
- return {
93
- ...command,
94
- from: this.blipDesk.overrideBotIdentity,
95
- pp: index_ts_1.Node.from(accountResponse.identity).withInstance('!desk'),
96
- };
97
- }
98
- else {
99
- if (!this.blipDesk?.overrideBotIdentity) {
100
- throw new Error(`Sent a command to msging.net without specified bot sender: ${command.uri}`);
101
- }
102
- // desk always expect that command uris starts with lime://
103
- return {
104
- ...command,
105
- uri: `lime://${this.blipDesk.overrideBotIdentity}${command.uri}`,
106
- };
107
- }
59
+ return this.channel.isDesk ? 'desk' : 'portal';
108
60
  }
109
61
  }
110
62
  exports.PluginSender = PluginSender;
@@ -1 +1 @@
1
- {"version":3,"file":"pluginsender.js","sourceRoot":"","sources":["../../../../src/sender/plugin/pluginsender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginsender.js","sourceRoot":"","sources":["../../../../src/sender/plugin/pluginsender.ts"],"names":[],"mappings":";;;AAAA,6CASuB;AACvB,qDAAgD;AAChD,yDAAiD;AAEjD,MAAa,YAAY;IACL,OAAO,CAAA;IAEvB;QACI,IAAI,CAAC,OAAO,GAAG,IAAA,+BAAY,GAAE,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,WAAW,CAA4B,OAAsB;QACtE,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,EAAE,EAAE,iCAAiC;YACrC,GAAG,EAAE,YAAY;YACjB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EAAE;gBACN,OAAO;gBACP,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACjC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAgC;QACrD,MAAM,WAAW,GACb,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,eAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC;gBAClE,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,aAAa,CAAA;QAEzB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,IAAA,oBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,oBAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACzC,CAAC;iBAAM,IAAI,oBAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,oBAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAChE,CAAC;YAED,MAAM,GAAG,CAAA;QACb,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAsB;QACtC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,YAAY,YAAY,CAAA;QAChE,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACtE,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,UAAsB;QACzC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,YAAY,YAAY,CAAA;QAChE,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACtE,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IACvC,CAAC;IAEO,QAAQ;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IAClD,CAAC;CACJ;AA7DD,oCA6DC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../src/sender/security.ts"],"names":[],"mappings":""}
@@ -1,3 +1,96 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenConnectionSender = exports.ConnectionSender = void 0;
4
+ const index_ts_1 = require("../types/index.js");
5
+ const enveloperesolver_ts_1 = require("./enveloperesolver.js");
6
+ class ConnectionSender {
7
+ _domain;
8
+ constructor(options) {
9
+ this._domain = index_ts_1.Node.from(options.node).domain ?? 'msging.net';
10
+ }
11
+ get domain() {
12
+ return this._domain;
13
+ }
14
+ static login(tokenOrBot, accessKeyOrTenantId, tenantIdOrUndefined) {
15
+ let node;
16
+ let accessKey;
17
+ let tenantId;
18
+ const isTokenBasedAuth = !tenantIdOrUndefined && typeof tokenOrBot === 'string';
19
+ if (isTokenBasedAuth) {
20
+ try {
21
+ const { identity, secret } = ConnectionSender.parseToken(tokenOrBot);
22
+ node = identity;
23
+ accessKey = secret;
24
+ tenantId = accessKeyOrTenantId;
25
+ }
26
+ catch {
27
+ if (!accessKeyOrTenantId) {
28
+ throw new Error('Invalid token format and no access key provided');
29
+ }
30
+ node = index_ts_1.Node.from(tokenOrBot, 'msging.net');
31
+ accessKey = accessKeyOrTenantId;
32
+ tenantId = tenantIdOrUndefined;
33
+ }
34
+ }
35
+ else {
36
+ if (!accessKeyOrTenantId) {
37
+ throw new Error('Access key must be provided for bot-based authentication');
38
+ }
39
+ node = index_ts_1.Node.from(tokenOrBot, 'msging.net');
40
+ accessKey = accessKeyOrTenantId;
41
+ tenantId = tenantIdOrUndefined;
42
+ }
43
+ // biome-ignore lint/complexity/noThisInStatic: fair use-case
44
+ return new this({
45
+ node,
46
+ authentication: {
47
+ scheme: 'key',
48
+ key: accessKey,
49
+ },
50
+ tenantId,
51
+ });
52
+ }
53
+ static createToken(node, secret) {
54
+ const identity = index_ts_1.Node.from(node).toIdentity();
55
+ return btoa(`${identity}:${atob(secret)}`);
56
+ }
57
+ static parseToken(token) {
58
+ let cleantoken = token.trim();
59
+ const parts = cleantoken.split(' ');
60
+ if (parts.length > 1) {
61
+ cleantoken = parts[1];
62
+ }
63
+ const [identityOrIdentifier, key] = atob(cleantoken).split(':');
64
+ if (!identityOrIdentifier || !key) {
65
+ throw new Error('Invalid token format');
66
+ }
67
+ const identity = index_ts_1.Node.isValid(identityOrIdentifier)
68
+ ? identityOrIdentifier
69
+ : new index_ts_1.Node(identityOrIdentifier, 'msging.net').toIdentity();
70
+ return {
71
+ identity,
72
+ secret: btoa(key),
73
+ };
74
+ }
75
+ }
76
+ exports.ConnectionSender = ConnectionSender;
77
+ class OpenConnectionSender extends ConnectionSender {
78
+ envelopeResolver = new enveloperesolver_ts_1.EnvelopeResolver(this);
79
+ sessionNegotiator = null;
80
+ on(ev, listener, predicate) {
81
+ this.envelopeResolver.addListener(ev, {
82
+ callback: listener,
83
+ predicate: predicate,
84
+ });
85
+ return this;
86
+ }
87
+ off(ev, listener) {
88
+ this.envelopeResolver.removeListener(ev, listener);
89
+ return this;
90
+ }
91
+ get session() {
92
+ return this.sessionNegotiator?.session ?? null;
93
+ }
94
+ }
95
+ exports.OpenConnectionSender = OpenConnectionSender;
3
96
  //# sourceMappingURL=sender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SessionNegotiator = void 0;
4
4
  const node_ts_1 = require("../types/node.js");
5
+ const sender_ts_1 = require("./sender.js");
5
6
  class SessionNegotiator {
6
7
  sender;
7
8
  sendSession;
8
9
  state = 'new';
9
10
  session = null;
10
11
  presencePromise = null;
11
- currentMessageResolver = null;
12
+ currentSessionResolver = null;
12
13
  constructor(sender, sendSession) {
13
14
  this.sender = sender;
14
15
  this.sendSession = sendSession;
@@ -45,15 +46,23 @@ class SessionNegotiator {
45
46
  else {
46
47
  throw new Error('Unexpected session state');
47
48
  }
49
+ if (options.authentication.scheme === 'token') {
50
+ const { secret } = sender_ts_1.OpenConnectionSender.parseToken(options.authentication.token);
51
+ options.authentication = {
52
+ scheme: 'key',
53
+ key: secret,
54
+ };
55
+ }
48
56
  if (!authenticating.schemeOptions?.includes(options.authentication.scheme)) {
49
57
  throw new Error(`Unsupported authentication scheme: ${options.authentication.scheme} (${authenticating.schemeOptions})`);
50
58
  }
59
+ const { scheme, ...authenticationOptions } = options.authentication;
51
60
  this.sendSession({
52
61
  id: authenticating.id,
53
62
  from: options.node,
54
63
  state: 'authenticating',
55
- scheme: options.authentication.scheme,
56
- authentication: options.authentication,
64
+ scheme,
65
+ authentication: authenticationOptions,
57
66
  });
58
67
  const authenticated = await this.waitForSessionResponse();
59
68
  if (authenticated.state !== 'established') {
@@ -63,16 +72,17 @@ class SessionNegotiator {
63
72
  id: authenticated.id,
64
73
  localNode: node_ts_1.Node.from(authenticated.to),
65
74
  remoteNode: node_ts_1.Node.from(authenticated.from),
75
+ scheme,
66
76
  };
67
77
  }
68
78
  finally {
69
79
  clearTimeout(timeout);
70
80
  }
71
81
  }
72
- handleEnvelope(message) {
73
- if (this.currentMessageResolver) {
74
- this.currentMessageResolver.resolve(message);
75
- this.currentMessageResolver = null;
82
+ handleEnvelope(envelope) {
83
+ if (this.currentSessionResolver) {
84
+ this.currentSessionResolver.resolve(envelope);
85
+ this.currentSessionResolver = null;
76
86
  }
77
87
  }
78
88
  async ensurePresence(currentCommandUri = '') {
@@ -82,8 +92,15 @@ class SessionNegotiator {
82
92
  if (this.state === 'present') {
83
93
  return;
84
94
  }
85
- // its actually setting the presence
95
+ if (this.session.scheme === 'guest') {
96
+ return;
97
+ }
86
98
  if (currentCommandUri === '/presence') {
99
+ // someone is already setting the presence manually
100
+ if (!this.presencePromise) {
101
+ this.state = 'present';
102
+ }
103
+ // its actually setting the presence
87
104
  return;
88
105
  }
89
106
  if (this.presencePromise) {
@@ -115,7 +132,7 @@ class SessionNegotiator {
115
132
  }
116
133
  async waitForSessionResponse() {
117
134
  const { promise, resolve, reject } = Promise.withResolvers();
118
- this.currentMessageResolver = { resolve, reject };
135
+ this.currentSessionResolver = { resolve, reject };
119
136
  const session = await promise;
120
137
  if (session.state === 'failed') {
121
138
  throw new Error(`Session negotiation failed: ${session.reason?.description} (${session.reason?.code})`);
@@ -125,4 +142,4 @@ class SessionNegotiator {
125
142
  }
126
143
  }
127
144
  exports.SessionNegotiator = SessionNegotiator;
128
- //# sourceMappingURL=sessionegotiator.js.map
145
+ //# sourceMappingURL=sessionnegotiator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionnegotiator.js","sourceRoot":"","sources":["../../../src/sender/sessionnegotiator.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TCPSender = void 0;
4
- const index_ts_1 = require("../../types/index.js");
5
4
  const bliperror_ts_1 = require("../bliperror.js");
6
- const enveloperesolver_ts_1 = require("../enveloperesolver.js");
7
- const sessionegotiator_ts_1 = require("../sessionegotiator.js");
5
+ const sender_ts_1 = require("../sender.js");
6
+ const sessionnegotiator_ts_1 = require("../sessionnegotiator.js");
8
7
  const throttler_ts_1 = require("../throttler.js");
9
- class TCPSender {
8
+ /**
9
+ * @remarks
10
+ * The TCP implementation has a known limitation where large command
11
+ * responses can be lost and the awaiting promise will never resolve.
12
+ * Unless TCP is explicitly required, prefer using {@link WebSocketSender}
13
+ */
14
+ class TCPSender extends sender_ts_1.OpenConnectionSender {
10
15
  throttler = new throttler_ts_1.EnvelopeThrottler();
11
- envelopeResolver = new enveloperesolver_ts_1.EnvelopeResolver(this);
12
16
  connectionHandle;
13
- sessionNegotiator = null;
14
17
  constructor(options) {
18
+ super(options);
15
19
  const prefix = options.tenantId ? `${options.tenantId}.` : '';
16
- const domain = options.domain ?? 'msging.net';
17
- this.connectionHandle = new TCPHandle(`${prefix}tcp.${domain}`, 443, async (socket) => {
18
- this.sessionNegotiator = new sessionegotiator_ts_1.SessionNegotiator(this, (session) => {
20
+ this.connectionHandle = new TCPHandle(`${prefix}tcp.${this.domain}`, 443, async (socket) => {
21
+ this.sessionNegotiator = new sessionnegotiator_ts_1.SessionNegotiator(this, (session) => {
19
22
  socket.write(JSON.stringify(session));
20
23
  });
21
24
  return this.sessionNegotiator.negotiate({
@@ -29,6 +32,10 @@ class TCPSender {
29
32
  this.envelopeResolver.resolve(envelope);
30
33
  });
31
34
  }
35
+ async sendNotification(notification) {
36
+ const socket = await this.connectionHandle.get();
37
+ socket.write(JSON.stringify(notification));
38
+ }
32
39
  async sendMessage(message) {
33
40
  await this.throttler.throttle('message');
34
41
  const socket = await this.connectionHandle.get();
@@ -50,7 +57,7 @@ class TCPSender {
50
57
  return response.resource;
51
58
  }
52
59
  else {
53
- throw new Error(`Unexpected command response for command: ${command.uri}`);
60
+ throw new Error(`Unexpected response for command '${command.uri}': ${JSON.stringify(response)}`);
54
61
  }
55
62
  });
56
63
  }
@@ -62,20 +69,7 @@ class TCPSender {
62
69
  this.sessionNegotiator?.finish();
63
70
  await this.connectionHandle.close();
64
71
  }
65
- static login(botIdentityOrIdentifier, accessKey, tenantId) {
66
- const node = index_ts_1.Node.isValid(botIdentityOrIdentifier)
67
- ? index_ts_1.Node.from(botIdentityOrIdentifier)
68
- : new index_ts_1.Node(botIdentityOrIdentifier, 'msging.net');
69
- return new TCPSender({
70
- node,
71
- authentication: {
72
- scheme: 'key',
73
- key: accessKey,
74
- },
75
- domain: 'msging.net',
76
- tenantId,
77
- });
78
- }
72
+ static login = (sender_ts_1.ConnectionSender.login);
79
73
  async withRetryPolicy(fn, retries = 10) {
80
74
  try {
81
75
  return await fn();
@@ -114,18 +108,18 @@ class TCPHandle {
114
108
  }
115
109
  async connect(host, port, onConnected, onMessage) {
116
110
  const { connect } = await Promise.resolve().then(() => require('node:net'));
117
- const socket = connect({ host, port });
111
+ const socket = connect({ host, port }).setEncoding('utf8');
118
112
  let buffer = '';
119
113
  await new Promise((resolve) => {
120
- socket.on('connect', () => {
114
+ socket.once('connect', () => {
121
115
  resolve();
122
116
  });
123
- socket.on('error', (err) => {
117
+ socket.once('error', (err) => {
124
118
  if (!this.closing) {
125
119
  throw err;
126
120
  }
127
121
  });
128
- socket.on('close', () => {
122
+ socket.once('close', () => {
129
123
  if (!this.closing) {
130
124
  this.connectionAttempts++;
131
125
  if (this.connectionAttempts < 3) {
@@ -137,8 +131,7 @@ class TCPHandle {
137
131
  }
138
132
  });
139
133
  socket.on('data', (chunk) => {
140
- buffer += chunk.toString();
141
- const result = this.tryParseJSON(buffer);
134
+ const result = this.tryParseJSON(buffer + chunk);
142
135
  buffer = result.remainingBuffer;
143
136
  for (const parsed of result.parsedObjects) {
144
137
  onMessage(parsed);
@@ -172,21 +165,19 @@ class TCPHandle {
172
165
  inString = false;
173
166
  }
174
167
  }
175
- else {
176
- if (char === '"') {
177
- inString = true;
178
- }
179
- else if (char === '{') {
180
- braceCount++;
181
- }
182
- else if (char === '}') {
183
- braceCount--;
184
- // When all opened braces are closed, we found the end.
185
- if (braceCount === 0) {
186
- endIndex = i;
187
- foundEnd = true;
188
- break;
189
- }
168
+ else if (char === '"') {
169
+ inString = true;
170
+ }
171
+ else if (char === '{') {
172
+ braceCount++;
173
+ }
174
+ else if (char === '}') {
175
+ braceCount--;
176
+ // When all opened braces are closed, we found the end.
177
+ if (braceCount === 0) {
178
+ endIndex = i;
179
+ foundEnd = true;
180
+ break;
190
181
  }
191
182
  }
192
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tcpsender.js","sourceRoot":"","sources":["../../../../src/sender/tcp/tcpsender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tcpsender.js","sourceRoot":"","sources":["../../../../src/sender/tcp/tcpsender.ts"],"names":[],"mappings":"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"}