@futdevpro/fsm-dynamo 1.14.7 → 1.14.9

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.
@@ -6,12 +6,18 @@ export declare enum DyFM_MsgRoute {
6
6
  getConversations = "getConversations",
7
7
  getConversation = "getConversation",
8
8
  createConversation = "createConversation",
9
+ updateConversation = "updateConversation",
10
+ deleteConversation = "deleteConversation",
9
11
  getMessages = "getMessages",
10
12
  sendMessage = "sendMessage",
11
13
  editMessage = "editMessage",
12
14
  deleteMessage = "deleteMessage",
13
15
  markAsRead = "markAsRead",
14
- addReaction = "addReaction"
16
+ addReaction = "addReaction",
17
+ removeReaction = "removeReaction",
18
+ addParticipant = "addParticipant",
19
+ removeParticipant = "removeParticipant",
20
+ getAgentProcess = "getAgentProcess"
15
21
  }
16
22
  /**
17
23
  * Messaging module route settings
@@ -1 +1 @@
1
- {"version":3,"file":"msg-module-settings.const.d.ts","sourceRoot":"","sources":["../../../../src/_modules/messaging/_collections/msg-module-settings.const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAE3F;;GAEG;AACH,oBAAY,aAAa;IACvB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,CAAC,aAAa,CAatE,CAAC"}
1
+ {"version":3,"file":"msg-module-settings.const.d.ts","sourceRoot":"","sources":["../../../../src/_modules/messaging/_collections/msg-module-settings.const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAE3F;;GAEG;AACH,oBAAY,aAAa;IACvB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,CAAC,aAAa,CAmBtE,CAAC"}
@@ -9,12 +9,18 @@ var DyFM_MsgRoute;
9
9
  DyFM_MsgRoute["getConversations"] = "getConversations";
10
10
  DyFM_MsgRoute["getConversation"] = "getConversation";
11
11
  DyFM_MsgRoute["createConversation"] = "createConversation";
12
+ DyFM_MsgRoute["updateConversation"] = "updateConversation";
13
+ DyFM_MsgRoute["deleteConversation"] = "deleteConversation";
12
14
  DyFM_MsgRoute["getMessages"] = "getMessages";
13
15
  DyFM_MsgRoute["sendMessage"] = "sendMessage";
14
16
  DyFM_MsgRoute["editMessage"] = "editMessage";
15
17
  DyFM_MsgRoute["deleteMessage"] = "deleteMessage";
16
18
  DyFM_MsgRoute["markAsRead"] = "markAsRead";
17
19
  DyFM_MsgRoute["addReaction"] = "addReaction";
20
+ DyFM_MsgRoute["removeReaction"] = "removeReaction";
21
+ DyFM_MsgRoute["addParticipant"] = "addParticipant";
22
+ DyFM_MsgRoute["removeParticipant"] = "removeParticipant";
23
+ DyFM_MsgRoute["getAgentProcess"] = "getAgentProcess";
18
24
  })(DyFM_MsgRoute || (exports.DyFM_MsgRoute = DyFM_MsgRoute = {}));
19
25
  /**
20
26
  * Messaging module route settings
@@ -25,12 +31,18 @@ exports.DyFM_msgModule_settings = {
25
31
  [DyFM_MsgRoute.getConversations]: '/conversations',
26
32
  [DyFM_MsgRoute.getConversation]: '/conversations/:conversationId',
27
33
  [DyFM_MsgRoute.createConversation]: '/conversations/create',
34
+ [DyFM_MsgRoute.updateConversation]: '/conversations/:conversationId',
35
+ [DyFM_MsgRoute.deleteConversation]: '/conversations/:conversationId',
28
36
  [DyFM_MsgRoute.getMessages]: '/conversations/:conversationId/messages',
29
37
  [DyFM_MsgRoute.sendMessage]: '/conversations/:conversationId/messages/send',
30
38
  [DyFM_MsgRoute.editMessage]: '/messages/:messageId/edit',
31
39
  [DyFM_MsgRoute.deleteMessage]: '/messages/:messageId',
32
40
  [DyFM_MsgRoute.markAsRead]: '/messages/mark-read',
33
41
  [DyFM_MsgRoute.addReaction]: '/messages/:messageId/reactions',
42
+ [DyFM_MsgRoute.removeReaction]: '/messages/:messageId/reactions/:emoji',
43
+ [DyFM_MsgRoute.addParticipant]: '/conversations/:conversationId/participants',
44
+ [DyFM_MsgRoute.removeParticipant]: '/conversations/:conversationId/participants/:userId',
45
+ [DyFM_MsgRoute.getAgentProcess]: '/messages/:messageId/agent-process',
34
46
  },
35
47
  };
36
48
  //# sourceMappingURL=msg-module-settings.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"msg-module-settings.const.js","sourceRoot":"","sources":["../../../../src/_modules/messaging/_collections/msg-module-settings.const.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;IACnC,0DAAyC,CAAA;IACzC,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,0CAAyB,CAAA;IACzB,4CAA2B,CAAA;AAC7B,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB;AAED;;GAEG;AACU,QAAA,uBAAuB,GAAuC;IACzE,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE;QACT,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,gBAAgB;QAClD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,gCAAgC;QACjE,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,uBAAuB;QAC3D,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,yCAAyC;QACtE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,8CAA8C;QAC3E,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,2BAA2B;QACxD,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,sBAAsB;QACrD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,qBAAqB;QACjD,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,gCAAgC;KAC9D;CACF,CAAC"}
1
+ {"version":3,"file":"msg-module-settings.const.js","sourceRoot":"","sources":["../../../../src/_modules/messaging/_collections/msg-module-settings.const.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,IAAY,aAgBX;AAhBD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;IACnC,0DAAyC,CAAA;IACzC,0DAAyC,CAAA;IACzC,0DAAyC,CAAA;IACzC,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,0CAAyB,CAAA;IACzB,4CAA2B,CAAA;IAC3B,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,oDAAmC,CAAA;AACrC,CAAC,EAhBW,aAAa,6BAAb,aAAa,QAgBxB;AAED;;GAEG;AACU,QAAA,uBAAuB,GAAuC;IACzE,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE;QACT,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,gBAAgB;QAClD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,gCAAgC;QACjE,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,uBAAuB;QAC3D,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,gCAAgC;QACpE,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,gCAAgC;QACpE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,yCAAyC;QACtE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,8CAA8C;QAC3E,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,2BAA2B;QACxD,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,sBAAsB;QACrD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,qBAAqB;QACjD,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,gCAAgC;QAC7D,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,uCAAuC;QACvE,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,6CAA6C;QAC7E,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,qDAAqD;QACxF,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,oCAAoC;KACtE;CACF,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Socket event keys for real-time messaging
3
+ * Following existing socket event pattern with camelCase = 'kebab-case'
4
+ */
5
+ export declare enum DyFM_Msg_EventKey {
6
+ messageSent = "msg:message-sent",
7
+ messageUpdated = "msg:message-updated",
8
+ messageDeleted = "msg:message-deleted",
9
+ messageDelivered = "msg:message-delivered",
10
+ messageRead = "msg:message-read",
11
+ conversationCreated = "msg:conversation-created",
12
+ conversationUpdated = "msg:conversation-updated",
13
+ conversationDeleted = "msg:conversation-deleted",
14
+ participantAdded = "msg:participant-added",
15
+ participantRemoved = "msg:participant-removed",
16
+ typingStart = "msg:typing-start",
17
+ typingStop = "msg:typing-stop",
18
+ reactionAdded = "msg:reaction-added",
19
+ reactionRemoved = "msg:reaction-removed",
20
+ agentStepAdded = "msg:agent-step-added",
21
+ agentProcessComplete = "msg:agent-process-complete"
22
+ }
23
+ //# sourceMappingURL=msg-event-key.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msg-event-key.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/messaging/_enums/msg-event-key.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,iBAAiB;IAE3B,WAAW,qBAAqB;IAChC,cAAc,wBAAwB;IACtC,cAAc,wBAAwB;IACtC,gBAAgB,0BAA0B;IAC1C,WAAW,qBAAqB;IAGhC,mBAAmB,6BAA6B;IAChD,mBAAmB,6BAA6B;IAChD,mBAAmB,6BAA6B;IAChD,gBAAgB,0BAA0B;IAC1C,kBAAkB,4BAA4B;IAG9C,WAAW,qBAAqB;IAChC,UAAU,oBAAoB;IAG9B,aAAa,uBAAuB;IACpC,eAAe,yBAAyB;IAGxC,cAAc,yBAAyB;IACvC,oBAAoB,+BAA+B;CACpD"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_Msg_EventKey = void 0;
4
+ /**
5
+ * Socket event keys for real-time messaging
6
+ * Following existing socket event pattern with camelCase = 'kebab-case'
7
+ */
8
+ var DyFM_Msg_EventKey;
9
+ (function (DyFM_Msg_EventKey) {
10
+ // Message events
11
+ DyFM_Msg_EventKey["messageSent"] = "msg:message-sent";
12
+ DyFM_Msg_EventKey["messageUpdated"] = "msg:message-updated";
13
+ DyFM_Msg_EventKey["messageDeleted"] = "msg:message-deleted";
14
+ DyFM_Msg_EventKey["messageDelivered"] = "msg:message-delivered";
15
+ DyFM_Msg_EventKey["messageRead"] = "msg:message-read";
16
+ // Conversation events
17
+ DyFM_Msg_EventKey["conversationCreated"] = "msg:conversation-created";
18
+ DyFM_Msg_EventKey["conversationUpdated"] = "msg:conversation-updated";
19
+ DyFM_Msg_EventKey["conversationDeleted"] = "msg:conversation-deleted";
20
+ DyFM_Msg_EventKey["participantAdded"] = "msg:participant-added";
21
+ DyFM_Msg_EventKey["participantRemoved"] = "msg:participant-removed";
22
+ // Typing indicators
23
+ DyFM_Msg_EventKey["typingStart"] = "msg:typing-start";
24
+ DyFM_Msg_EventKey["typingStop"] = "msg:typing-stop";
25
+ // Reactions
26
+ DyFM_Msg_EventKey["reactionAdded"] = "msg:reaction-added";
27
+ DyFM_Msg_EventKey["reactionRemoved"] = "msg:reaction-removed";
28
+ // Agent process (for visualization)
29
+ DyFM_Msg_EventKey["agentStepAdded"] = "msg:agent-step-added";
30
+ DyFM_Msg_EventKey["agentProcessComplete"] = "msg:agent-process-complete";
31
+ })(DyFM_Msg_EventKey || (exports.DyFM_Msg_EventKey = DyFM_Msg_EventKey = {}));
32
+ //# sourceMappingURL=msg-event-key.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msg-event-key.enum.js","sourceRoot":"","sources":["../../../../src/_modules/messaging/_enums/msg-event-key.enum.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,iBA0BX;AA1BD,WAAY,iBAAiB;IAC3B,iBAAiB;IACjB,qDAAgC,CAAA;IAChC,2DAAsC,CAAA;IACtC,2DAAsC,CAAA;IACtC,+DAA0C,CAAA;IAC1C,qDAAgC,CAAA;IAEhC,sBAAsB;IACtB,qEAAgD,CAAA;IAChD,qEAAgD,CAAA;IAChD,qEAAgD,CAAA;IAChD,+DAA0C,CAAA;IAC1C,mEAA8C,CAAA;IAE9C,oBAAoB;IACpB,qDAAgC,CAAA;IAChC,mDAA8B,CAAA;IAE9B,YAAY;IACZ,yDAAoC,CAAA;IACpC,6DAAwC,CAAA;IAExC,oCAAoC;IACpC,4DAAuC,CAAA;IACvC,wEAAmD,CAAA;AACrD,CAAC,EA1BW,iBAAiB,iCAAjB,iBAAiB,QA0B5B"}
@@ -1,23 +1,17 @@
1
1
  /**
2
2
  * Message Reaction Interface
3
- * Represents an emoji reaction to a message
3
+ * Represents an individual emoji reaction to a message
4
4
  */
