@solarpunkltd/swarm-chat-js 4.2.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,12 @@
1
+ export declare enum MessageType {
2
+ TEXT = "text",
3
+ THREAD = "thread",
4
+ REACTION = "reaction"
5
+ }
1
6
  export interface MessageData {
2
7
  id: string;
8
+ targetMessageId?: string;
9
+ type: MessageType;
3
10
  message: string;
4
11
  username: string;
5
12
  address: string;
@@ -9,4 +16,12 @@ export interface MessageData {
9
16
  chatTopic: string;
10
17
  userTopic: string;
11
18
  }
19
+ export interface StatefulMessage {
20
+ message: MessageData;
21
+ messageStateRefs: MessageStateRef[] | null;
22
+ }
23
+ export interface MessageStateRef {
24
+ reference: string;
25
+ timestamp: number;
26
+ }
12
27
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/interfaces/message.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/interfaces/message.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,4 +1,4 @@
1
- import { ChatSettings, MessageData } from '../interfaces';
1
+ import { ChatSettings, MessageData, MessageType } from '../interfaces';
2
2
  import { EventEmitter } from '../utils/eventEmitter';
3
3
  export declare class SwarmChat {
4
4
  private emitter;
@@ -16,8 +16,9 @@ export declare class SwarmChat {
16
16
  stop(): void;
17
17
  getEmitter(): EventEmitter;
18
18
  orderMessages(messages: any[]): any[];
19
- sendMessage(message: string, id?: string): Promise<void>;
19
+ sendMessage(message: string, type: MessageType, targetMessageId?: string, id?: string): Promise<void>;
20
20
  fetchPreviousMessages(): Promise<void>;
21
+ hasPreviousMessages(): boolean;
21
22
  retrySendMessage(message: MessageData): Promise<void>;
22
23
  retryBroadcastUserMessage(message: MessageData): Promise<void>;
23
24
  private init;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/lib/core.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAuC,WAAW,EAAE,MAAM,eAAe,CAAC;AAI/F,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQrD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAoB;IAEzC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,EAAE,YAAY;IA0B3B,KAAK;IAKL,IAAI;IAKJ,UAAU;IAIV,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE;IAIvB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BxD,qBAAqB;IAWrB,gBAAgB,CAAC,OAAO,EAAE,WAAW;IAIrC,yBAAyB,CAAC,OAAO,EAAE,WAAW;YAI7C,IAAI;YAqBJ,YAAY;YAUZ,kBAAkB;YA4BlB,oBAAoB;IAQlC,OAAO,CAAC,YAAY;YAkBN,yBAAyB;IAmBvC,OAAO,CAAC,wBAAwB;CAGjC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/lib/core.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAGZ,WAAW,EACX,WAAW,EAEZ,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQrD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAoB;IAEzC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,EAAE,YAAY;IA0B3B,KAAK;IAKL,IAAI;IAMJ,UAAU;IAIV,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE;IAIvB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCrG,qBAAqB;IAW3B,mBAAmB,IAAI,OAAO;IAIxB,gBAAgB,CAAC,OAAO,EAAE,WAAW;IAIrC,yBAAyB,CAAC,OAAO,EAAE,WAAW;YAI7C,IAAI;YAqBJ,YAAY;YAUZ,kBAAkB;YA4BlB,oBAAoB;IAQlC,OAAO,CAAC,YAAY;YAkBN,yBAAyB;IAmBvC,OAAO,CAAC,wBAAwB;CAGjC"}
@@ -1,4 +1,5 @@
1
1
  import { FeedIndex } from '../../node_modules/@ethersphere/bee-js/dist/types/index.d.ts';
2
+ import { StatefulMessage } from '../interfaces/message';
2
3
  import { EventEmitter } from '../utils/eventEmitter';
3
4
  import { SwarmChatUtils } from './utils';
4
5
  export declare class SwarmHistory {
@@ -6,9 +7,21 @@ export declare class SwarmHistory {
6
7
  private emitter;
7
8
  private logger;
8
9
  private errorHandler;
9
- private historyIndex;
10
+ private processedRefs;
11
+ private refRetryCount;
12
+ private bannedRefs;
13
+ private latestStatefulMessage;
14
+ private readonly MAX_RETRIES;
15
+ private readonly RETRY_DELAY;
10
16
  constructor(utils: SwarmChatUtils, emitter: EventEmitter);
11
17
  init(): Promise<FeedIndex>;
12
- fetchPreviousMessages(count?: number): Promise<void>;
18
+ initMessageState(statefulMessage: StatefulMessage): Promise<void>;
19
+ fetchPreviousMessageState(): Promise<void>;
20
+ private findLatestRef;
21
+ private processMessageRefWithRetry;
22
+ private processMessageRef;
23
+ private handleRefError;
24
+ hasPreviousMessages(): boolean;
25
+ cleanup(): void;
13
26
  }
14
27
  //# sourceMappingURL=history.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/lib/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,YAAY;IAMX,OAAO,CAAC,KAAK;IAAkB,OAAO,CAAC,OAAO;IAL1D,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,YAAY,CAA0B;gBAE1B,KAAK,EAAE,cAAc,EAAU,OAAO,EAAE,YAAY;IAE3D,IAAI;IAcJ,qBAAqB,CAAC,KAAK,SAAK;CA4B9C"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/lib/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAgC,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,YAAY;IAYX,OAAO,CAAC,KAAK;IAAkB,OAAO,CAAC,OAAO;IAX1D,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,qBAAqB,CAAgC;IAE7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAEhB,KAAK,EAAE,cAAc,EAAU,OAAO,EAAE,YAAY;IAE3D,IAAI;IAkBJ,gBAAgB,CAAC,eAAe,EAAE,eAAe;IA8BjD,yBAAyB;IAwBtC,OAAO,CAAC,aAAa;YAMP,0BAA0B;YAY1B,iBAAiB;YAgBjB,cAAc;IAyBrB,mBAAmB,IAAI,OAAO;IAQ9B,OAAO;CAMf"}
@@ -1,5 +1,5 @@
1
1
  import { FeedIndex } from '../../node_modules/@ethersphere/bee-js/dist/types/index.d.ts';
2
- import { ChatSettingsSwarm, ChatSettingsUser, MessageData } from '../interfaces';
2
+ import { ChatSettingsSwarm, ChatSettingsUser, StatefulMessage } from '../interfaces';
3
3
  export declare class SwarmChatUtils {
4
4
  private userDetails;
5
5
  private swarmSettings;
@@ -13,6 +13,7 @@ export declare class SwarmChatUtils {
13
13
  private writeOwnFeedDataByIndexOwned;
14
14
  private writeOwnFeedDataByIndexEnvelope;
15
15
  orderMessages(messages: any[]): any[];
16
+ downloadObjectFromBee(reference: string): Promise<any | null>;
16
17
  uploadObjectToBee(jsObject: object): Promise<string | null>;
17
18
  private uploadObjectToBeeOwn;
18
19
  private uploadObjectToBeeEnvelope;
@@ -21,7 +22,7 @@ export declare class SwarmChatUtils {
21
22
  nextIndex: number;
22
23
  }>;
23
24
  fetchLatestChatMessage(): Promise<{
24
- message: MessageData;
25
+ data: StatefulMessage;
25
26
  index: FeedIndex;
26
27
  }>;
27
28
  fetchChatMessage(index: FeedIndex): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAA0C,MAAM,qBAAqB,CAAC;AAG/F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAKjF,qBAAa,cAAc;IAOb,OAAO,CAAC,WAAW;IAAoB,OAAO,CAAC,aAAa;IALxE,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,mBAAmB,CAAQ;gBAEf,WAAW,EAAE,gBAAgB,EAAU,aAAa,EAAE,iBAAiB;IAEpF,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAI1D,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAY9B,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;YAY/C,4BAA4B;YAe5B,+BAA+B;IA2BtC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAI/B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAY1D,oBAAoB;YAWpB,yBAAyB;IAuB1B,qBAAqB;;;;IAwBrB,sBAAsB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAS7E,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAShD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YAkBtD,oBAAoB;YAepB,yBAAyB;CA0BxC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAA0C,MAAM,qBAAqB,CAAC;AAG/F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKrF,qBAAa,cAAc;IAOb,OAAO,CAAC,WAAW;IAAoB,OAAO,CAAC,aAAa;IALxE,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,mBAAmB,CAAQ;gBAEf,WAAW,EAAE,gBAAgB,EAAU,aAAa,EAAE,iBAAiB;IAEpF,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAI1D,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAY9B,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;YAY/C,4BAA4B;YAe5B,+BAA+B;IA2BtC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAI/B,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAW7D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAY1D,oBAAoB;YAWpB,yBAAyB;IAuB1B,qBAAqB;;;;IAwBrB,sBAAsB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAS9E,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAShD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YAkBtD,oBAAoB;YAepB,yBAAyB;CA0BxC"}