@whitewall/blip-sdk 0.0.180 → 0.0.182

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 (40) hide show
  1. package/dist/cjs/namespaces/billing.js +20 -4
  2. package/dist/cjs/namespaces/billing.js.map +1 -1
  3. package/dist/cjs/sender/enveloperesolver.js +2 -2
  4. package/dist/cjs/sender/enveloperesolver.js.map +1 -1
  5. package/dist/cjs/sender/sender.js +6 -0
  6. package/dist/cjs/sender/sender.js.map +1 -1
  7. package/dist/cjs/sender/sessionnegotiator.js +15 -7
  8. package/dist/cjs/sender/sessionnegotiator.js.map +1 -1
  9. package/dist/cjs/sender/tcp/tcpsender.js +47 -31
  10. package/dist/cjs/sender/tcp/tcpsender.js.map +1 -1
  11. package/dist/cjs/sender/websocket/websocketsender.js +40 -12
  12. package/dist/cjs/sender/websocket/websocketsender.js.map +1 -1
  13. package/dist/esm/namespaces/billing.js +20 -4
  14. package/dist/esm/namespaces/billing.js.map +1 -1
  15. package/dist/esm/sender/enveloperesolver.js +2 -2
  16. package/dist/esm/sender/enveloperesolver.js.map +1 -1
  17. package/dist/esm/sender/sender.js +6 -0
  18. package/dist/esm/sender/sender.js.map +1 -1
  19. package/dist/esm/sender/sessionnegotiator.js +15 -7
  20. package/dist/esm/sender/sessionnegotiator.js.map +1 -1
  21. package/dist/esm/sender/tcp/tcpsender.js +47 -31
  22. package/dist/esm/sender/tcp/tcpsender.js.map +1 -1
  23. package/dist/esm/sender/websocket/websocketsender.js +40 -12
  24. package/dist/esm/sender/websocket/websocketsender.js.map +1 -1
  25. package/dist/types/namespaces/billing.d.ts +8 -1
  26. package/dist/types/namespaces/billing.d.ts.map +1 -1
  27. package/dist/types/sender/enveloperesolver.d.ts +1 -1
  28. package/dist/types/sender/enveloperesolver.d.ts.map +1 -1
  29. package/dist/types/sender/sender.d.ts +1 -0
  30. package/dist/types/sender/sender.d.ts.map +1 -1
  31. package/dist/types/sender/sessionnegotiator.d.ts +2 -0
  32. package/dist/types/sender/sessionnegotiator.d.ts.map +1 -1
  33. package/dist/types/sender/tcp/tcpsender.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/namespaces/billing.ts +21 -5
  36. package/src/sender/enveloperesolver.ts +2 -2
  37. package/src/sender/sender.ts +7 -0
  38. package/src/sender/sessionnegotiator.ts +16 -7
  39. package/src/sender/tcp/tcpsender.ts +51 -33
  40. package/src/sender/websocket/websocketsender.ts +40 -14