5
5
  export interface DyFM_Msg_Reaction {
6
6
  /** Emoji or reaction identifier */
7
7
  emoji: string;
8
+ /** User ID who reacted */
9
+ userId: string;
10
+ /** Timestamp when user reacted */
11
+ reactedAt: Date;
8
12
  /** Unicode representation of emoji */
9
13
  unicode?: string;
10
14
  /** Custom emoji ID (if custom emoji) */
11
15
  customEmojiId?: string;
12
- /** Array of user IDs who reacted with this emoji */
13
- userIds: string[];
14
- /** Count of reactions with this emoji */
15
- count: number;
16
- /** Whether the current user has reacted with this emoji */
17
- hasReacted?: boolean;
18
- /** Timestamp of first reaction */
19
- firstReactedAt?: Date;
20
- /** Timestamp of most recent reaction */
21
- lastReactedAt?: Date;
22
16
  }
23
17
  //# sourceMappingURL=msg-reaction.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"msg-reaction.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/messaging/_models/msg-reaction.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IAEd,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,kCAAkC;IAClC,cAAc,CAAC,EAAE,IAAI,CAAC;IAEtB,wCAAwC;IACxC,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB"}
1
+ {"version":3,"file":"msg-reaction.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/messaging/_models/msg-reaction.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,SAAS,EAAE,IAAI,CAAC;IAEhB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -4,6 +4,7 @@ export * from './_enums/msg-delivery-status.enum';
4
4
  export * from './_enums/msg-conversation-type.enum';
5
5
  export * from './_enums/msg-participant-role.enum';
6
6
  export * from './_enums/msg-attachment-type.enum';
7
+ export * from './_enums/msg-event-key.enum';
7
8
  export * from './_models/msg-message.data-model';
8
9
  export * from './_models/msg-conversation.data-model';
9
10
  export * from './_models/msg-participant.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/messaging/index.ts"],"names":[],"mappings":"AAQA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAGlD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AAGpD,cAAc,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/messaging/index.ts"],"names":[],"mappings":"AAQA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AAGpD,cAAc,0CAA0C,CAAC"}
@@ -14,6 +14,7 @@ tslib_1.__exportStar(require("./_enums/msg-delivery-status.enum"), exports);
14
14
  tslib_1.__exportStar(require("./_enums/msg-conversation-type.enum"), exports);
15
15
  tslib_1.__exportStar(require("./_enums/msg-participant-role.enum"), exports);
16
16
  tslib_1.__exportStar(require("./_enums/msg-attachment-type.enum"), exports);
17
+ tslib_1.__exportStar(require("./_enums/msg-event-key.enum"), exports);
17
18
  // MODELS
18
19
  tslib_1.__exportStar(require("./_models/msg-message.data-model"), exports);
19
20
  tslib_1.__exportStar(require("./_models/msg-conversation.data-model"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/messaging/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,mBAAmB;AACnB,EAAE;AACF,mEAAmE;AACnE,4DAA4D;AAC5D,EAAE;;;AAEF,QAAQ;AACR,iEAAuC;AACvC,mEAAyC;AACzC,4EAAkD;AAClD,8EAAoD;AACpD,6EAAmD;AACnD,4EAAkD;AAElD,SAAS;AACT,2EAAiD;AACjD,gFAAsD;AACtD,8EAAoD;AACpD,6EAAmD;AACnD,0EAAgD;AAChD,2EAAiD;AACjD,8EAAoD;AAEpD,cAAc;AACd,mFAAyD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/messaging/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,mBAAmB;AACnB,EAAE;AACF,mEAAmE;AACnE,4DAA4D;AAC5D,EAAE;;;AAEF,QAAQ;AACR,iEAAuC;AACvC,mEAAyC;AACzC,4EAAkD;AAClD,8EAAoD;AACpD,6EAAmD;AACnD,4EAAkD;AAClD,sEAA4C;AAE5C,SAAS;AACT,2EAAiD;AACjD,gFAAsD;AACtD,8EAAoD;AACpD,6EAAmD;AACnD,0EAAgD;AAChD,2EAAiD;AACjD,8EAAoD;AAEpD,cAAc;AACd,mFAAyD"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.14.07",
3
+ "version": "01.14.9",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "full-stack-package",
@@ -7,12 +7,18 @@ export enum DyFM_MsgRoute {
7
7
  getConversations = 'getConversations',
8
8
  getConversation = 'getConversation',
9
9
  createConversation = 'createConversation',
10
+ updateConversation = 'updateConversation',
11
+ deleteConversation = 'deleteConversation',
10
12
  getMessages = 'getMessages',
11
13
  sendMessage = 'sendMessage',
12
14
  editMessage = 'editMessage',
13
15
  deleteMessage = 'deleteMessage',
14
16
  markAsRead = 'markAsRead',
15
17
  addReaction = 'addReaction',
18
+ removeReaction = 'removeReaction',
19
+ addParticipant = 'addParticipant',
20
+ removeParticipant = 'removeParticipant',
21
+ getAgentProcess = 'getAgentProcess',
16
22
  }
17
23
 
18
24
  /**
@@ -24,11 +30,17 @@ export const DyFM_msgModule_settings: DyFM_Route_Settings<DyFM_MsgRoute> = {
24
30
  [DyFM_MsgRoute.getConversations]: '/conversations',
25
31
  [DyFM_MsgRoute.getConversation]: '/conversations/:conversationId',
26
32
  [DyFM_MsgRoute.createConversation]: '/conversations/create',
33
+ [DyFM_MsgRoute.updateConversation]: '/conversations/:conversationId',
34
+ [DyFM_MsgRoute.deleteConversation]: '/conversations/:conversationId',
27
35
  [DyFM_MsgRoute.getMessages]: '/conversations/:conversationId/messages',
28
36
  [DyFM_MsgRoute.sendMessage]: '/conversations/:conversationId/messages/send',
29
37
  [DyFM_MsgRoute.editMessage]: '/messages/:messageId/edit',
30
38
  [DyFM_MsgRoute.deleteMessage]: '/messages/:messageId',
31
39
  [DyFM_MsgRoute.markAsRead]: '/messages/mark-read',
32
40
  [DyFM_MsgRoute.addReaction]: '/messages/:messageId/reactions',
41
+ [DyFM_MsgRoute.removeReaction]: '/messages/:messageId/reactions/:emoji',
42
+ [DyFM_MsgRoute.addParticipant]: '/conversations/:conversationId/participants',
43
+ [DyFM_MsgRoute.removeParticipant]: '/conversations/:conversationId/participants/:userId',
44
+ [DyFM_MsgRoute.getAgentProcess]: '/messages/:messageId/agent-process',
33
45
  },
34
46
  };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Socket event keys for real-time messaging
3
+ * Following existing socket event pattern with camelCase = 'kebab-case'
4
+ */
5
+ export enum DyFM_Msg_EventKey {
6
+ // Message events
7
+ messageSent = 'msg:message-sent',
8
+ messageUpdated = 'msg:message-updated',
9
+ messageDeleted = 'msg:message-deleted',
10
+ messageDelivered = 'msg:message-delivered',
11
+ messageRead = 'msg:message-read',
12
+
13
+ // Conversation events
14
+ conversationCreated = 'msg:conversation-created',
15
+ conversationUpdated = 'msg:conversation-updated',
16
+ conversationDeleted = 'msg:conversation-deleted',
17
+ participantAdded = 'msg:participant-added',
18
+ participantRemoved = 'msg:participant-removed',
19
+
20
+ // Typing indicators
21
+ typingStart = 'msg:typing-start',
22
+ typingStop = 'msg:typing-stop',
23
+
24
+ // Reactions
25
+ reactionAdded = 'msg:reaction-added',
26
+ reactionRemoved = 'msg:reaction-removed',
27
+
28
+ // Agent process (for visualization)
29
+ agentStepAdded = 'msg:agent-step-added',
30
+ agentProcessComplete = 'msg:agent-process-complete',
31
+ }
@@ -1,29 +1,20 @@
1
1
  /**
2
2
  * Message Reaction Interface
3
- * Represents an emoji reaction to a message
3
+ * Represents an individual emoji reaction to a message
4
4
  */
5
5
  export interface DyFM_Msg_Reaction {
6
6
  /** Emoji or reaction identifier */
7
7
  emoji: string;
8
8
 
9
+ /** User ID who reacted */
10
+ userId: string;
11
+
12
+ /** Timestamp when user reacted */
13
+ reactedAt: Date;
14
+
9
15
  /** Unicode representation of emoji */
10
16
  unicode?: string;
11
17
 
12
18
  /** Custom emoji ID (if custom emoji) */
13
19
  customEmojiId?: string;
14
-
15
- /** Array of user IDs who reacted with this emoji */
16
- userIds: string[];
17
-
18
- /** Count of reactions with this emoji */
19
- count: number;
20
-
21
- /** Whether the current user has reacted with this emoji */
22
- hasReacted?: boolean;
23
-
24
- /** Timestamp of first reaction */
25
- firstReactedAt?: Date;
26
-
27
- /** Timestamp of most recent reaction */
28
- lastReactedAt?: Date;
29
20
  }
@@ -12,6 +12,7 @@ export * from './_enums/msg-delivery-status.enum';
12
12
  export * from './_enums/msg-conversation-type.enum';
13
13
  export * from './_enums/msg-participant-role.enum';
14
14
  export * from './_enums/msg-attachment-type.enum';
15
+ export * from './_enums/msg-event-key.enum';
15
16
 
16
17
  // MODELS
17
18
  export * from './_models/msg-message.data-model';
Binary file