@jsm-mit/chat-motoko-package 0.3.0 → 0.4.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.
package/README.md CHANGED
@@ -15,8 +15,9 @@ await new RoomsActor(canisterId, adminIdentity).createRoomAsyncUnsafe({
15
15
  recipients: [{ principal: villagePrincipal, role: "agent", displayName: "Asystentka Ola" }],
16
16
  });
17
17
 
18
- // A customer opens the room the same call returns the same chat next time.
19
- const chat = await new ChatsActor(canisterId, identity).openChatAsyncUnsafe({ projectId: "sultana-stage", roomId: "assistant", customerName: "Michał" });
18
+ // A customer opens the room at a desk (what the chat is about here a salon); the same
19
+ // call returns the same chat next time, another desk opens another chat.
20
+ const chat = await new ChatsActor(canisterId, identity).openChatAsyncUnsafe({ projectId: "sultana-stage", roomId: "assistant", desk: salonId, customerName: "Michał" });
20
21
 
21
22
  const messages = new MessagesActor(canisterId, identity);
22
23
  await messages.postAsyncUnsafe({ chatId: chat.id, text: "dodaj usługę strzyżenie" });
@@ -25,7 +26,7 @@ const page = await messages.getMessagesAsyncUnsafe({ chatId: chat.id, sinceSeq:
25
26
  // An agent host: every new message in every chat this identity is a recipient of, with
26
27
  // the room and the customer on each message — route by (projectId, roomId).
27
28
  const poller = new ChatPoller(messages, 1000, { onError: console.error });
28
- poller.messages$.subscribe((m) => console.log(m.roomId, m.customer, m.kind, m.text));
29
+ poller.messages$.subscribe((m) => console.log(m.roomId, m.desk, m.customer, m.kind, m.text));
29
30
  poller.run();
30
31
  ```
31
32
 
@@ -161,6 +161,7 @@ type Participant =
161
161
  type OpenChatArgs =
162
162
  record {
163
163
  customerName: opt text;
164
+ desk: opt text;
164
165
  projectId: ProjectId;
165
166
  roomId: RoomId;
166
167
  };
@@ -181,6 +182,7 @@ type Message =
181
182
  chatId: ChatId;
182
183
  createdAt: int;
183
184
  customer: principal;
185
+ desk: opt text;
184
186
  globalSeq: nat;
185
187
  kind: MessageKind;
186
188
  projectId: ProjectId;
@@ -201,6 +203,7 @@ type ListRoomsArgs =
201
203
  type ListProjectsArgs = record {limit: opt nat;};
202
204
  type ListProjectChatsArgs =
203
205
  record {
206
+ desk: opt text;
204
207
  limit: opt nat;
205
208
  projectId: ProjectId;
206
209
  roomId: opt RoomId;
@@ -213,6 +216,7 @@ type GetRoomArgs =
213
216
  type GetProjectArgs = record {projectId: ProjectId;};
214
217
  type GetMyChatsArgs =
215
218
  record {
219
+ desk: opt text;
216
220
  limit: opt nat;
217
221
  projectId: ProjectId;
218
222
  roomId: opt RoomId;
@@ -256,6 +260,7 @@ type ChatSummary =
256
260
  record {
257
261
  createdAt: int;
258
262
  customer: principal;
263
+ desk: opt text;
259
264
  id: ChatId;
260
265
  lastMessageAt: int;
261
266
  messageCount: nat;
@@ -268,6 +273,7 @@ type Chat =
268
273
  record {
269
274
  createdAt: int;
270
275
  customer: principal;
276
+ desk: opt text;
271
277
  id: ChatId;
272
278
  lastMessageAt: int;
273
279
  lastSeq: nat;
@@ -8,6 +8,7 @@ export interface Chat {
8
8
  'participants' : Array<Participant>,
9
9
  'lastMessageAt' : bigint,
10
10
  'customer' : Principal,
11
+ 'desk' : [] | [string],
11
12
  'createdAt' : bigint,
12
13
  'projectId' : ProjectId,
13
14
  'roomId' : RoomId,
@@ -18,6 +19,7 @@ export interface ChatSummary {
18
19
  'id' : ChatId,
19
20
  'lastMessageAt' : bigint,
20
21
  'customer' : Principal,
22
+ 'desk' : [] | [string],
21
23
  'createdAt' : bigint,
22
24
  'projectId' : ProjectId,
23
25
  'messageCount' : bigint,
@@ -50,6 +52,7 @@ export interface GetMessagesArgs {
50
52
  'sinceSeq' : bigint,
51
53
  }
52
54
  export interface GetMyChatsArgs {
55
+ 'desk' : [] | [string],
53
56
  'limit' : [] | [bigint],
54
57
  'projectId' : ProjectId,
55
58
  'roomId' : [] | [RoomId],
@@ -57,6 +60,7 @@ export interface GetMyChatsArgs {
57
60
  export interface GetProjectArgs { 'projectId' : ProjectId }
58
61
  export interface GetRoomArgs { 'projectId' : ProjectId, 'roomId' : RoomId }
59
62
  export interface ListProjectChatsArgs {
63
+ 'desk' : [] | [string],
60
64
  'limit' : [] | [bigint],
61
65
  'projectId' : ProjectId,
62
66
  'roomId' : [] | [RoomId],
@@ -70,6 +74,7 @@ export interface MarkReadArgs { 'seq' : bigint, 'chatId' : ChatId }
70
74
  export interface Message {
71
75
  'seq' : bigint,
72
76
  'customer' : Principal,
77
+ 'desk' : [] | [string],
73
78
  'kind' : MessageKind,
74
79
  'createdAt' : bigint,
75
80
  'text' : string,
@@ -88,6 +93,7 @@ export interface MessagesPage {
88
93
  }
89
94
  export interface OpenChatArgs {
90
95
  'customerName' : [] | [string],
96
+ 'desk' : [] | [string],
91
97
  'projectId' : ProjectId,
92
98
  'roomId' : RoomId,
93
99
  }
@@ -74,6 +74,7 @@ export const idlFactory = ({ IDL }) => {
74
74
  'participants' : IDL.Vec(Participant),
75
75
  'lastMessageAt' : IDL.Int,
76
76
  'customer' : IDL.Principal,
77
+ 'desk' : IDL.Opt(IDL.Text),
77
78
  'createdAt' : IDL.Int,
78
79
  'projectId' : ProjectId,
79
80
  'roomId' : RoomId,
@@ -94,6 +95,7 @@ export const idlFactory = ({ IDL }) => {
94
95
  const Message = IDL.Record({
95
96
  'seq' : IDL.Nat,
96
97
  'customer' : IDL.Principal,
98
+ 'desk' : IDL.Opt(IDL.Text),
97
99
  'kind' : MessageKind,
98
100
  'createdAt' : IDL.Int,
99
101
  'text' : IDL.Text,
@@ -109,6 +111,7 @@ export const idlFactory = ({ IDL }) => {
109
111
  });
110
112
  const Result_12 = IDL.Variant({ 'ok' : MessagesPage, 'err' : Error });
111
113
  const GetMyChatsArgs = IDL.Record({
114
+ 'desk' : IDL.Opt(IDL.Text),
112
115
  'limit' : IDL.Opt(IDL.Nat),
113
116
  'projectId' : ProjectId,
114
117
  'roomId' : IDL.Opt(RoomId),
@@ -122,6 +125,7 @@ export const idlFactory = ({ IDL }) => {
122
125
  'roomId' : RoomId,
123
126
  });
124
127
  const ListProjectChatsArgs = IDL.Record({
128
+ 'desk' : IDL.Opt(IDL.Text),
125
129
  'limit' : IDL.Opt(IDL.Nat),
126
130
  'projectId' : ProjectId,
127
131
  'roomId' : IDL.Opt(RoomId),
@@ -130,6 +134,7 @@ export const idlFactory = ({ IDL }) => {
130
134
  'id' : ChatId,
131
135
  'lastMessageAt' : IDL.Int,
132
136
  'customer' : IDL.Principal,
137
+ 'desk' : IDL.Opt(IDL.Text),
133
138
  'createdAt' : IDL.Int,
134
139
  'projectId' : ProjectId,
135
140
  'messageCount' : IDL.Nat,
@@ -147,6 +152,7 @@ export const idlFactory = ({ IDL }) => {
147
152
  const MarkReadArgs = IDL.Record({ 'seq' : IDL.Nat, 'chatId' : ChatId });
148
153
  const OpenChatArgs = IDL.Record({
149
154
  'customerName' : IDL.Opt(IDL.Text),
155
+ 'desk' : IDL.Opt(IDL.Text),
150
156
  'projectId' : ProjectId,
151
157
  'roomId' : RoomId,
152
158
  });
@@ -7,7 +7,7 @@ export declare class ChatsActor extends ActorBase {
7
7
  /**
8
8
  * Opens the caller's chat in a room: the caller becomes the `customer`, the room's
9
9
  * recipients are copied in, the canister writes the `chatCreated` event. One chat per
10
- * (room, customer, recipients) — calling again returns the same chat unchanged. A NEW
10
+ * (room, customer, recipients, desk) — calling again returns the same chat unchanged. A NEW
11
11
  * chat is created only once the project's accounts canister confirms the caller
12
12
  * (`isUser`); admins of the canister and of the project skip that.
13
13
  * @throws Error with message `CanisterError` when the canister returns a business error (`NotAuthorized` also when the accounts canister does not know the caller, `NotFound` for the room, `InvalidData` when the caller is a recipient of the room, the name is too long or the daily chat limit is reached, `InterCanisterConnectionError` when the accounts canister cannot be asked). Examine "cause" for {errorKey, errorMessage, logs}.
@@ -1 +1 @@
1
- {"version":3,"file":"chats-actor.d.ts","sourceRoot":"","sources":["../../src/actors/chats-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGzH,gFAAgF;AAChF,qBAAa,UAAW,SAAQ,SAAS;gBAEzB,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAInD;;;;;;;;;OASG;IACU,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAWzE;;;;;OAKG;IACU,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKlE;;;;;;OAMG;IACU,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAW/E;;;;;;OAMG;IACU,2BAA2B,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAWlG;;;;;;;OAOG;IACU,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGtE"}
1
+ {"version":3,"file":"chats-actor.d.ts","sourceRoot":"","sources":["../../src/actors/chats-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGzH,gFAAgF;AAChF,qBAAa,UAAW,SAAQ,SAAS;gBAEzB,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAInD;;;;;;;;;OASG;IACU,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYzE;;;;;OAKG;IACU,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKlE;;;;;;OAMG;IACU,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAY/E;;;;;;OAMG;IACU,2BAA2B,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAYlG;;;;;;;OAOG;IACU,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGtE"}
@@ -9,7 +9,7 @@ export class ChatsActor extends ActorBase {
9
9
  /**
10
10
  * Opens the caller's chat in a room: the caller becomes the `customer`, the room's
11
11
  * recipients are copied in, the canister writes the `chatCreated` event. One chat per
12
- * (room, customer, recipients) — calling again returns the same chat unchanged. A NEW
12
+ * (room, customer, recipients, desk) — calling again returns the same chat unchanged. A NEW
13
13
  * chat is created only once the project's accounts canister confirms the caller
14
14
  * (`isUser`); admins of the canister and of the project skip that.
15
15
  * @throws Error with message `CanisterError` when the canister returns a business error (`NotAuthorized` also when the accounts canister does not know the caller, `NotFound` for the room, `InvalidData` when the caller is a recipient of the room, the name is too long or the daily chat limit is reached, `InterCanisterConnectionError` when the accounts canister cannot be asked). Examine "cause" for {errorKey, errorMessage, logs}.
@@ -20,6 +20,7 @@ export class ChatsActor extends ActorBase {
20
20
  const chat = await this.executeFunctionAsyncUnsafe(() => this.actor.openChat({
21
21
  projectId: input.projectId,
22
22
  roomId: input.roomId,
23
+ desk: toOpt(input.desk),
23
24
  customerName: toOpt(input.customerName),
24
25
  }));
25
26
  return mapChatView(chat);
@@ -45,6 +46,7 @@ export class ChatsActor extends ActorBase {
45
46
  const chats = await this.executeFunctionAsyncUnsafe(() => this.actor.getMyChats({
46
47
  projectId: input.projectId,
47
48
  roomId: toOpt(input.roomId),
49
+ desk: toOpt(input.desk),
48
50
  limit: toOptBigInt(input.limit),
49
51
  }));
50
52
  return chats.map(mapChatView);
@@ -60,6 +62,7 @@ export class ChatsActor extends ActorBase {
60
62
  const summaries = await this.executeFunctionAsyncUnsafe(() => this.actor.listProjectChats({
61
63
  projectId: input.projectId,
62
64
  roomId: toOpt(input.roomId),
65
+ desk: toOpt(input.desk),
63
66
  limit: toOptBigInt(input.limit),
64
67
  }));
65
68
  return summaries.map(mapChatSummaryView);
@@ -44,6 +44,8 @@ export interface ChatView {
44
44
  projectId: string;
45
45
  roomId: string;
46
46
  customer: string;
47
+ /** The desk of the room the customer walked up to — the consumer's id of what the chat is about. */
48
+ desk?: string;
47
49
  createdAt: bigint;
48
50
  participants: ParticipantView[];
49
51
  lastSeq: number;
@@ -55,6 +57,7 @@ export interface ChatSummaryView {
55
57
  projectId: string;
56
58
  roomId: string;
57
59
  customer: string;
60
+ desk?: string;
58
61
  createdAt: bigint;
59
62
  participantCount: number;
60
63
  messageCount: number;
@@ -70,6 +73,8 @@ export interface MessageView {
70
73
  roomId: string;
71
74
  /** Whom the chat belongs to — so a recipient's poll routes without a lookup. */
72
75
  customer: string;
76
+ /** The chat's desk, when it has one (Sultana: the salon). */
77
+ desk?: string;
73
78
  /** Dense per-chat sequence starting at 1. */
74
79
  seq: number;
75
80
  /** Canister-wide sequence — the poll cursor. */
@@ -132,17 +137,21 @@ export interface ListRoomsInput {
132
137
  export interface OpenChatInput {
133
138
  projectId: string;
134
139
  roomId: string;
140
+ /** Which desk of the room (max 200 chars) — another desk is another chat. */
141
+ desk?: string;
135
142
  /** How the recipients see the caller; omitted = the principal. */
136
143
  customerName?: string;
137
144
  }
138
145
  export interface GetMyChatsInput {
139
146
  projectId: string;
140
147
  roomId?: string;
148
+ desk?: string;
141
149
  limit?: number;
142
150
  }
143
151
  export interface ListProjectChatsInput {
144
152
  projectId: string;
145
153
  roomId?: string;
154
+ desk?: string;
146
155
  limit?: number;
147
156
  }
148
157
  export interface PostInput {
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../src/mappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,IAAI,EACJ,WAAW,EACX,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,WAAW,EACd,MAAM,gEAAgE,CAAC;AACxE,OAAO,KAAK,EACR,eAAe,EACf,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAEvD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAEvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAEpE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,iBAAiB,CAE3E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAK5E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAMjE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,CAMpE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAQ5D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAShD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,CAU5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAWhD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAWxE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAEvE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAiB5D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAExE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAMpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAExE"}
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../src/mappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,IAAI,EACJ,WAAW,EACX,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,WAAW,EACd,MAAM,gEAAgE,CAAC;AACxE,OAAO,KAAK,EACR,eAAe,EACf,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAEvD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAEvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAEpE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,iBAAiB,CAE3E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAK5E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAMjE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,CAMpE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAQ5D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAShD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,CAU5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAYhD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAYxE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAEvE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAkB5D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAExE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAMpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAExE"}
package/dist/mappers.js CHANGED
@@ -70,6 +70,7 @@ export function mapChatView(chat) {
70
70
  projectId: chat.projectId,
71
71
  roomId: chat.roomId,
72
72
  customer: chat.customer.toText(),
73
+ desk: fromOpt(chat.desk),
73
74
  createdAt: chat.createdAt,
74
75
  participants: chat.participants.map(mapParticipantView),
75
76
  lastSeq: Number(chat.lastSeq),
@@ -82,6 +83,7 @@ export function mapChatSummaryView(summary) {
82
83
  projectId: summary.projectId,
83
84
  roomId: summary.roomId,
84
85
  customer: summary.customer.toText(),
86
+ desk: fromOpt(summary.desk),
85
87
  createdAt: summary.createdAt,
86
88
  participantCount: Number(summary.participantCount),
87
89
  messageCount: Number(summary.messageCount),
@@ -97,6 +99,7 @@ export function mapMessageView(message) {
97
99
  projectId: message.projectId,
98
100
  roomId: message.roomId,
99
101
  customer: message.customer.toText(),
102
+ desk: fromOpt(message.desk),
100
103
  seq: Number(message.seq),
101
104
  globalSeq: Number(message.globalSeq),
102
105
  author: message.author.toText(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsm-mit/chat-motoko-package",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Wrapper TypeScript package for the chat-motoko canister: projects, multi-party chats, messages and a poller for agent hosts.",
5
5
  "license": "ISC",
6
6
  "author": "",
@@ -58,6 +58,6 @@
58
58
  "chatMotoko": {
59
59
  "repo": "chat-motoko",
60
60
  "repoUrl": "https://github.com/JSM-Chat-Platform/chat-motoko",
61
- "commit": "caf02c560d1c988bb79f26d6221a173a0ba8b7c2"
61
+ "commit": "e9c8a68daef59e8d4c9ceb1dd5089a7c008fa103"
62
62
  }
63
63
  }