@whitewall/blip-sdk 0.0.138 → 0.0.140
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/namespaces/account.js +85 -0
- package/dist/cjs/namespaces/account.js.map +1 -1
- package/dist/cjs/namespaces/namespace.js +78 -38
- package/dist/cjs/namespaces/namespace.js.map +1 -1
- package/dist/cjs/namespaces/portal.js +4 -1
- package/dist/cjs/namespaces/portal.js.map +1 -1
- package/dist/cjs/sender/enveloperesolver.js +3 -3
- package/dist/cjs/sender/enveloperesolver.js.map +1 -1
- package/dist/cjs/sender/throttler.js +51 -21
- package/dist/cjs/sender/throttler.js.map +1 -1
- package/dist/esm/namespaces/account.js +85 -0
- package/dist/esm/namespaces/account.js.map +1 -1
- package/dist/esm/namespaces/namespace.js +78 -38
- package/dist/esm/namespaces/namespace.js.map +1 -1
- package/dist/esm/namespaces/portal.js +4 -1
- package/dist/esm/namespaces/portal.js.map +1 -1
- package/dist/esm/sender/enveloperesolver.js +3 -3
- package/dist/esm/sender/enveloperesolver.js.map +1 -1
- package/dist/esm/sender/throttler.js +51 -21
- package/dist/esm/sender/throttler.js.map +1 -1
- package/dist/types/namespaces/account.d.ts +18 -2
- package/dist/types/namespaces/account.d.ts.map +1 -1
- package/dist/types/namespaces/namespace.d.ts +25 -5
- package/dist/types/namespaces/namespace.d.ts.map +1 -1
- package/dist/types/namespaces/portal.d.ts.map +1 -1
- package/dist/types/sender/throttler.d.ts +7 -2
- package/dist/types/sender/throttler.d.ts.map +1 -1
- package/dist/types/types/account.d.ts +10 -0
- package/dist/types/types/account.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/namespaces/account.ts +121 -1
- package/src/namespaces/namespace.ts +137 -62
- package/src/namespaces/portal.ts +4 -1
- package/src/sender/enveloperesolver.ts +3 -3
- package/src/sender/throttler.ts +59 -20
- package/src/types/account.ts +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/namespaces/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EACR,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,yBAAyB,EACzB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,KAAK,EACL,UAAU,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/namespaces/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { BlipClient } from '../client.ts';
|
|
2
2
|
import { type Command, type CommandMethods, type Domain, type Identity, type NodeLike } from '../types/index.ts';
|
|
3
3
|
import { type URI } from '../utils/uri.ts';
|
|
4
|
+
type Unpacked<T> = T extends Array<infer U> ? U : T;
|
|
5
|
+
type PromiseOrIterator<T, S extends boolean> = S extends true ? AsyncIterable<Unpacked<T>> : Promise<T>;
|
|
6
|
+
type NamespaceCommand<TMethod extends CommandMethods = CommandMethods> = Omit<Command<TMethod>, 'uri' | 'id' | 'to'> & {
|
|
7
|
+
uri: URI;
|
|
8
|
+
};
|
|
4
9
|
export type SendCommandOptions = {
|
|
5
10
|
to?: NodeLike;
|
|
6
11
|
ownerIdentity?: Identity | Domain;
|
|
@@ -11,6 +16,11 @@ export type ConsumeOptions = SendCommandOptions & {
|
|
|
11
16
|
skip?: number;
|
|
12
17
|
fetchall?: boolean;
|
|
13
18
|
max?: number;
|
|
19
|
+
/**
|
|
20
|
+
* If true, it will try to parallel fetch data in chunks
|
|
21
|
+
* Be careful as this can be slower in situations with few data and will consume much more bandwidth
|
|
22
|
+
* Set together with max or fetchall
|
|
23
|
+
*/
|
|
14
24
|
optimistic?: boolean;
|
|
15
25
|
};
|
|
16
26
|
export declare class Namespace {
|
|
@@ -19,10 +29,20 @@ export declare class Namespace {
|
|
|
19
29
|
private readonly defaultOptions?;
|
|
20
30
|
constructor(blipClient: BlipClient, ownerSubdomain: string, defaultOptions?: ConsumeOptions | undefined);
|
|
21
31
|
get identity(): Identity;
|
|
22
|
-
sendCommand<TMethod extends CommandMethods, TResponse = void
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
sendCommand<TMethod extends CommandMethods, TResponse = void>(command: NamespaceCommand<TMethod>, opts: ConsumeOptions & {
|
|
33
|
+
collection: true;
|
|
34
|
+
stream: true;
|
|
35
|
+
}): PromiseOrIterator<TResponse, true>;
|
|
36
|
+
sendCommand<TMethod extends CommandMethods, TResponse = void>(command: NamespaceCommand<TMethod>, opts?: ConsumeOptions & {
|
|
37
|
+
collection?: boolean;
|
|
38
|
+
stream?: false;
|
|
39
|
+
}): PromiseOrIterator<TResponse, false>;
|
|
40
|
+
private prepareCommandContext;
|
|
41
|
+
private buildCommand;
|
|
42
|
+
private extractCollection;
|
|
43
|
+
private sendIterableCommand;
|
|
44
|
+
private sendPlainCommand;
|
|
45
|
+
private sendCollectionCommand;
|
|
27
46
|
}
|
|
47
|
+
export {};
|
|
28
48
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/namespaces/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAQ,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEtH,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,iBAAiB,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,CAAC,EAAE,QAAQ,CAAA;IACb,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/namespaces/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAQ,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEtH,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,iBAAiB,CAAA;AAEvD,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACnD,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AACvG,KAAK,gBAAgB,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG;IACnH,GAAG,EAAE,GAAG,CAAA;CACX,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,CAAC,EAAE,QAAQ,CAAA;IACb,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,qBAAa,SAAS;IAEd,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAFb,UAAU,EAAE,UAAU,EACxB,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,cAAc,YAAA;IAGpD,IAAI,QAAQ,IACqH,QAAQ,CACxI;IAEM,WAAW,CAAC,OAAO,SAAS,cAAc,EAAE,SAAS,GAAG,IAAI,EAC/D,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAClC,IAAI,EAAE,cAAc,GAAG;QAAE,UAAU,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,GAC1D,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;IAC9B,WAAW,CAAC,OAAO,SAAS,cAAc,EAAE,SAAS,GAAG,IAAI,EAC/D,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAClC,IAAI,CAAC,EAAE,cAAc,GAAG;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAA;KAAE,GACjE,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC;IAgBtC,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,iBAAiB;YASV,mBAAmB;YAqCpB,gBAAgB;YAahB,qBAAqB;CA4CtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/namespaces/portal.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/namespaces/portal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
export declare class EnvelopeThrottler {
|
|
2
|
-
private
|
|
3
|
-
|
|
2
|
+
private buckets;
|
|
3
|
+
private readonly refillInterval;
|
|
4
|
+
private readonly throughputFactor;
|
|
5
|
+
private readonly voidPromise;
|
|
6
|
+
throttle(type: keyof typeof this.buckets): Promise<void>;
|
|
7
|
+
private refillTokens;
|
|
8
|
+
private scheduleRefill;
|
|
4
9
|
}
|
|
5
10
|
//# sourceMappingURL=throttler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttler.d.ts","sourceRoot":"","sources":["../../../src/sender/throttler.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"throttler.d.ts","sourceRoot":"","sources":["../../../src/sender/throttler.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,OAAO,CAed;IAED,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAEvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEzC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/D,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,cAAc;CAuBzB"}
|
|
@@ -73,4 +73,14 @@ export type Comment = {
|
|
|
73
73
|
authorIdentity: Identity;
|
|
74
74
|
content: string;
|
|
75
75
|
};
|
|
76
|
+
export type AccessKey = {
|
|
77
|
+
id: string;
|
|
78
|
+
account: Identity;
|
|
79
|
+
purpose?: string;
|
|
80
|
+
expiration?: string;
|
|
81
|
+
requirer: string;
|
|
82
|
+
temporary: boolean;
|
|
83
|
+
creationDate: string;
|
|
84
|
+
key: string;
|
|
85
|
+
};
|
|
76
86
|
//# sourceMappingURL=account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGzC,MAAM,MAAM,QAAQ,GAAG;IACnB,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAA;IACnE;;;;;OAKG;IACH,WAAW,EAAE,UAAU,GAAG,UAAU,CAAA;IACpC,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,sLAAsL;IACtL,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uCAAuC;IACvC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IACtC,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE7C,MAAM,MAAM,MAAM,GAAG;IACjB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IACtC,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;CAC3C,GAAG,qBAAqB,CAAA;AAEzB,MAAM,MAAM,OAAO,GAAG;IAClB,EAAE,EAAE,QAAQ,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,QAAQ,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA"}
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BlipClient } from '../client.ts'
|
|
2
2
|
import { BlipError } from '../sender/bliperror.ts'
|
|
3
3
|
import type {
|
|
4
|
+
AccessKey,
|
|
4
5
|
Account,
|
|
5
6
|
ApplicationFlow,
|
|
6
7
|
BuilderConfiguration,
|
|
@@ -17,7 +18,7 @@ import type {
|
|
|
17
18
|
ThreadItem,
|
|
18
19
|
} from '../types/index.ts'
|
|
19
20
|
import type { Notification } from '../types/notification.ts'
|
|
20
|
-
import type
|
|
21
|
+
import { type ODataFilter, filter } from '../utils/odata.ts'
|
|
21
22
|
import { uri } from '../utils/uri.ts'
|
|
22
23
|
import { type ConsumeOptions, Namespace, type SendCommandOptions } from './namespace.ts'
|
|
23
24
|
|
|
@@ -217,6 +218,59 @@ export class AccountNamespace extends Namespace {
|
|
|
217
218
|
)
|
|
218
219
|
}
|
|
219
220
|
|
|
221
|
+
public async *streamContactsInTimeframe(
|
|
222
|
+
startDate: Date | string,
|
|
223
|
+
endDate: Date | string,
|
|
224
|
+
opts: Omit<ConsumeOptions, 'skip' | 'max'> = {},
|
|
225
|
+
): AsyncIterable<Contact> {
|
|
226
|
+
const take = opts.take ?? 1000
|
|
227
|
+
const start = new Date(startDate)
|
|
228
|
+
const end = new Date(endDate)
|
|
229
|
+
if (start > end) return
|
|
230
|
+
|
|
231
|
+
const seenIdentities = new Set<string>()
|
|
232
|
+
let cursorTime = end.getTime()
|
|
233
|
+
const startTime = start.getTime()
|
|
234
|
+
|
|
235
|
+
while (cursorTime >= startTime) {
|
|
236
|
+
const items = await this.sendCommand<'get', Array<Contact>>(
|
|
237
|
+
{
|
|
238
|
+
method: 'get',
|
|
239
|
+
uri: uri`/contacts?${{
|
|
240
|
+
$filter: filter<Contact>()
|
|
241
|
+
.ge('lastMessageDate', start)
|
|
242
|
+
.le('lastMessageDate', new Date(cursorTime)),
|
|
243
|
+
}}`,
|
|
244
|
+
},
|
|
245
|
+
{ collection: true, ...opts, take, fetchall: false, optimistic: false },
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
let oldestTime = Number.POSITIVE_INFINITY
|
|
249
|
+
|
|
250
|
+
for (const contact of items) {
|
|
251
|
+
if (contact.lastMessageDate) {
|
|
252
|
+
if (!seenIdentities.has(contact.identity)) {
|
|
253
|
+
seenIdentities.add(contact.identity)
|
|
254
|
+
yield contact
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
const lastMessageTime = new Date(contact.lastMessageDate).getTime()
|
|
258
|
+
if (lastMessageTime < oldestTime) {
|
|
259
|
+
oldestTime = lastMessageTime
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (items.length < take || !opts.fetchall) break
|
|
265
|
+
|
|
266
|
+
if (oldestTime < Number.POSITIVE_INFINITY) {
|
|
267
|
+
cursorTime = oldestTime - 1
|
|
268
|
+
} else {
|
|
269
|
+
break
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
220
274
|
public async getContactComments(contact: Identity, opts?: ConsumeOptions): Promise<Array<Comment>> {
|
|
221
275
|
try {
|
|
222
276
|
return await this.sendCommand(
|
|
@@ -401,6 +455,7 @@ export class AccountNamespace extends Namespace {
|
|
|
401
455
|
)
|
|
402
456
|
}
|
|
403
457
|
|
|
458
|
+
// THis doesn't ensure that the contact exists, it may have received a active message but never interacted
|
|
404
459
|
public async getThreads(startDate: Date | string, endDate: Date | string, opts: Omit<ConsumeOptions, 'skip'> = {}) {
|
|
405
460
|
const start = new Date(startDate)
|
|
406
461
|
const end = new Date(endDate)
|
|
@@ -726,4 +781,69 @@ export class AccountNamespace extends Namespace {
|
|
|
726
781
|
|
|
727
782
|
throw new Error('Application flow not found')
|
|
728
783
|
}
|
|
784
|
+
|
|
785
|
+
public async getAccessKeys(opts?: ConsumeOptions): Promise<Array<Omit<AccessKey, 'key'>>> {
|
|
786
|
+
return await this.sendCommand(
|
|
787
|
+
{
|
|
788
|
+
method: 'get',
|
|
789
|
+
uri: uri`/account/keys`,
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
collection: true,
|
|
793
|
+
...opts,
|
|
794
|
+
},
|
|
795
|
+
)
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
public async getAccessKey(id: string, opts?: ConsumeOptions): Promise<Omit<AccessKey, 'key'> | undefined> {
|
|
799
|
+
try {
|
|
800
|
+
return await this.sendCommand(
|
|
801
|
+
{
|
|
802
|
+
method: 'get',
|
|
803
|
+
uri: uri`/account/keys/${id}`,
|
|
804
|
+
},
|
|
805
|
+
opts,
|
|
806
|
+
)
|
|
807
|
+
} catch (err) {
|
|
808
|
+
if (err instanceof BlipError && err.code === 67) {
|
|
809
|
+
return undefined
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
throw err
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* @param key.purpose Optional purpose of the key, can be used to identify
|
|
818
|
+
* @param key.temporary Indicates if the key must be removed after the first use
|
|
819
|
+
* @param key.ttl Time to live in milliseconds
|
|
820
|
+
*/
|
|
821
|
+
public async createAccessKey(
|
|
822
|
+
key?: Partial<{
|
|
823
|
+
purpose: string
|
|
824
|
+
temporary: boolean
|
|
825
|
+
ttl: number
|
|
826
|
+
}>,
|
|
827
|
+
opts?: ConsumeOptions,
|
|
828
|
+
): Promise<AccessKey & { key: string }> {
|
|
829
|
+
return await this.sendCommand(
|
|
830
|
+
{
|
|
831
|
+
method: 'set',
|
|
832
|
+
uri: uri`/account/keys`,
|
|
833
|
+
type: 'application/vnd.iris.keyRequest+json',
|
|
834
|
+
resource: key,
|
|
835
|
+
},
|
|
836
|
+
opts,
|
|
837
|
+
)
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
public async deleteAccessKey(id: string, opts?: ConsumeOptions): Promise<void> {
|
|
841
|
+
return await this.sendCommand(
|
|
842
|
+
{
|
|
843
|
+
method: 'delete',
|
|
844
|
+
uri: uri`/account/keys/${id}`,
|
|
845
|
+
},
|
|
846
|
+
opts,
|
|
847
|
+
)
|
|
848
|
+
}
|
|
729
849
|
}
|
|
@@ -4,6 +4,12 @@ import { type Command, type CommandMethods, type Domain, type Identity, Node, ty
|
|
|
4
4
|
import { randomId } from '../utils/random.ts'
|
|
5
5
|
import { type URI, uriToString } from '../utils/uri.ts'
|
|
6
6
|
|
|
7
|
+
type Unpacked<T> = T extends Array<infer U> ? U : T
|
|
8
|
+
type PromiseOrIterator<T, S extends boolean> = S extends true ? AsyncIterable<Unpacked<T>> : Promise<T>
|
|
9
|
+
type NamespaceCommand<TMethod extends CommandMethods = CommandMethods> = Omit<Command<TMethod>, 'uri' | 'id' | 'to'> & {
|
|
10
|
+
uri: URI
|
|
11
|
+
}
|
|
12
|
+
|
|
7
13
|
export type SendCommandOptions = {
|
|
8
14
|
to?: NodeLike
|
|
9
15
|
ownerIdentity?: Identity | Domain
|
|
@@ -15,8 +21,11 @@ export type ConsumeOptions = SendCommandOptions & {
|
|
|
15
21
|
skip?: number
|
|
16
22
|
fetchall?: boolean
|
|
17
23
|
max?: number
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
/**
|
|
25
|
+
* If true, it will try to parallel fetch data in chunks
|
|
26
|
+
* Be careful as this can be slower in situations with few data and will consume much more bandwidth
|
|
27
|
+
* Set together with max or fetchall
|
|
28
|
+
*/
|
|
20
29
|
optimistic?: boolean
|
|
21
30
|
}
|
|
22
31
|
|
|
@@ -31,93 +40,159 @@ export class Namespace {
|
|
|
31
40
|
return `postmaster@${this.ownerSubdomain ? `${this.ownerSubdomain}.` : ''}${this.defaultOptions?.domain ?? 'msging.net'}` as Identity
|
|
32
41
|
}
|
|
33
42
|
|
|
34
|
-
public
|
|
35
|
-
TMethod
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
>(
|
|
39
|
-
command:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
): Promise<TResponse> {
|
|
43
|
+
public sendCommand<TMethod extends CommandMethods, TResponse = void>(
|
|
44
|
+
command: NamespaceCommand<TMethod>,
|
|
45
|
+
opts: ConsumeOptions & { collection: true; stream: true },
|
|
46
|
+
): PromiseOrIterator<TResponse, true>
|
|
47
|
+
public sendCommand<TMethod extends CommandMethods, TResponse = void>(
|
|
48
|
+
command: NamespaceCommand<TMethod>,
|
|
49
|
+
opts?: ConsumeOptions & { collection?: boolean; stream?: false },
|
|
50
|
+
): PromiseOrIterator<TResponse, false>
|
|
51
|
+
public sendCommand<TMethod extends CommandMethods, TResponse = void>(
|
|
52
|
+
command: NamespaceCommand<TMethod>,
|
|
53
|
+
opts?: ConsumeOptions & { collection?: boolean; stream?: boolean },
|
|
54
|
+
): Promise<TResponse> | AsyncIterable<Unpacked<TResponse>> {
|
|
46
55
|
const options = { ...this.defaultOptions, ...opts }
|
|
47
56
|
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
if (options.stream) {
|
|
58
|
+
return this.sendIterableCommand(command, options)
|
|
59
|
+
} else if (options.collection) {
|
|
60
|
+
return this.sendCollectionCommand(command, options)
|
|
61
|
+
} else {
|
|
62
|
+
return this.sendPlainCommand(command, options)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
50
65
|
|
|
51
|
-
|
|
66
|
+
private prepareCommandContext<TMethod extends CommandMethods>(
|
|
67
|
+
command: NamespaceCommand<TMethod>,
|
|
68
|
+
options: ConsumeOptions,
|
|
69
|
+
) {
|
|
70
|
+
const domain =
|
|
71
|
+
options?.domain ??
|
|
72
|
+
(this.blipClient.sender instanceof ConnectionSender ? this.blipClient.sender.domain : 'msging.net')
|
|
52
73
|
|
|
53
|
-
|
|
54
|
-
|
|
74
|
+
return {
|
|
75
|
+
path: options?.ownerIdentity ? `lime://${options.ownerIdentity}${command.uri.path}` : command.uri.path,
|
|
76
|
+
query: new Map(command.uri.query),
|
|
77
|
+
owner: new Node('postmaster', `${this.ownerSubdomain ? `${this.ownerSubdomain}.` : ''}${domain}`),
|
|
78
|
+
take: options?.take ?? Math.min(options?.max ?? 100, 100),
|
|
55
79
|
}
|
|
80
|
+
}
|
|
56
81
|
|
|
57
|
-
|
|
58
|
-
|
|
82
|
+
private buildCommand<TMethod extends CommandMethods>(
|
|
83
|
+
base: NamespaceCommand<TMethod>,
|
|
84
|
+
path: string,
|
|
85
|
+
query: Map<string, string>,
|
|
86
|
+
owner: Node,
|
|
87
|
+
options: ConsumeOptions,
|
|
88
|
+
): Command<TMethod> {
|
|
89
|
+
return {
|
|
90
|
+
id: randomId(),
|
|
91
|
+
to: options.to ?? owner,
|
|
92
|
+
...base,
|
|
93
|
+
uri: uriToString({ path, query }),
|
|
94
|
+
} as Command<TMethod>
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
private extractCollection<T>(response: unknown): Array<T> {
|
|
98
|
+
if (response && typeof response === 'object') {
|
|
99
|
+
const r = response as Record<string, unknown>
|
|
100
|
+
if (Array.isArray(r.items)) return r.items as Array<T>
|
|
101
|
+
if (Array.isArray(r.data)) return r.data as Array<T>
|
|
59
102
|
}
|
|
103
|
+
return []
|
|
104
|
+
}
|
|
60
105
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
106
|
+
private async *sendIterableCommand<TMethod extends CommandMethods, TResponse = void>(
|
|
107
|
+
command: Omit<Command<TMethod>, 'uri' | 'id' | 'to'> & {
|
|
108
|
+
uri: URI
|
|
109
|
+
},
|
|
110
|
+
options: ConsumeOptions,
|
|
111
|
+
): AsyncIterable<Unpacked<TResponse>> {
|
|
112
|
+
const { path, query, owner, take } = this.prepareCommandContext(command, options)
|
|
113
|
+
let skip = options.skip ?? 0
|
|
114
|
+
let yielded = 0
|
|
115
|
+
|
|
116
|
+
while (true) {
|
|
117
|
+
const q = new Map(query).set('$take', take.toString()).set('$skip', skip.toString())
|
|
118
|
+
|
|
119
|
+
const commandToSend = this.buildCommand(command, path, q, owner, options)
|
|
73
120
|
const response = await this.blipClient.sender.sendCommand(commandToSend)
|
|
74
|
-
|
|
121
|
+
const items = this.extractCollection<Unpacked<TResponse>>(response)
|
|
122
|
+
|
|
123
|
+
if (!items.length) {
|
|
124
|
+
break
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
for (const item of items) {
|
|
128
|
+
yield item
|
|
129
|
+
|
|
130
|
+
if (options.max && yielded++ >= options.max) {
|
|
131
|
+
return
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (!options.fetchall || items.length < take) {
|
|
136
|
+
break
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
skip += take
|
|
75
140
|
}
|
|
141
|
+
}
|
|
76
142
|
|
|
143
|
+
private async sendPlainCommand<TMethod extends CommandMethods, TResponse = void>(
|
|
144
|
+
command: Omit<Command<TMethod>, 'uri' | 'id' | 'to'> & {
|
|
145
|
+
uri: URI
|
|
146
|
+
},
|
|
147
|
+
options: ConsumeOptions,
|
|
148
|
+
): Promise<TResponse> {
|
|
149
|
+
const { path, query, owner } = this.prepareCommandContext(command, options)
|
|
150
|
+
|
|
151
|
+
const commandToSend = this.buildCommand(command, path, query, owner, options)
|
|
152
|
+
const response = await this.blipClient.sender.sendCommand(commandToSend)
|
|
153
|
+
return response as TResponse
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
private async sendCollectionCommand<TMethod extends CommandMethods, TResponse = void>(
|
|
157
|
+
command: Omit<Command<TMethod>, 'uri' | 'id' | 'to'> & {
|
|
158
|
+
uri: URI
|
|
159
|
+
},
|
|
160
|
+
options: ConsumeOptions,
|
|
161
|
+
): Promise<TResponse> {
|
|
162
|
+
const { path, query, owner, take } = this.prepareCommandContext(command, options)
|
|
77
163
|
if (options.optimistic && !options.max && !options.fetchall) {
|
|
78
164
|
throw new Error('Optimistic consume requires max or fetchall to be set')
|
|
79
165
|
}
|
|
80
166
|
|
|
81
167
|
let skip = options.skip ?? 0
|
|
82
|
-
|
|
168
|
+
const results: Array<Unpacked<TResponse>> = []
|
|
83
169
|
|
|
170
|
+
query.set('$take', take.toString())
|
|
84
171
|
while (true) {
|
|
85
172
|
const remaining = options.max !== undefined ? options.max - results.length : Number.POSITIVE_INFINITY
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const response = (await this.blipClient.sender.sendCommand(commandToSend)) as
|
|
100
|
-
| { data: Array<TResponse> }
|
|
101
|
-
| { items: Array<TResponse> }
|
|
102
|
-
const items: Array<TResponse> =
|
|
103
|
-
'items' in response ? response.items : 'data' in response ? response.data : []
|
|
104
|
-
|
|
105
|
-
return items ?? []
|
|
106
|
-
})
|
|
107
|
-
|
|
108
|
-
const items = await Promise.all(tasks)
|
|
109
|
-
results = results.concat(items.flat())
|
|
173
|
+
const pageCapacity = options.optimistic ? Math.min(Math.ceil(remaining / take), 20) : 1
|
|
174
|
+
|
|
175
|
+
const items = await Promise.all(
|
|
176
|
+
Array.from({ length: pageCapacity }, async (_, i: number) => {
|
|
177
|
+
const q = new Map(query).set('$skip', (skip + i * take).toString())
|
|
178
|
+
const cmd = this.buildCommand(command, path, q, owner, options)
|
|
179
|
+
const response = await this.blipClient.sender.sendCommand(cmd)
|
|
180
|
+
return this.extractCollection<Unpacked<TResponse>>(response)
|
|
181
|
+
}),
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
const flattened = items.flat()
|
|
185
|
+
results.push(...flattened)
|
|
110
186
|
|
|
111
187
|
if (
|
|
112
188
|
!options.fetchall ||
|
|
113
|
-
|
|
114
|
-
results.length === 0 ||
|
|
189
|
+
flattened.length < take ||
|
|
115
190
|
(options.max !== undefined && results.length >= options.max)
|
|
116
191
|
) {
|
|
117
192
|
break
|
|
118
193
|
}
|
|
119
194
|
|
|
120
|
-
skip += take *
|
|
195
|
+
skip += take * pageCapacity
|
|
121
196
|
}
|
|
122
197
|
|
|
123
198
|
return results as TResponse
|
package/src/namespaces/portal.ts
CHANGED
|
@@ -114,9 +114,9 @@ export class EnvelopeResolver {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
public createEnvelopeResponsePromise(id: string): Promise<Envelope> {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
const { resolve, promise } = Promise.withResolvers<Envelope>()
|
|
118
|
+
this.waitingEnvelopeResponseResolvers[id] = resolve
|
|
119
|
+
return promise
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
public addListener<K extends keyof EventMap>(ev: K, listener: Listener<K>) {
|