@webitel/chat-web-sdk 0.0.9 → 0.0.11

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 (35) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +562 -541
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/contacts/classes/Contact.class.d.ts.map +1 -1
  6. package/dist/modules/contacts/types/Contact.types.d.ts +2 -3
  7. package/dist/modules/contacts/types/Contact.types.d.ts.map +1 -1
  8. package/dist/modules/messages/__tests__/resolveUploadKey.test.d.ts +2 -0
  9. package/dist/modules/messages/__tests__/resolveUploadKey.test.d.ts.map +1 -0
  10. package/dist/modules/messages/enums/MessageAttachmentType.enum.d.ts +6 -0
  11. package/dist/modules/messages/enums/MessageAttachmentType.enum.d.ts.map +1 -0
  12. package/dist/modules/messages/index.d.ts +1 -0
  13. package/dist/modules/messages/index.d.ts.map +1 -1
  14. package/dist/modules/messages/types/Message.types.d.ts +48 -1
  15. package/dist/modules/messages/types/Message.types.d.ts.map +1 -1
  16. package/dist/modules/messages/utils/resolveUploadKey.d.ts +14 -0
  17. package/dist/modules/messages/utils/resolveUploadKey.d.ts.map +1 -0
  18. package/dist/modules/messages/utils/sendDocumentMessage.d.ts.map +1 -1
  19. package/dist/modules/messages/utils/sendImageMessage.d.ts.map +1 -1
  20. package/dist/modules/socket/types/models/SocketMessageModel.types.d.ts +1 -1
  21. package/dist/modules/socket/types/models/SocketMessageModel.types.d.ts.map +1 -1
  22. package/dist/modules/socket/types/models/SocketThreadModel.types.d.ts +1 -2
  23. package/dist/modules/socket/types/models/SocketThreadModel.types.d.ts.map +1 -1
  24. package/dist/modules/threads/classes/Thread.class.d.ts.map +1 -1
  25. package/dist/modules/threads/enums/ThreadMemberRole.enum.d.ts +2 -0
  26. package/dist/modules/threads/enums/ThreadMemberRole.enum.d.ts.map +1 -0
  27. package/dist/modules/threads/types/Thread.types.d.ts +3 -20
  28. package/dist/modules/threads/types/Thread.types.d.ts.map +1 -1
  29. package/dist/modules/threads/utils/addMember.d.ts +8 -0
  30. package/dist/modules/threads/utils/addMember.d.ts.map +1 -0
  31. package/dist/modules/threads/utils/removeMember.d.ts +8 -0
  32. package/dist/modules/threads/utils/removeMember.d.ts.map +1 -0
  33. package/dist/modules/ui/components/WtChatMessageBubble.vue.d.ts +1 -1
  34. package/dist/modules/ui/components/WtChatMessageBubble.vue.d.ts.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Contact.class.d.ts","sourceRoot":"","sources":["../../../../src/modules/contacts/classes/Contact.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAwCrE,wBAAgB,aAAa,CAC5B,UAAU,EAAE,YAAY,EACxB,EACC,aAAa,GACb,EAAE;IACF,aAAa,EAAE,aAAa,CAAC;CAC7B,GACC,QAAQ,CAIV"}