@@ -7,16 +7,14 @@ export class SessionNegotiator {
7
7
  session = null;
8
8
  presencePromise = null;
9
9
  currentSessionResolver = null;
10
+ failure = null;
10
11
  constructor(sender, sendSession) {
11
12
  this.sender = sender;
12
13
  this.sendSession = sendSession;
13
14
  }
14
15
  async negotiate(options) {
15
- const timeout = setTimeout(async () => {
16
- if (this.negotiating) {
17
- await this.sender.close();
18
- throw new Error('Negotiation timeout');
19
- }
16
+ const timeout = setTimeout(() => {
17
+ this.fail(new Error('Negotiation timeout'));
20
18
  }, 60000); // 60 seconds
21
19
  try {
22
20
  this.sendSession({
@@ -89,6 +87,13 @@ export class SessionNegotiator {
89
87
  this.currentSessionResolver = null;
90
88
  }
91
89
  }
90
+ fail(error) {
91
+ this.failure = error;
92
+ if (this.currentSessionResolver) {
93
+ this.currentSessionResolver.reject(error);
94
+ this.currentSessionResolver = null;
95
+ }
96
+ }
92
97
  async ensurePresence(currentCommandUri = '') {
93
98
  if (!this.session) {
94
99
  throw new Error('Session not established');
@@ -124,10 +129,10 @@ export class SessionNegotiator {
124
129
  }
125
130
  finish() {
126
131
  if (!this.session) {
127
- throw new Error('Session not established');
132
+ return;
128
133
  }
129
134
  this.sendSession({
130
- id: this.session?.id,
135
+ id: this.session.id,
131
136
  state: 'finishing',
132
137
  });
133
138
  }
@@ -135,6 +140,9 @@ export class SessionNegotiator {
135
140
  return this.state !== 'established' && this.state !== 'present';
136
141
  }
137
142
  async waitForSessionResponse() {
143
+ if (this.failure) {
144
+ throw this.failure;
145
+ }
138
146
  const { promise, resolve, reject } = Promise.withResolvers();
139
147
  this.currentSessionResolver = { resolve, reject };
140
148
  const session = await promise;
@@ -1 +1 @@
1
- {"version":3,"file":"sessionnegotiator.js","sourceRoot":"","sources":["../../../src/sender/sessionnegotiator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAiB,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AASlD,MAAM,OAAO,iBAAiB;IAQL;IACA;IARd,KAAK,GAAiC,KAAK,CAAA;IAC3C,OAAO,GAA6B,IAAI,CAAA;IAEvC,eAAe,GAAyB,IAAI,CAAA;IAC5C,sBAAsB,GAAqE,IAAI,CAAA;IAEvG,YACqB,MAA4B,EAC5B,WAAuC;QADvC,WAAM,GAAN,MAAM,CAAsB;QAC5B,gBAAW,GAAX,WAAW,CAA4B;IACzD,CAAC;IAEG,KAAK,CAAC,SAAS,CAAC,OAItB;QACG,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC1C,CAAC;QACL,CAAC,EAAE,KAAK,CAAC,CAAA,CAAC,aAAa;QAEvB,IAAI,CAAC;YACD,IAAI,CAAC,WAAW,CAAC;gBACb,KAAK,EAAE,KAAK;aACJ,CAAC,CAAA;YAEb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAA;YAExF,IAAI,cAAuB,CAAA;YAC3B,IAAI,WAAW,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBACtC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;gBACnD,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,KAAK,CAAC,2CAA2C,iBAAiB,IAAI,CAAC,CAAA;gBACrF,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC;oBACb,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,KAAK,EAAE,aAAa;oBACpB,UAAU,EAAE,iBAAiB;oBAC7B,WAAW,EAAE,WAAW,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;iBACtD,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;gBAEnC,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,OAAO,CAAC,YAAa,EAAE,CAAA;gBACjC,CAAC;gBAED,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACxD,CAAC;iBAAM,IAAI,WAAW,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;gBAChD,cAAc,GAAG,WAAW,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC/C,CAAC;YAED,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;gBAChF,OAAO,CAAC,cAAc,GAAG;oBACrB,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,MAAM;iBACd,CAAA;YACL,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CACX,sCAAsC,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,aAAa,GAAG,CAC1G,CAAA;YACL,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,cAAc,CAAA;YAClD,gFAAgF;YAChF,MAAM,qBAAqB,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;YAChE,IAAI,CAAC,WAAW,CAAC;gBACb,EAAE,EAAE,cAAc,CAAC,EAAE;gBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,gBAAgB;gBACvB,MAAM;gBACN,cAAc,EAAE,qBAAqB;aACxC,CAAC,CAAA;YACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACzD,IAAI,aAAa,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC5C,CAAC;YAED,IAAI,CAAC,OAAO,GAAG;gBACX,EAAE,EAAE,aAAa,CAAC,EAAE;gBACpB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAG,CAAC;gBACvC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAK,CAAC;gBAC1C,MAAM;aACT,CAAA;QACL,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,QAAkB;QACpC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAmB,CAAC,CAAA;YACxD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAA;QACtC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,iBAAiB,GAAG,EAAE;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAM;QACV,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAClC,OAAM;QACV,CAAC;QAED,IAAI,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACpC,mDAAmD;YACnD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;YAC1B,CAAC;YAED,oCAAoC;YACpC,OAAM;QACV,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,eAAe,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC3C,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EAAE;gBACN,MAAM,EAAE,WAAW;aACtB;SACJ,CAAkB,CAAA;QAEnB,MAAM,IAAI,CAAC,eAAe,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;IAC1B,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC;YACb,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE;YACpB,KAAK,EAAE,WAAW;SACrB,CAAC,CAAA;IACN,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAA;IACnE,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAW,CAAA;QACrE,IAAI,CAAC,sBAAsB,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAA;QAC7B,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAA;QAC3G,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,OAAO,OAAO,CAAA;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"sessionnegotiator.js","sourceRoot":"","sources":["../../../src/sender/sessionnegotiator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { logger } from "../../utils/logger.js";
2
1
  import { BlipError } from "../bliperror.js";
3
2
  import { RetryableError } from "../retryableerror.js";
4
3
  import { ConnectionSender, OpenConnectionSender } from "../sender.js";
@@ -21,20 +20,19 @@ export class TCPSender extends OpenConnectionSender {
21
20
  const host = `${prefix}tcp.${this.domain}`;
22
21
  const auth = options.authentication;
23
22
  const tlsOptions = auth.scheme === 'transport' ? { ...buildTlsConnectOptions(auth), servername: host } : null;
24
- this.connectionHandle = new TCPHandle(host, 443, () => {
23
+ this.connectionHandle = new TCPHandle(host, 443, (socketRef) => {
25
24
  this.sessionNegotiator = new SessionNegotiator(this, (session) => {
26
- this.connectionHandle
27
- .get()
28
- .then((s) => s.write(JSON.stringify(session)))
29
- .catch((err) => logger.warn('TCPSender', 'Failed to write session frame', err));
25
+ socketRef.current.write(JSON.stringify(session));
30
26
  });
31
- const upgradeToTls = tlsOptions ? () => this.connectionHandle.upgradeToTls(tlsOptions) : undefined;
27
+ const upgradeToTls = tlsOptions
28
+ ? () => this.connectionHandle.upgradeToTls(tlsOptions, socketRef)
29
+ : undefined;
32
30
  return this.sessionNegotiator.negotiate({
33
31
  node: options.node,
34
32
  authentication: auth,
35
33
  upgradeToTls,
36
34
  });
37
- }, () => this.envelopeResolver.rejectPendingEnvelopes('Connection was closed'), (envelope) => {
35
+ }, () => this.rejectPending('Connection was closed'), (envelope) => {
38
36
  if (this.sessionNegotiator?.negotiating) {
39
37
  return this.sessionNegotiator.handleEnvelope(envelope);
40
38
  }
@@ -117,15 +115,16 @@ class TCPHandle {
117
115
  current.end().removeAllListeners().destroySoon();
118
116
  }
119
117
  }
120
- async upgradeToTls(options) {
121
- if (!this.currentSocketPromise) {
122
- throw new Error('Cannot upgrade: no active socket.');
123
- }
124
- const plain = await this.currentSocketPromise;
118
+ async upgradeToTls(options, socketRef) {
119
+ const plain = socketRef.current;
125
120
  plain.removeAllListeners('data');
126
121
  this.buffer = Buffer.alloc(0);
127
122
  const { connect: tlsConnect } = await import('node:tls');
128
123
  const secured = tlsConnect({ ...options, socket: plain });
124
+ // Permanent no-op handler attached up front, so errors that arrive in
125
+ // the microtask gap after secureConnect resolves don't become
126
+ // uncaughtException. The underlying TCP socket's 'close' drives reconnect.
127
+ secured.on('error', () => undefined);
129
128
  await new Promise((resolve, reject) => {
130
129
  const onError = (err) => {
131
130
  secured.off('secureConnect', onConnect);
@@ -139,7 +138,7 @@ class TCPHandle {
139
138
  secured.once('error', onError);
140
139
  });
141
140
  this.attachDataListener(secured);
142
- this.currentSocketPromise = Promise.resolve(secured);
141
+ socketRef.current = secured;
143
142
  }
144
143
  attachDataListener(socket) {
145
144
  socket.on('data', (chunk) => {
@@ -154,37 +153,54 @@ class TCPHandle {
154
153
  const { connect } = await import('node:net');
155
154
  const socket = connect({ host, port }).setKeepAlive(true);
156
155
  this.buffer = Buffer.alloc(0);
157
- await new Promise((resolve) => {
156
+ // Mutable holder so upgradeToTls can swap the socket mid-handshake;
157
+ // the negotiator's sendSession reads .current at write time, so frames
158
+ // always go to the active socket even after the TLS upgrade.
159
+ const socketRef = { current: socket };
160
+ await new Promise((resolve, reject) => {
161
+ let connected = false;
158
162
  socket.once('connect', () => {
163
+ connected = true;
159
164
  resolve();
160
165
  });
161
166
  socket.once('error', (err) => {
162
- if (!this.closing) {
163
- throw err;
167
+ if (!connected) {
168
+ reject(err);
164
169
  }
170
+ // Post-connect errors are followed by 'close', which drives reconnect;
171
+ // this listener exists only to prevent uncaughtException.
165
172
  });
166
173
  socket.once('close', () => {
167
- socket.removeAllListeners('data');
174
+ // socketRef.current is the TLS-upgraded socket if upgrade ran; the
175
+ // plain one otherwise. Both cases hold the only live data listener.
176
+ socketRef.current.removeAllListeners('data');
168
177
  if (!this.closing) {
169
- onClose();
178
+ if (connected)
179
+ onClose();
170
180
  this.connectionAttempts++;
171
- if (this.connectionAttempts < 3) {
172
- this.currentSocketPromise = this.connect(host, port, onConnected, onClose);
173
- }
174
- else {
175
- throw new Error('Failed to connect/reconnect to TCP socket');
176
- }
181
+ // Swallow the rejection of the now-orphaned previous promise; any
182
+ // in-flight get() awaiter still sees it via their captured reference.
183
+ const previous = this.currentSocketPromise;
184
+ this.currentSocketPromise =
185
+ this.connectionAttempts < 3 ? this.connect(host, port, onConnected, onClose) : null;
186
+ previous?.catch(() => undefined);
177
187
  }
188
+ if (!connected)
189
+ reject(new Error('Socket closed before connect'));
178
190
  });
179
191
  this.attachDataListener(socket);
180
192
  });
181
- // sendSession callbacks read currentSocketPromise via .get(); resolve it
182
- // before onConnected runs so negotiate() can write the 'new' session frame
183
- // (otherwise we deadlock waiting on the outer connect() promise).
184
- this.currentSocketPromise = Promise.resolve(socket);
185
- await onConnected();
193
+ try {
194
+ await onConnected(socketRef);
195
+ }
196
+ catch (err) {
197
+ // Handshake failures (timeout, bad response) leave the socket open
198
+ // otherwise; destroy it so the 'close' handler drives reconnect.
199
+ socketRef.current.destroy();
200
+ throw err;
201
+ }
186
202
  this.connectionAttempts = 0;
187
- return socket;
203
+ return socketRef.current;
188
204
  }
189
205
  }
190
206
  //# sourceMappingURL=tcpsender.js.map
@@ -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":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAoC,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,oBAAoB;IAC9B,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAA;IACnC,gBAAgB,CAAqB;IAEtD,YAAY,OAA8D;QACtE,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7D,MAAM,IAAI,GAAG,GAAG,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAA;QACnC,MAAM,UAAU,GACZ,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAE9F,IAAI,CAAC,gBAAgB,GAAG,IAAI,SAAS,CACjC,IAAI,EACJ,GAAG,EACH,CAAC,SAAS,EAAE,EAAE;YACV,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC7D,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,UAAU;gBAC3B,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC;gBACjE,CAAC,CAAC,SAAS,CAAA;YACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,cAAc,EAAE,IAAI;gBACpB,YAAY;aACf,CAAC,CAAA;QACN,CAAC,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EACjD,CAAC,QAAkB,EAAE,EAAE;YACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YAC1D,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC3C,CAAC,CACJ,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,YAA0B;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAA;QAChD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,WAAW,CAA4B,OAAsB;QACtE,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAA;QAChD,MAAM,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAA;QAE9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACzC,CAAC;IAEM,WAAW,CAAC,OAAgC;QAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAExC,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAE/F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAEzD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YAErC,MAAM,QAAQ,GAAG,CAAC,MAAM,uBAAuB,CAI9C,CAAA;YACD,IAAI,SAAS,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,MAAM,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO,QAAQ,CAAC,QAAQ,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpG,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,QAAgC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAA;QAChD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACjD,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;QAChC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QACnC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,KAAK,GAAG,CAAA,gBAAgB,CAAC,KAAgB,CAAA,CAAA;IAE/C,KAAK,CAAC,eAAe,CAAI,EAAoB,EAAE,OAAO,GAAG,EAAE;QAC/D,IAAI,CAAC;YACD,OAAO,MAAM,EAAE,EAAE,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,OAAO,GAAG,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,uBAAuB;gBACvB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;gBACzE,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,GAAG,CAAA;QACb,CAAC;IACL,CAAC;;AAGL,MAAM,SAAS;IACH,oBAAoB,GAA2B,IAAI,CAAA;IACnD,OAAO,GAAG,KAAK,CAAA;IACf,kBAAkB,GAAG,CAAC,CAAA;IACtB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACf,SAAS,CAAsB;IAEhD,YACI,IAAY,EACZ,IAAY,EACZ,WAA8D,EAC9D,OAAmB,EACnB,SAA+B;QAE/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAC9E,CAAC;IAEM,GAAG;QACN,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACvD,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAA;YAC/C,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,CAAA;QACpD,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAA0B,EAAE,SAA8B;QAChF,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAA;QAC/B,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAE7B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QACxD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAEzD,sEAAsE;QACtE,8DAA8D;QAC9D,2EAA2E;QAC3E,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAEpC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;gBACvC,MAAM,CAAC,GAAG,CAAC,CAAA;YACf,CAAC,CAAA;YACD,MAAM,SAAS,GAAG,GAAG,EAAE;gBACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC7B,OAAO,EAAE,CAAA;YACb,CAAC,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;YACxC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAChC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAA;IAC/B,CAAC;IAEO,kBAAkB,CAAC,MAA6B;QACpD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAA0B,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,YAAY,CAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;YACtG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAA;YAEpC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,OAAO,CACjB,IAAY,EACZ,IAAY,EACZ,WAA8D,EAC9D,OAAmB;QAEnB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAE7B,oEAAoE;QACpE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;QAErC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,SAAS,GAAG,KAAK,CAAA;YAErB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACxB,SAAS,GAAG,IAAI,CAAA;gBAChB,OAAO,EAAE,CAAA;YACb,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,CAAC,CAAA;gBACf,CAAC;gBACD,uEAAuE;gBACvE,0DAA0D;YAC9D,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,mEAAmE;gBACnE,oEAAoE;gBACpE,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;gBAE5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAChB,IAAI,SAAS;wBAAE,OAAO,EAAE,CAAA;oBAExB,IAAI,CAAC,kBAAkB,EAAE,CAAA;oBACzB,kEAAkE;oBAClE,sEAAsE;oBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAA;oBAC1C,IAAI,CAAC,oBAAoB;wBACrB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBACvF,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBACpC,CAAC;gBAED,IAAI,CAAC,SAAS;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAA;YACrE,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACD,MAAM,WAAW,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,mEAAmE;YACnE,iEAAiE;YACjE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;YAC3B,MAAM,GAAG,CAAA;QACb,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;QAE3B,OAAO,SAAS,CAAC,OAAO,CAAA;IAC5B,CAAC;CACJ"}
@@ -20,7 +20,7 @@ export class WebSocketSender extends OpenConnectionSender {
20
20
  node: options.node,
21
21
  authentication: options.authentication,
22
22
  });
23
- }, () => this.envelopeResolver.rejectPendingEnvelopes('Connection was closed'), (envelope) => {
23
+ }, () => this.rejectPending('Connection was closed'), (envelope) => {
24
24
  if (this.sessionNegotiator?.negotiating) {
25
25
  return this.sessionNegotiator.handleEnvelope(envelope);
26
26
  }
@@ -93,6 +93,9 @@ class WebSocketHandle {
93
93
  this.currentWebSocketPromise = this.connect(url, onConnected, onClose, onMessage);
94
94
  }
95
95
  get() {
96
+ if (!this.currentWebSocketPromise) {
97
+ throw new Error('WebSocket connection is not available.');
98
+ }
96
99
  return this.currentWebSocketPromise;
97
100
  }
98
101
  async close() {
@@ -105,29 +108,54 @@ class WebSocketHandle {
105
108
  async connect(url, onConnected, onClose, onMessage) {
106
109
  const connection = new WebSocket(url, 'lime');
107
110
  await new Promise((resolve, reject) => {
111
+ let connected = false;
108
112
  connection.onopen = () => {
113
+ connected = true;
109
114
  resolve();
110
115
  };
116
+ connection.onerror = (err) => {
117
+ if (!connected) {
118
+ reject('message' in err ? new Error(`WebSocket error: ${err.message}`, { cause: err }) : err);
119
+ }
120
+ // Post-open errors are followed by 'close', which drives reconnect.
121
+ };
111
122
  connection.onclose = () => {
112
123
  if (!this.closing) {
124
+ if (connected)
125
+ onClose();
113
126
  this.connectionAttempts++;
114
- if (this.connectionAttempts < 3) {
115
- this.currentWebSocketPromise = this.connect(url, onConnected, onClose, onMessage);
116
- }
117
- else {
118
- reject(new Error('Failed to connect to WebSocket'));
119
- }
120
- onClose();
127
+ // Swallow the rejection of the now-orphaned previous promise; any
128
+ // in-flight get() awaiter still sees it via their captured reference.
129
+ const previous = this.currentWebSocketPromise;
130
+ this.currentWebSocketPromise =
131
+ this.connectionAttempts < 3 ? this.connect(url, onConnected, onClose, onMessage) : null;
132
+ previous?.catch(() => undefined);
121
133
  }
134
+ if (!connected)
135
+ reject(new Error('WebSocket closed before open'));
122
136
  };
123
137
  connection.onmessage = (event) => {
124
138
  onMessage(JSON.parse(event.data));
125
139
  };
126
- connection.onerror = (err) => {
127
- reject('message' in err ? new Error(`WebSocket error: ${err.message}`, { cause: err }) : err);
128
- };
129
140
  });
130
- await onConnected(connection);
141
+ try {
142
+ await onConnected(connection);
143
+ }
144
+ catch (err) {
145
+ // Handshake failures leave the socket open otherwise; tear it down so
146
+ // the 'onclose' handler drives reconnect. Prefer ws.terminate() (hard
147
+ // kill, Node only) to avoid waiting on the graceful close handshake
148
+ // with a peer that just failed to negotiate; fall back to close() in
149
+ // browsers where terminate() doesn't exist.
150
+ const terminable = connection;
151
+ if (terminable.terminate) {
152
+ terminable.terminate();
153
+ }
154
+ else {
155
+ connection.close();
156
+ }
157
+ throw err;
158
+ }
131
159
  this.connectionAttempts = 0;
132
160
  return connection;
133
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"websocketsender.js","sourceRoot":"","sources":["../../../../src/sender/websocket/websocketsender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocketsender.js","sourceRoot":"","sources":["../../../../src/sender/websocket/websocketsender.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,13 @@ import type { Plan } from '../types/billing.ts';
3
3
  import { Namespace, type SendCommandOptions } from './namespace.ts';
4
4
  export declare class BillingNamespace extends Namespace {
5
5
  constructor(blipClient: BlipClient, defaultOptions?: SendCommandOptions);
6
- getPlan(tenantId: string): Promise<Plan>;
6
+ /**
7
+ * Gets the active plan for a tenant.
8
+ *
9
+ * @returns The tenant's plan, or `null` when the tenant doesn't exist or has
10
+ * no active plan. Note that the `standard` plan is also the free/no-active-plan
11
+ * tier, so a non-null result does not necessarily mean the tenant has a paid plan.
12
+ */
13
+ getPlan(tenantId: string): Promise<Plan | null>;
7
14
  }
8
15
  //# sourceMappingURL=billing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../src/namespaces/billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnE,qBAAa,gBAAiB,SAAQ,SAAS;gBAC/B,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,kBAAkB;IAI1D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMxD"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../src/namespaces/billing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnE,qBAAa,gBAAiB,SAAQ,SAAS;gBAC/B,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,kBAAkB;IAIvE;;;;;;OAMG;IACU,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;CAc/D"}
@@ -20,7 +20,7 @@ export declare class EnvelopeResolver {
20
20
  addListener<K extends keyof EventMap>(ev: K, listener: Listener<K>): void;
21
21
  removeListener<K extends keyof EventMap>(ev: K, callback: Listener<K>['callback']): void;
22
22
  close(): void;
23
- rejectPendingEnvelopes(reason: string): void;
23
+ rejectPendingEnvelopes(error: Error): void;
24
24
  private resolveEnvelopeResponse;
25
25
  private emit;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enveloperesolver.d.ts","sourceRoot":"","sources":["../../../src/sender/enveloperesolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,QAAQ,EAKb,KAAK,IAAI,EACT,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACtB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,QAAQ,GAAG;IACnB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;IACxD,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACtF,YAAY,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;CACnE,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,QAAQ,IAAI;IAC7C,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACzD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;CAC1E,CAAA;AAMD,qBAAa,gBAAgB;IAmBrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAlB3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAEhD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAIzB;IAED,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAO3C;gBAGe,MAAM,EAAE,oBAAoB,EAC7C,cAAc,SAAU;IAgBf,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAuEhC,6BAA6B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM5D,WAAW,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAQlE,cAAc,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAIjF,KAAK;IAQL,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAM5C,OAAO,CAAC,uBAAuB;YAajB,IAAI;CAcrB"}
1
+ {"version":3,"file":"enveloperesolver.d.ts","sourceRoot":"","sources":["../../../src/sender/enveloperesolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,QAAQ,EAKb,KAAK,IAAI,EACT,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACtB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,QAAQ,GAAG;IACnB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;IACxD,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACtF,YAAY,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;CACnE,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,QAAQ,IAAI;IAC7C,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACzD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;CAC1E,CAAA;AAMD,qBAAa,gBAAgB;IAmBrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAlB3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAEhD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAIzB;IAED,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAO3C;gBAGe,MAAM,EAAE,oBAAoB,EAC7C,cAAc,SAAU;IAgBf,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAuEhC,6BAA6B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM5D,WAAW,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAQlE,cAAc,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAIjF,KAAK;IAQL,sBAAsB,CAAC,KAAK,EAAE,KAAK;IAM1C,OAAO,CAAC,uBAAuB;YAajB,IAAI;CAcrB"}
@@ -35,5 +35,6 @@ export declare abstract class OpenConnectionSender extends ConnectionSender impl
35
35
  off<K extends keyof EventMap>(ev: K, listener: Listener<K>['callback']): this;
36
36
  get session(): import("./sessionnegotiator.ts").ConnectionSession | null;
37
37
  close(): Promise<void>;
38
+ protected rejectPending(reason: string): void;
38
39
  }
39
40
  //# sourceMappingURL=sender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class SessionNegotiator {
16
16
  session: ConnectionSession | null;
17
17
  private presencePromise;
18
18
  private currentSessionResolver;
19
+ private failure;
19
20
  constructor(sender: OpenConnectionSender, sendSession: (session: Session) => void);
20
21
  negotiate(options: {
21
22
  node: NodeLike;
@@ -23,6 +24,7 @@ export declare class SessionNegotiator {
23
24
  upgradeToTls?: () => Promise<void>;
24
25
  }): Promise<void>;
25
26
  handleEnvelope(envelope: Envelope): void;
27
+ fail(error: Error): void;
26
28
  ensurePresence(currentCommandUri?: string): Promise<void>;
27
29
  finish(): void;
28
30
  get negotiating(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"sessionnegotiator.d.ts","sourceRoot":"","sources":["../../../src/sender/sessionnegotiator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,IAAI,CAAA;IACf,UAAU,EAAE,IAAI,CAAA;IAChB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACnC,CAAA;AAED,qBAAa,iBAAiB;IAQtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IARzB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAQ;IAC3C,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAE/C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,sBAAsB,CAAyE;gBAGlF,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;IAG/C,SAAS,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,QAAQ,CAAA;QACd,cAAc,EAAE,cAAc,CAAA;QAC9B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KACrC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFV,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAO3B,cAAc,CAAC,iBAAiB,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3D,MAAM;IAWb,IAAW,WAAW,IAAI,OAAO,CAEhC;YAEa,sBAAsB;CAWvC"}
1
+ {"version":3,"file":"sessionnegotiator.d.ts","sourceRoot":"","sources":["../../../src/sender/sessionnegotiator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,IAAI,CAAA;IACf,UAAU,EAAE,IAAI,CAAA;IAChB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACnC,CAAA;AAED,qBAAa,iBAAiB;IAStB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IATzB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAQ;IAC3C,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAE/C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,sBAAsB,CAAyE;IACvG,OAAO,CAAC,OAAO,CAAqB;gBAGf,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;IAG/C,SAAS,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,QAAQ,CAAA;QACd,cAAc,EAAE,cAAc,CAAA;QAC9B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KACrC,GAAG,OAAO,CAAC,IAAI,CAAC;IA+EV,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAOjC,IAAI,CAAC,KAAK,EAAE,KAAK;IAQX,cAAc,CAAC,iBAAiB,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3D,MAAM;IAWb,IAAW,WAAW,IAAI,OAAO,CAEhC;YAEa,sBAAsB;CAcvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tcpsender.d.ts","sourceRoot":"","sources":["../../../../src/sender/tcp/tcpsender.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,OAAO,EACP,cAAc,EAGd,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACzB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAoB,KAAK,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAMvG;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,oBAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,OAAO,EAAE,qBAAqB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAoC7D,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,WAAW,CAAC,IAAI,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASnF,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BzD,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,KAAK;IAMlB,OAAc,KAAK;;;MAAoC;YAEzC,eAAe;CAahC"}
1
+ {"version":3,"file":"tcpsender.d.ts","sourceRoot":"","sources":["../../../../src/sender/tcp/tcpsender.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,OAAO,EACP,cAAc,EAGd,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACzB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAoB,KAAK,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAMvG;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,oBAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,OAAO,EAAE,qBAAqB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAmC7D,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,WAAW,CAAC,IAAI,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASnF,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BzD,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,KAAK;IAMlB,OAAc,KAAK;;;MAAoC;YAEzC,eAAe;CAahC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitewall/blip-sdk",
3
- "version": "0.0.180",
3
+ "version": "0.0.182",
4
4
  "description": "Blip API wrapper",
5
5
  "exports": {
6
6
  "types": "./dist/types/index.d.ts",
@@ -1,4 +1,5 @@
1
1
  import type { BlipClient } from '../client.ts'
2
+ import { BlipError } from '../index.ts'
2
3
  import type { Plan } from '../types/billing.ts'
3
4
  import { uri } from '../utils/uri.ts'
4
5
  import { Namespace, type SendCommandOptions } from './namespace.ts'
@@ -8,10 +9,25 @@ export class BillingNamespace extends Namespace {
8
9
  super(blipClient, 'billing', { ...defaultOptions, domain: 'blip.ai' })
9
10
  }
10
11
 
11
- public async getPlan(tenantId: string): Promise<Plan> {
12
- return await this.sendCommand({
13
- method: 'get',
14
- uri: uri`/tenants/${tenantId}/subscription/plan`,
15
- })
12
+ /**
13
+ * Gets the active plan for a tenant.
14
+ *
15
+ * @returns The tenant's plan, or `null` when the tenant doesn't exist or has
16
+ * no active plan. Note that the `standard` plan is also the free/no-active-plan
17
+ * tier, so a non-null result does not necessarily mean the tenant has a paid plan.
18
+ */
19
+ public async getPlan(tenantId: string): Promise<Plan | null> {
20
+ try {
21
+ return await this.sendCommand({
22
+ method: 'get',
23
+ uri: uri`/tenants/${tenantId}/subscription/plan`,
24
+ })
25
+ } catch (err) {
26
+ if (err instanceof BlipError && err.code === 67) {
27
+ return null
28
+ }
29
+
30
+ throw err
31
+ }
16
32
  }
17
33
  }
@@ -164,9 +164,9 @@ export class EnvelopeResolver {
164
164
  }
165
165
  }
166
166
 
167
- public rejectPendingEnvelopes(reason: string) {
167
+ public rejectPendingEnvelopes(error: Error) {
168
168
  for (const id in this.waitingEnvelopeResponseResolvers) {
169
- this.resolveEnvelopeResponse(id, new RetryableError(reason))
169
+ this.resolveEnvelopeResponse(id, error)
170
170
  }
171
171
  }
172
172
 
@@ -12,6 +12,7 @@ import {
12
12
  } from '../types/index.ts'
13
13
  import type { Closable } from './closable.ts'
14
14
  import { EnvelopeResolver, type EventMap, type Listener } from './enveloperesolver.ts'
15
+ import { RetryableError } from './retryableerror.ts'
15
16
  import type { Authentication } from './security.ts'
16
17
  import type { SessionNegotiator } from './sessionnegotiator.ts'
17
18
 
@@ -149,4 +150,10 @@ export abstract class OpenConnectionSender extends ConnectionSender implements S
149
150
  this.envelopeResolver.close()
150
151
  return Promise.resolve()
151
152
  }
153
+
154
+ protected rejectPending(reason: string) {
155
+ const error = new RetryableError(reason)
156
+ this.sessionNegotiator?.fail(error)
157
+ this.envelopeResolver.rejectPendingEnvelopes(error)
158
+ }
152
159
  }
@@ -17,6 +17,7 @@ export class SessionNegotiator {
17
17
 
18
18
  private presencePromise: Promise<void> | null = null
19
19
  private currentSessionResolver: Pick<PromiseWithResolvers<Session>, 'reject' | 'resolve'> | null = null
20
+ private failure: Error | null = null
20
21
 
21
22
  constructor(
22
23
  private readonly sender: OpenConnectionSender,
@@ -28,11 +29,8 @@ export class SessionNegotiator {
28
29
  authentication: Authentication
29
30
  upgradeToTls?: () => Promise<void>
30
31
  }): Promise<void> {
31
- const timeout = setTimeout(async () => {
32
- if (this.negotiating) {
33
- await this.sender.close()
34
- throw new Error('Negotiation timeout')
35
- }
32
+ const timeout = setTimeout(() => {
33
+ this.fail(new Error('Negotiation timeout'))
36
34
  }, 60000) // 60 seconds
37
35
 
38
36
  try {
@@ -116,6 +114,14 @@ export class SessionNegotiator {
116
114
  }
117
115
  }
118
116
 
117
+ public fail(error: Error) {
118
+ this.failure = error
119
+ if (this.currentSessionResolver) {
120
+ this.currentSessionResolver.reject(error)
121
+ this.currentSessionResolver = null
122
+ }
123
+ }
124
+
119
125
  public async ensurePresence(currentCommandUri = ''): Promise<void> {
120
126
  if (!this.session) {
121
127
  throw new Error('Session not established')
@@ -159,11 +165,11 @@ export class SessionNegotiator {
159
165
 
160
166
  public finish() {
161
167
  if (!this.session) {
162
- throw new Error('Session not established')
168
+ return
163
169
  }
164
170
 
165
171
  this.sendSession({
166
- id: this.session?.id,
172
+ id: this.session.id,
167
173
  state: 'finishing',
168
174
  })
169
175
  }
@@ -173,6 +179,9 @@ export class SessionNegotiator {
173
179
  }
174
180
 
175
181
  private async waitForSessionResponse(): Promise<Session> {
182
+ if (this.failure) {
183
+ throw this.failure
184
+ }
176
185
  const { promise, resolve, reject } = Promise.withResolvers<Session>()
177
186
  this.currentSessionResolver = { resolve, reject }
178
187
  const session = await promise