1
+ {"version":3,"file":"Contact.class.d.ts","sourceRoot":"","sources":["../../../../src/modules/contacts/classes/Contact.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAQnD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AA4DrE,wBAAgB,aAAa,CAC5B,UAAU,EAAE,YAAY,EACxB,EACC,aAAa,GACb,EAAE;IACF,aAAa,EAAE,aAAa,CAAC;CAC7B,GACC,QAAQ,CAIV"}
@@ -1,8 +1,7 @@
1
1
  import { WebitelImApiGatewayV1Contact as ContactModel, ContactsSearchParams as ContactSearchParams, WebitelImApiGatewayV1ContactList as ContactSearchRawResult } from '@webitel/api-services/gen/models';
2
2
  import { ServiceConfigurable } from '../../configs';
3
- import { MessageSendTextParams, MessageSendTextRawResponse } from '../../messages/types/Message.types';
4
- interface IContact extends ContactModel, ServiceConfigurable {
5
- sendTextMessage: (body: string, params?: Omit<MessageSendTextParams, 'body' | 'to'>) => Promise<MessageSendTextRawResponse>;
3
+ import { IMessageSender } from '../../messages/types/Message.types';
4
+ interface IContact extends ContactModel, ServiceConfigurable, IMessageSender {
6
5
  }
7
6
  type ContactSearchResult = Omit<ContactSearchRawResult, 'items'> & {
8
7
  items: IContact[];
@@ -1 +1 @@
1
- {"version":3,"file":"Contact.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/contacts/types/Contact.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,4BAA4B,IAAI,YAAY,EAC5C,oBAAoB,IAAI,mBAAmB,EAC3C,gCAAgC,IAAI,sBAAsB,EAC1D,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EACX,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,UAAU,QAAS,SAAQ,YAAY,EAAE,mBAAmB;IAC3D,eAAe,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC,KAC/C,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACzC;AAED,KAAK,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,GAAG;IAClE,KAAK,EAAE,QAAQ,EAAE,CAAC;CAClB,CAAC;AAEF,YAAY,EACX,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,QAAQ,GACR,CAAC"}
1
+ {"version":3,"file":"Contact.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/contacts/types/Contact.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,4BAA4B,IAAI,YAAY,EAC5C,oBAAoB,IAAI,mBAAmB,EAC3C,gCAAgC,IAAI,sBAAsB,EAC1D,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,UAAU,QAAS,SAAQ,YAAY,EAAE,mBAAmB,EAAE,cAAc;CAAG;AAE/E,KAAK,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,GAAG;IAClE,KAAK,EAAE,QAAQ,EAAE,CAAC;CAClB,CAAC;AAEF,YAAY,EACX,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,QAAQ,GACR,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolveUploadKey.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveUploadKey.test.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/__tests__/resolveUploadKey.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare const MessageAttachmentType: {
2
+ readonly Documents: "documents";
3
+ readonly Images: "images";
4
+ };
5
+ export type MessageAttachmentType = (typeof MessageAttachmentType)[keyof typeof MessageAttachmentType];
6
+ //# sourceMappingURL=MessageAttachmentType.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageAttachmentType.enum.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/enums/MessageAttachmentType.enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAChC,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { createMessage } from './classes/Message.class';
2
+ export { MessageAttachmentType } from './enums/MessageAttachmentType.enum';
2
3
  export { useMessagesService } from './messagesSevice';
3
4
  export type { IMessage, MessageHistorySearchParams, MessageHistorySearchResult, MessageModel, MessageSendDocumentParams, MessageSendDocumentRawResponse, MessageSendImageParams, MessageSendImageRawResponse, MessageSendTextParams, MessageSendTextRawResponse, MessageStorageUploadedFile, } from './types/Message.types';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EACX,QAAQ,EACR,0BAA0B,EAC1B,0BAA0B,EAC1B,YAAY,EACZ,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EACX,QAAQ,EACR,0BAA0B,EAC1B,0BAA0B,EAC1B,YAAY,EACZ,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,uBAAuB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { MessageHistorySearchThreadMessagesHistoryWebitelImApiGatewayV1MessageHistoryParams as MessageHistorySearchParams, WebitelImApiGatewayV1SearchMessageHistoryResponse as MessageHistorySearchRawResponse, WebitelImApiGatewayV1HistoryMessage as MessageModel, WebitelImApiGatewayV1SendDocumentResponse as MessageSendDocumentRawResponse, WebitelImApiGatewayV1SendDocumentRequest as MessageSendDocumentRequest, WebitelImApiGatewayV1SendImageResponse as MessageSendImageRawResponse, WebitelImApiGatewayV1SendImageRequest as MessageSendImageRequest, WebitelImApiGatewayV1SendTextRequest as MessageSendTextParams, WebitelImApiGatewayV1SendTextResponse as MessageSendTextRawResponse } from '@webitel/api-services/gen/models';
2
2
  import { ServiceConfigurable } from '../../configs';
3
+ import { MessageAttachmentType } from '../enums/MessageAttachmentType.enum';
3
4
  /**
4
5
  * One element from storage upload `POST …/upload` response
5
6
  */
@@ -24,6 +25,21 @@ interface IMessage extends MessageModel, ServiceConfigurable {
24
25
  type MessageHistorySearchResult = Omit<MessageHistorySearchRawResponse, 'items'> & {
25
26
  items: IMessage[];
26
27
  };
28
+ /**
29
+ * Tagged union describing a single attachment payload attached to a message.
30
+ *
31
+ * A message carries **at most one** attachment kind alongside its optional
32
+ * text `body`. The union is intentionally open-ended so future kinds
33
+ * (location, interactive, sticker, …) can be added without reshaping
34
+ * `sendMessage` call-sites.
35
+ */
36
+ type MessageSendAttachments = {
37
+ type: typeof MessageAttachmentType.Documents;
38
+ files: File | readonly File[];
39
+ } | {
40
+ type: typeof MessageAttachmentType.Images;
41
+ files: File | readonly File[];
42
+ };
27
43
  /**
28
44
  * `sendDocument` message wrapper method params.
29
45
  * Wraps both uploading files to storage and sending document message.
@@ -46,5 +62,36 @@ type MessageSendImageParams = Omit<MessageSendImageRequest, 'image'> & Pick<Requ
46
62
  files: File | readonly File[];
47
63
  body?: string;
48
64
  };
49
- export type { IMessage, MessageHistorySearchParams, MessageHistorySearchRawResponse, MessageHistorySearchResult, MessageModel, MessageSendDocumentParams, MessageSendDocumentRawResponse, MessageSendDocumentRequest, MessageSendImageParams, MessageSendImageRawResponse, MessageSendImageRequest, MessageSendTextParams, MessageSendTextRawResponse, MessageStorageUploadedFile, };
65
+ /**
66
+ * Unified `sendMessage` params shared by every peer type (threads,
67
+ * contacts, …).
68
+ *
69
+ * A message carries an optional text `body` and at most one `attachments`
70
+ * payload (tagged by `type`). Text-only messages omit `attachments`.
71
+ */
72
+ interface MessageSendParams {
73
+ body?: string;
74
+ attachments?: MessageSendAttachments;
75
+ }
76
+ /**
77
+ * Transport-level options for `sendMessage` that are independent of the
78
+ * message payload itself.
79
+ */
80
+ interface MessageSendOptions {
81
+ sendId?: string;
82
+ }
83
+ /**
84
+ * Union of every possible raw response returned by `sendMessage`,
85
+ * depending on which concrete send-* endpoint was dispatched.
86
+ */
87
+ type MessageSendResponse = MessageSendTextRawResponse | MessageSendDocumentRawResponse | MessageSendImageRawResponse;
88
+ /**
89
+ * Contract implemented by any peer that can be used as the "to" target of
90
+ * a message (currently `IThread` and `IContact`). Keeping a single shape
91
+ * lets call-sites work polymorphically with either peer.
92
+ */
93
+ interface IMessageSender {
94
+ sendMessage: (params: MessageSendParams, options?: MessageSendOptions) => Promise<MessageSendResponse>;
95
+ }
96
+ export type { IMessage, IMessageSender, MessageHistorySearchParams, MessageHistorySearchRawResponse, MessageHistorySearchResult, MessageModel, MessageSendAttachments, MessageSendDocumentParams, MessageSendDocumentRawResponse, MessageSendDocumentRequest, MessageSendImageParams, MessageSendImageRawResponse, MessageSendImageRequest, MessageSendOptions, MessageSendParams, MessageSendResponse, MessageSendTextParams, MessageSendTextRawResponse, MessageStorageUploadedFile, };
50
97
  //# sourceMappingURL=Message.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Message.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/types/Message.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kFAAkF,IAAI,0BAA0B,EAChH,iDAAiD,IAAI,+BAA+B,EACpF,mCAAmC,IAAI,YAAY,EACnD,yCAAyC,IAAI,8BAA8B,EAC3E,wCAAwC,IAAI,0BAA0B,EACtE,sCAAsC,IAAI,2BAA2B,EACrE,qCAAqC,IAAI,uBAAuB,EAChE,oCAAoC,IAAI,qBAAqB,EAC7D,qCAAqC,IAAI,0BAA0B,EACnE,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AACH,UAAU,0BAA0B;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,UAAU,QAAS,SAAQ,YAAY,EAAE,mBAAmB;IAC3D,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,KAAK,0BAA0B,GAAG,IAAI,CACrC,+BAA+B,EAC/B,OAAO,CACP,GAAG;IACH,KAAK,EAAE,QAAQ,EAAE,CAAC;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,KAAK,yBAAyB,GAAG,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAC5E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,GAAG;IAClD,KAAK,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEH;;;;;;GAMG;AACH,KAAK,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,GACnE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,GAAG;IAC/C,KAAK,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEH,YAAY,EACX,QAAQ,EACR,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,YAAY,EACZ,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,GAC1B,CAAC"}
1
+ {"version":3,"file":"Message.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/types/Message.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { WebitelImApiGatewayV1Peer as MessagePeer } from '@webitel/api-services/gen/models';
2
+ /**
3
+ * Derives the storage upload path key from a message `to` peer.
4
+ *
5
+ * The backend file upload endpoint is shaped as
6
+ * `/storage/file/{key}/upload`, where `{key}` is:
7
+ * - `threadId` for existing threads
8
+ * - `${sub}:${iss}` for contact peers (no thread yet)
9
+ *
10
+ * Throws when the peer carries neither piece of info.
11
+ */
12
+ declare const resolveUploadKey: (to: MessagePeer | undefined) => string;
13
+ export { resolveUploadKey };
14
+ //# sourceMappingURL=resolveUploadKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveUploadKey.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/utils/resolveUploadKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEjG;;;;;;;;;GASG;AACH,QAAA,MAAM,gBAAgB,GAAI,IAAI,WAAW,GAAG,SAAS,KAAG,MASvD,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sendDocumentMessage.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/utils/sendDocumentMessage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACX,yBAAyB,EACzB,8BAA8B,EAC9B,MAAM,wBAAwB,CAAC;AAEhC,QAAA,MAAM,mBAAmB,GACxB,QAAQ,aAAa,EACrB,QAAQ,yBAAyB,KAC/B,OAAO,CAAC,8BAA8B,CA8BxC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"sendDocumentMessage.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/utils/sendDocumentMessage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACX,yBAAyB,EACzB,8BAA8B,EAC9B,MAAM,wBAAwB,CAAC;AAGhC,QAAA,MAAM,mBAAmB,GACxB,QAAQ,aAAa,EACrB,QAAQ,yBAAyB,KAC/B,OAAO,CAAC,8BAA8B,CAwBxC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sendImageMessage.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/utils/sendImageMessage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACX,sBAAsB,EACtB,2BAA2B,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,QAAA,MAAM,gBAAgB,GACrB,QAAQ,aAAa,EACrB,QAAQ,sBAAsB,KAC5B,OAAO,CAAC,2BAA2B,CA6BrC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"sendImageMessage.d.ts","sourceRoot":"","sources":["../../../../src/modules/messages/utils/sendImageMessage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACX,sBAAsB,EACtB,2BAA2B,EAC3B,MAAM,wBAAwB,CAAC;AAGhC,QAAA,MAAM,gBAAgB,GACrB,QAAQ,aAAa,EACrB,QAAQ,sBAAsB,KAC5B,OAAO,CAAC,2BAA2B,CAuBrC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -3,7 +3,7 @@ import { SocketContactModel } from './SocketContactModel.types';
3
3
  /**
4
4
  * @see https://github.com/webitel/im-delivery-service/blob/main/api/asyncapi/asyncapi.yaml#L104
5
5
  */
6
- export interface SocketMessageModel extends Pick<MessageModel, 'id' | 'threadId' | 'createdAt' | 'updatedAt' | 'body' | 'type'> {
6
+ export interface SocketMessageModel extends Pick<MessageModel, 'id' | 'threadId' | 'createdAt' | 'editedAt' | 'body' | 'type'> {
7
7
  sendId: MessageSendTextParams['sendId'];
8
8
  to: SocketContactModel;
9
9
  sender: SocketContactModel;
@@ -1 +1 @@
1
- {"version":3,"file":"SocketMessageModel.types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/socket/types/models/SocketMessageModel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,qBAAqB,EACrB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,kBAChB,SAAQ,IAAI,CACX,YAAY,EACZ,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAC/D;IACD,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxC,EAAE,EAAE,kBAAkB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;CAC3B"}
1
+ {"version":3,"file":"SocketMessageModel.types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/socket/types/models/SocketMessageModel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,qBAAqB,EACrB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,kBAChB,SAAQ,IAAI,CACX,YAAY,EACZ,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAC9D;IACD,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxC,EAAE,EAAE,kBAAkB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;CAC3B"}
@@ -3,9 +3,8 @@ import { SocketContactModel } from './SocketContactModel.types';
3
3
  /**
4
4
  * @see https://github.com/webitel/im-delivery-service/blob/main/api/asyncapi/asyncapi.yaml#L154-L165
5
5
  */
6
- export interface SocketThreadModel extends Pick<ThreadModel, 'id' | 'createdAt' | 'subject' | 'kind'> {
6
+ export interface SocketThreadModel extends Pick<ThreadModel, 'id' | 'createdAt' | 'subject' | 'type'> {
7
7
  domainId: unknown;
8
- type: ThreadModel['kind'];
9
8
  members: SocketContactModel[];
10
9
  }
11
10
  //# sourceMappingURL=SocketThreadModel.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocketThreadModel.types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/socket/types/models/SocketThreadModel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAChB,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC9B"}
1
+ {"version":3,"file":"SocketThreadModel.types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/socket/types/models/SocketThreadModel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAChB,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Thread.class.d.ts","sourceRoot":"","sources":["../../../../src/modules/threads/classes/Thread.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAKnD,OAAO,KAAK,EACX,OAAO,EACP,WAAW,EAGX,MAAM,uBAAuB,CAAC;AAkE/B,wBAAgB,YAAY,CAC3B,SAAS,EAAE,WAAW,EACtB,EACC,aAAa,GACb,EAAE;IACF,aAAa,EAAE,aAAa,CAAC;CAC7B,GACC,OAAO,CAIT"}
1
+ {"version":3,"file":"Thread.class.d.ts","sourceRoot":"","sources":["../../../../src/modules/threads/classes/Thread.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAWnD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA+DlE,wBAAgB,YAAY,CAC3B,SAAS,EAAE,WAAW,EACtB,EACC,aAAa,GACb,EAAE;IACF,aAAa,EAAE,aAAa,CAAC;CAC7B,GACC,OAAO,CAIT"}
@@ -0,0 +1,2 @@
1
+ export { ThreadManagementAddMemberRole as ThreadMemberRole } from '@webitel/api-services/gen/models';
2
+ //# sourceMappingURL=ThreadMemberRole.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadMemberRole.enum.d.ts","sourceRoot":"","sources":["../../../../src/modules/threads/enums/ThreadMemberRole.enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,29 +1,12 @@
1
1
  import { WebitelImApiGatewayV1Thread as ThreadModel, ThreadManagementSearchParams as ThreadSearchParams, WebitelImApiGatewayV1SearchThreadResponse as ThreadSearchRawResult } from '@webitel/api-services/gen/models';
2
2
  import { ServiceConfigurable } from '../../configs';
3
- import { MessageHistorySearchParams, MessageHistorySearchResult, MessageSendDocumentRawResponse, MessageSendImageRawResponse, MessageSendTextRawResponse } from '../../messages/types/Message.types';
4
- /**
5
- * Unified thread send-message params.
6
- *
7
- * - text-only message: pass `body`
8
- * - document message (optionally with caption): pass `documents` + optional `body`
9
- * - image message (optionally with caption): pass `images` + optional `body`
10
- *
11
- * `images` take precedence over `documents` when both are provided.
12
- */
13
- interface ThreadSendMessageParams {
14
- body?: string;
15
- documents?: File | readonly File[];
16
- images?: File | readonly File[];
17
- sendId?: string;
18
- }
19
- type ThreadSendMessageResponse = MessageSendTextRawResponse | MessageSendDocumentRawResponse | MessageSendImageRawResponse;
20
- interface IThread extends ThreadModel, ServiceConfigurable {
3
+ import { IMessageSender, MessageHistorySearchParams, MessageHistorySearchResult } from '../../messages/types/Message.types';
4
+ interface IThread extends ThreadModel, ServiceConfigurable, IMessageSender {
21
5
  id: string;
22
6
  fetchMessageHistory: (params?: MessageHistorySearchParams) => Promise<MessageHistorySearchResult>;
23
- sendMessage: (params: ThreadSendMessageParams) => Promise<ThreadSendMessageResponse>;
24
7
  }
25
8
  type ThreadSearchResult = Omit<ThreadSearchRawResult, 'items'> & {
26
9
  items: IThread[];
27
10
  };
28
- export type { IThread, ThreadModel, ThreadSearchParams, ThreadSearchRawResult, ThreadSearchResult, ThreadSendMessageParams, ThreadSendMessageResponse, };
11
+ export type { IThread, ThreadModel, ThreadSearchParams, ThreadSearchRawResult, ThreadSearchResult, };
29
12
  //# sourceMappingURL=Thread.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Thread.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/threads/types/Thread.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,2BAA2B,IAAI,WAAW,EAC1C,4BAA4B,IAAI,kBAAkB,EAClD,yCAAyC,IAAI,qBAAqB,EAClE,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EACX,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;GAQG;AACH,UAAU,uBAAuB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,yBAAyB,GAC3B,0BAA0B,GAC1B,8BAA8B,GAC9B,2BAA2B,CAAC;AAE/B,UAAU,OAAQ,SAAQ,WAAW,EAAE,mBAAmB;IACzD,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB,EAAE,CACpB,MAAM,CAAC,EAAE,0BAA0B,KAC/B,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEzC,WAAW,EAAE,CACZ,MAAM,EAAE,uBAAuB,KAC3B,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACxC;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG;IAChE,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB,CAAC;AAEF,YAAY,EACX,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GACzB,CAAC"}
1
+ {"version":3,"file":"Thread.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/threads/types/Thread.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,2BAA2B,IAAI,WAAW,EAC1C,4BAA4B,IAAI,kBAAkB,EAClD,yCAAyC,IAAI,qBAAqB,EAClE,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EACX,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,UAAU,OAAQ,SAAQ,WAAW,EAAE,mBAAmB,EAAE,cAAc;IACzE,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB,EAAE,CACpB,MAAM,CAAC,EAAE,0BAA0B,KAC/B,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACzC;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG;IAChE,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB,CAAC;AAEF,YAAY,EACX,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ServiceConfig } from '../../configs';
2
+ import { ThreadAddMemberParams, ThreadAddMemberResponse } from '../types/Thread.types';
3
+ /**
4
+ * Raw `POST /v1/threads/{threadId}/members`
5
+ */
6
+ declare const addMember: (config: ServiceConfig) => (threadId: string, params: ThreadAddMemberParams) => Promise<ThreadAddMemberResponse>;
7
+ export { addMember };
8
+ //# sourceMappingURL=addMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addMember.d.ts","sourceRoot":"","sources":["../../../../src/modules/threads/utils/addMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACX,qBAAqB,EACrB,uBAAuB,EACvB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,QAAA,MAAM,SAAS,GACb,QAAQ,aAAa,MAErB,UAAU,MAAM,EAChB,QAAQ,qBAAqB,KAC3B,OAAO,CAAC,uBAAuB,CAMjC,CAAC;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ServiceConfig } from '../../configs';
2
+ import { ThreadRemoveMemberParams, ThreadRemoveMemberResponse } from '../types/Thread.types';
3
+ /**
4
+ * Raw `DELETE /v1/threads/{threadId}/members`
5
+ */
6
+ declare const removeMember: (config: ServiceConfig) => (threadId: string, params: ThreadRemoveMemberParams) => Promise<ThreadRemoveMemberResponse>;
7
+ export { removeMember };
8
+ //# sourceMappingURL=removeMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeMember.d.ts","sourceRoot":"","sources":["../../../../src/modules/threads/utils/removeMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,QAAA,MAAM,YAAY,GAChB,QAAQ,aAAa,MAErB,UAAU,MAAM,EAChB,QAAQ,wBAAwB,KAC9B,OAAO,CAAC,0BAA0B,CAMpC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -14,8 +14,8 @@ declare function __VLS_template(): {
14
14
  };
15
15
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
16
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
17
- text: string;
18
17
  sender: string;
18
+ text: string;
19
19
  time: string;
20
20
  outgoing: boolean;
21
21
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"WtChatMessageBubble.vue.d.ts","sourceRoot":"","sources":["../../../../src/modules/ui/components/WtChatMessageBubble.vue"],"names":[],"mappings":"AA8EA,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAmBH,iBAAS,cAAc;WAqDT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AASD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;UA3FZ,MAAM;YACJ,MAAM;UACR,MAAM;cACF,OAAO;wFAgGlB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WtChatMessageBubble.vue.d.ts","sourceRoot":"","sources":["../../../../src/modules/ui/components/WtChatMessageBubble.vue"],"names":[],"mappings":"AA8EA,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAmBH,iBAAS,cAAc;WAqDT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AASD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;YA1FV,MAAM;UADR,MAAM;UAEN,MAAM;cACF,OAAO;wFAgGlB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/chat-web-sdk",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
5
  "workspaces": [
6
6
  "../../webitel-ui-sdk/packages/api-services"