@heritageai/messaging 1.0.28 → 1.0.30

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 (57) hide show
  1. package/dist/events/ai-message-generated-event.d.ts +17 -0
  2. package/dist/events/ai-message-generated-event.js +2 -0
  3. package/dist/events/chat-message-created-event.d.ts +13 -0
  4. package/dist/events/chat-message-created-event.js +2 -0
  5. package/dist/events/chat-message-persisted-event.d.ts +14 -0
  6. package/dist/events/chat-message-persisted-event.js +2 -0
  7. package/dist/events/knowledge-document-deleted-event.d.ts +8 -0
  8. package/dist/events/knowledge-document-deleted-event.js +2 -0
  9. package/dist/events/knowledge-document-indexed-event.d.ts +12 -0
  10. package/dist/events/knowledge-document-indexed-event.js +2 -0
  11. package/dist/events/knowledge-document-upserted-event.d.ts +15 -0
  12. package/dist/events/knowledge-document-upserted-event.js +2 -0
  13. package/dist/events/knowledge-query-requested-event.d.ts +18 -0
  14. package/dist/events/knowledge-query-requested-event.js +2 -0
  15. package/dist/events/knowledge-query-responded-event.d.ts +20 -0
  16. package/dist/events/knowledge-query-responded-event.js +2 -0
  17. package/dist/index.d.ts +22 -6
  18. package/dist/index.js +25 -9
  19. package/dist/publishers/ai-message-generated-publisher.d.ts +6 -0
  20. package/dist/publishers/ai-message-generated-publisher.js +12 -0
  21. package/dist/publishers/chat-message-created-publisher.d.ts +6 -0
  22. package/dist/publishers/chat-message-created-publisher.js +12 -0
  23. package/dist/publishers/chat-message-persisted-publisher.d.ts +6 -0
  24. package/dist/publishers/chat-message-persisted-publisher.js +12 -0
  25. package/dist/publishers/knowledge-document-deleted-publisher.d.ts +6 -0
  26. package/dist/publishers/knowledge-document-deleted-publisher.js +12 -0
  27. package/dist/publishers/knowledge-document-indexed-publisher.d.ts +6 -0
  28. package/dist/publishers/knowledge-document-indexed-publisher.js +12 -0
  29. package/dist/publishers/knowledge-document-upserted-publisher.d.ts +6 -0
  30. package/dist/publishers/knowledge-document-upserted-publisher.js +12 -0
  31. package/dist/publishers/knowledge-query-requested-publisher.d.ts +6 -0
  32. package/dist/publishers/knowledge-query-requested-publisher.js +12 -0
  33. package/dist/publishers/knowledge-query-responded-publisher.d.ts +6 -0
  34. package/dist/publishers/knowledge-query-responded-publisher.js +12 -0
  35. package/dist/services/ws-notifier.js +0 -3
  36. package/dist/subjects.d.ts +10 -2
  37. package/dist/subjects.js +9 -1
  38. package/package.json +1 -1
  39. package/src/events/ai-message-generated-event.ts +14 -0
  40. package/src/events/chat-message-created-event.ts +14 -0
  41. package/src/events/chat-message-persisted-event.ts +15 -0
  42. package/src/events/knowledge-document-deleted-event.ts +9 -0
  43. package/src/events/knowledge-document-indexed-event.ts +13 -0
  44. package/src/events/knowledge-document-upserted-event.ts +16 -0
  45. package/src/events/knowledge-query-requested-event.ts +19 -0
  46. package/src/events/knowledge-query-responded-event.ts +21 -0
  47. package/src/index.ts +28 -12
  48. package/src/publishers/ai-message-generated-publisher.ts +7 -0
  49. package/src/publishers/chat-message-created-publisher.ts +7 -0
  50. package/src/publishers/chat-message-persisted-publisher.ts +7 -0
  51. package/src/publishers/knowledge-document-deleted-publisher.ts +8 -0
  52. package/src/publishers/knowledge-document-indexed-publisher.ts +8 -0
  53. package/src/publishers/knowledge-document-upserted-publisher.ts +8 -0
  54. package/src/publishers/knowledge-query-requested-publisher.ts +8 -0
  55. package/src/publishers/knowledge-query-responded-publisher.ts +8 -0
  56. package/src/services/ws-notifier.ts +0 -4
  57. package/src/subjects.ts +9 -1
@@ -0,0 +1,17 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface AiMessageGeneratedEvent {
3
+ subject: Subjects.AiMessageGenerated;
4
+ data: {
5
+ threadId: string;
6
+ userId: string;
7
+ role: "assistant";
8
+ content: string;
9
+ createdAt: string;
10
+ correlationId: string;
11
+ sources?: Array<{
12
+ title: string;
13
+ url?: string;
14
+ id?: string;
15
+ }>;
16
+ };
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface ChatMessageCreatedEvent {
3
+ subject: Subjects.ChatMessageCreated;
4
+ data: {
5
+ threadId: string;
6
+ clientMsgId: string;
7
+ userId: string;
8
+ role: "user";
9
+ content: string;
10
+ createdAt: string;
11
+ correlationId: string;
12
+ };
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface ChatMessagePersistedEvent {
3
+ subject: Subjects.ChatMessagePersisted;
4
+ data: {
5
+ id: string;
6
+ threadId: string;
7
+ clientMsgId?: string;
8
+ userId: string;
9
+ role: "user" | "assistant";
10
+ content: string;
11
+ createdAt: string;
12
+ correlationId: string;
13
+ };
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface KnowledgeDocumentDeletedEvent {
3
+ subject: Subjects.KnowledgeDocumentDeleted;
4
+ data: {
5
+ docId: string;
6
+ deletedAt: string;
7
+ };
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface KnowledgeDocumentIndexedEvent {
3
+ subject: Subjects.KnowledgeDocumentIndexed;
4
+ data: {
5
+ docId: string;
6
+ source: "asset" | "site" | "manual";
7
+ status: "ok" | "failed";
8
+ chunksIndexed?: number;
9
+ error?: string;
10
+ indexedAt: string;
11
+ };
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface KnowledgeDocumentUpsertedEvent {
3
+ subject: Subjects.KnowledgeDocumentUpserted;
4
+ data: {
5
+ docId: string;
6
+ source: "admin" | "site" | "asset";
7
+ title?: string;
8
+ text: string;
9
+ language?: string;
10
+ siteId?: string;
11
+ assetId?: string;
12
+ tags?: string[];
13
+ updatedAt: string;
14
+ };
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface KnowledgeQueryRequestedEvent {
3
+ subject: Subjects.KnowledgeQueryRequested;
4
+ data: {
5
+ threadId: string;
6
+ userId: string;
7
+ correlationId: string;
8
+ query: string;
9
+ topK?: number;
10
+ filters?: {
11
+ siteId?: string;
12
+ docIds?: string[];
13
+ tags?: string[];
14
+ source?: Array<"admin" | "site" | "asset">;
15
+ };
16
+ createdAt: string;
17
+ };
18
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ import { Subjects } from "../subjects";
2
+ export interface KnowledgeQueryRespondedEvent {
3
+ subject: Subjects.KnowledgeQueryResponded;
4
+ data: {
5
+ threadId: string;
6
+ userId: string;
7
+ correlationId: string;
8
+ query: string;
9
+ results: Array<{
10
+ docId: string;
11
+ chunkId: string;
12
+ score: number;
13
+ text: string;
14
+ title?: string;
15
+ url?: string;
16
+ siteId?: string;
17
+ }>;
18
+ createdAt: string;
19
+ };
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/dist/index.d.ts CHANGED
@@ -1,25 +1,41 @@
1
- export * from "./nats-wrapper";
2
1
  export * from "./base-listener";
3
2
  export * from "./base-publisher";
4
- export * from "./subjects";
3
+ export * from "./nats-wrapper";
4
+ export * from "./events/ai-message-generated-event";
5
5
  export * from "./events/asset-created-event";
6
6
  export * from "./events/asset-updated-event";
7
7
  export * from "./events/asset-deleted-event";
8
+ export * from "./events/chat-message-created-event";
9
+ export * from "./events/chat-message-persisted-event";
10
+ export * from "./events/knowledge-document-deleted-event";
11
+ export * from "./events/knowledge-document-indexed-event";
12
+ export * from "./events/knowledge-document-upserted-event";
13
+ export * from "./events/knowledge-query-requested-event";
14
+ export * from "./events/knowledge-query-responded-event";
15
+ export * from "./events/notification-created-event";
8
16
  export * from "./events/site-created-event";
9
17
  export * from "./events/site-updated-event";
10
18
  export * from "./events/site-deleted-event";
11
19
  export * from "./events/user-created-event";
12
20
  export * from "./events/user-deleted-event";
13
- export * from "./events/notification-created-event";
21
+ export * from "./middlewares/verify-ws-jwt";
22
+ export * from "./publishers/ai-message-generated-publisher";
14
23
  export * from "./publishers/asset-created-publisher";
15
24
  export * from "./publishers/asset-updated-publisher";
16
25
  export * from "./publishers/asset-deleted-publisher";
26
+ export * from "./publishers/chat-message-created-publisher";
27
+ export * from "./publishers/chat-message-persisted-publisher";
28
+ export * from "./publishers/knowledge-document-deleted-publisher";
29
+ export * from "./publishers/knowledge-document-indexed-publisher";
30
+ export * from "./publishers/knowledge-document-upserted-publisher";
31
+ export * from "./publishers/knowledge-query-requested-publisher";
32
+ export * from "./publishers/knowledge-query-responded-publisher";
33
+ export * from "./publishers/notification-created-publisher";
17
34
  export * from "./publishers/site-created-publisher";
18
35
  export * from "./publishers/site-updated-publisher";
19
36
  export * from "./publishers/site-deleted-publisher";
20
37
  export * from "./publishers/user-created-publisher";
21
38
  export * from "./publishers/user-deleted-publisher";
22
- export * from "./publishers/notification-created-publisher";
23
- export * from "./types/notifications/notification-type";
24
- export * from "./middlewares/verify-ws-jwt";
25
39
  export * from "./services/ws-notifier";
40
+ export * from "./subjects";
41
+ export * from "./types/notifications/notification-type";
package/dist/index.js CHANGED
@@ -14,34 +14,50 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./nats-wrapper"), exports);
18
17
  __exportStar(require("./base-listener"), exports);
19
18
  __exportStar(require("./base-publisher"), exports);
20
- // subjects
21
- __exportStar(require("./subjects"), exports);
19
+ __exportStar(require("./nats-wrapper"), exports);
22
20
  // events
21
+ __exportStar(require("./events/ai-message-generated-event"), exports);
23
22
  __exportStar(require("./events/asset-created-event"), exports);
24
23
  __exportStar(require("./events/asset-updated-event"), exports);
25
24
  __exportStar(require("./events/asset-deleted-event"), exports);
25
+ __exportStar(require("./events/chat-message-created-event"), exports);
26
+ __exportStar(require("./events/chat-message-persisted-event"), exports);
27
+ __exportStar(require("./events/knowledge-document-deleted-event"), exports);
28
+ __exportStar(require("./events/knowledge-document-indexed-event"), exports);
29
+ __exportStar(require("./events/knowledge-document-upserted-event"), exports);
30
+ __exportStar(require("./events/knowledge-query-requested-event"), exports);
31
+ __exportStar(require("./events/knowledge-query-responded-event"), exports);
32
+ __exportStar(require("./events/notification-created-event"), exports);
26
33
  __exportStar(require("./events/site-created-event"), exports);
27
34
  __exportStar(require("./events/site-updated-event"), exports);
28
35
  __exportStar(require("./events/site-deleted-event"), exports);
29
36
  __exportStar(require("./events/user-created-event"), exports);
30
37
  __exportStar(require("./events/user-deleted-event"), exports);
31
- __exportStar(require("./events/notification-created-event"), exports);
38
+ // middlewares
39
+ __exportStar(require("./middlewares/verify-ws-jwt"), exports);
32
40
  // publishers
41
+ __exportStar(require("./publishers/ai-message-generated-publisher"), exports);
33
42
  __exportStar(require("./publishers/asset-created-publisher"), exports);
34
43
  __exportStar(require("./publishers/asset-updated-publisher"), exports);
35
44
  __exportStar(require("./publishers/asset-deleted-publisher"), exports);
45
+ __exportStar(require("./publishers/chat-message-created-publisher"), exports);
46
+ __exportStar(require("./publishers/chat-message-persisted-publisher"), exports);
47
+ __exportStar(require("./publishers/knowledge-document-deleted-publisher"), exports);
48
+ __exportStar(require("./publishers/knowledge-document-indexed-publisher"), exports);
49
+ __exportStar(require("./publishers/knowledge-document-upserted-publisher"), exports);
50
+ __exportStar(require("./publishers/knowledge-query-requested-publisher"), exports);
51
+ __exportStar(require("./publishers/knowledge-query-responded-publisher"), exports);
52
+ __exportStar(require("./publishers/notification-created-publisher"), exports);
36
53
  __exportStar(require("./publishers/site-created-publisher"), exports);
37
54
  __exportStar(require("./publishers/site-updated-publisher"), exports);
38
55
  __exportStar(require("./publishers/site-deleted-publisher"), exports);
39
56
  __exportStar(require("./publishers/user-created-publisher"), exports);
40
57
  __exportStar(require("./publishers/user-deleted-publisher"), exports);
41
- __exportStar(require("./publishers/notification-created-publisher"), exports);
42
- // types
43
- __exportStar(require("./types/notifications/notification-type"), exports);
44
- // middlewares
45
- __exportStar(require("./middlewares/verify-ws-jwt"), exports);
46
58
  // services
47
59
  __exportStar(require("./services/ws-notifier"), exports);
60
+ // subjects
61
+ __exportStar(require("./subjects"), exports);
62
+ // types
63
+ __exportStar(require("./types/notifications/notification-type"), exports);
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { AiMessageGeneratedEvent } from "../events/ai-message-generated-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class AiMessageGeneratedPublisher extends BasePublisher<AiMessageGeneratedEvent> {
5
+ subject: Subjects.AiMessageGenerated;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AiMessageGeneratedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class AiMessageGeneratedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.AiMessageGenerated;
10
+ }
11
+ }
12
+ exports.AiMessageGeneratedPublisher = AiMessageGeneratedPublisher;
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { ChatMessageCreatedEvent } from "../events/chat-message-created-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class ChatMessageCreatedPublisher extends BasePublisher<ChatMessageCreatedEvent> {
5
+ subject: Subjects.ChatMessageCreated;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatMessageCreatedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class ChatMessageCreatedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.ChatMessageCreated;
10
+ }
11
+ }
12
+ exports.ChatMessageCreatedPublisher = ChatMessageCreatedPublisher;
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { ChatMessagePersistedEvent } from "../events/chat-message-persisted-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class ChatMessagePersistedPublisher extends BasePublisher<ChatMessagePersistedEvent> {
5
+ subject: Subjects.ChatMessagePersisted;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatMessagePersistedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class ChatMessagePersistedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.ChatMessagePersisted;
10
+ }
11
+ }
12
+ exports.ChatMessagePersistedPublisher = ChatMessagePersistedPublisher;
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeDocumentDeletedEvent } from "../events/knowledge-document-deleted-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class KnowledgeDocumentDeletedPublisher extends BasePublisher<KnowledgeDocumentDeletedEvent> {
5
+ subject: Subjects.KnowledgeDocumentDeleted;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeDocumentDeletedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class KnowledgeDocumentDeletedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.KnowledgeDocumentDeleted;
10
+ }
11
+ }
12
+ exports.KnowledgeDocumentDeletedPublisher = KnowledgeDocumentDeletedPublisher;
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeDocumentIndexedEvent } from "../events/knowledge-document-indexed-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class KnowledgeDocumentIndexedPublisher extends BasePublisher<KnowledgeDocumentIndexedEvent> {
5
+ subject: Subjects.KnowledgeDocumentIndexed;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeDocumentIndexedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class KnowledgeDocumentIndexedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.KnowledgeDocumentIndexed;
10
+ }
11
+ }
12
+ exports.KnowledgeDocumentIndexedPublisher = KnowledgeDocumentIndexedPublisher;
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeDocumentUpsertedEvent } from "../events/knowledge-document-upserted-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class KnowledgeDocumentUpsertedPublisher extends BasePublisher<KnowledgeDocumentUpsertedEvent> {
5
+ subject: Subjects.KnowledgeDocumentUpserted;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeDocumentUpsertedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class KnowledgeDocumentUpsertedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.KnowledgeDocumentUpserted;
10
+ }
11
+ }
12
+ exports.KnowledgeDocumentUpsertedPublisher = KnowledgeDocumentUpsertedPublisher;
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeQueryRequestedEvent } from "../events/knowledge-query-requested-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class KnowledgeQueryRequestedPublisher extends BasePublisher<KnowledgeQueryRequestedEvent> {
5
+ subject: Subjects.KnowledgeQueryRequested;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeQueryRequestedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class KnowledgeQueryRequestedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.KnowledgeQueryRequested;
10
+ }
11
+ }
12
+ exports.KnowledgeQueryRequestedPublisher = KnowledgeQueryRequestedPublisher;
@@ -0,0 +1,6 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeQueryRespondedEvent } from "../events/knowledge-query-responded-event";
3
+ import { Subjects } from "../subjects";
4
+ export declare class KnowledgeQueryRespondedPublisher extends BasePublisher<KnowledgeQueryRespondedEvent> {
5
+ subject: Subjects.KnowledgeQueryResponded;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeQueryRespondedPublisher = void 0;
4
+ const base_publisher_1 = require("../base-publisher");
5
+ const subjects_1 = require("../subjects");
6
+ class KnowledgeQueryRespondedPublisher extends base_publisher_1.BasePublisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.KnowledgeQueryResponded;
10
+ }
11
+ }
12
+ exports.KnowledgeQueryRespondedPublisher = KnowledgeQueryRespondedPublisher;
@@ -12,9 +12,6 @@ const pushNotificationToWS = async (payload) => {
12
12
  const WS_GATEWAY_URL = process.env.WS_GATEWAY_URL;
13
13
  if (!WS_GATEWAY_URL)
14
14
  throw new Error("WS_GATEWAY_URL not defined");
15
- // await axios.post(`${WS_GATEWAY_URL}/internal/notify`, payload, {
16
- // headers: { "Content-Type": "application/json" },
17
- // });
18
15
  const { userId, notification } = payload;
19
16
  await axios_1.default.post(`${process.env.WS_GATEWAY_URL}/internal/notify`, { userId, notification }, { headers: { "x-internal-key": process.env.INTERNAL_API_KEY } });
20
17
  }
@@ -1,11 +1,19 @@
1
1
  export declare enum Subjects {
2
+ AiMessageGenerated = "ai:message:generated",
2
3
  AssetCreated = "asset:created",
3
4
  AssetUpdated = "asset:updated",
4
5
  AssetDeleted = "asset:deleted",
6
+ ChatMessageCreated = "chat:message:created",
7
+ ChatMessagePersisted = "chat:message:persisted",
8
+ KnowledgeDocumentDeleted = "knowledge:document:deleted",
9
+ KnowledgeDocumentIndexed = "knowledge:document:indexed",
10
+ KnowledgeDocumentUpserted = "knowledge:document:upserted",
11
+ KnowledgeQueryRequested = "knowledge:query:requested",
12
+ KnowledgeQueryResponded = "knowledge:query:responded",
13
+ NotificationCreated = "notification:created",
5
14
  SiteCreated = "site:created",
6
15
  SiteUpdated = "site:updated",
7
16
  SiteDeleted = "site:deleted",
8
17
  UserCreated = "user:created",
9
- UserDeleted = "user:deleted",
10
- NotificationCreated = "notification:created"
18
+ UserDeleted = "user:deleted"
11
19
  }
package/dist/subjects.js CHANGED
@@ -3,13 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Subjects = void 0;
4
4
  var Subjects;
5
5
  (function (Subjects) {
6
+ Subjects["AiMessageGenerated"] = "ai:message:generated";
6
7
  Subjects["AssetCreated"] = "asset:created";
7
8
  Subjects["AssetUpdated"] = "asset:updated";
8
9
  Subjects["AssetDeleted"] = "asset:deleted";
10
+ Subjects["ChatMessageCreated"] = "chat:message:created";
11
+ Subjects["ChatMessagePersisted"] = "chat:message:persisted";
12
+ Subjects["KnowledgeDocumentDeleted"] = "knowledge:document:deleted";
13
+ Subjects["KnowledgeDocumentIndexed"] = "knowledge:document:indexed";
14
+ Subjects["KnowledgeDocumentUpserted"] = "knowledge:document:upserted";
15
+ Subjects["KnowledgeQueryRequested"] = "knowledge:query:requested";
16
+ Subjects["KnowledgeQueryResponded"] = "knowledge:query:responded";
17
+ Subjects["NotificationCreated"] = "notification:created";
9
18
  Subjects["SiteCreated"] = "site:created";
10
19
  Subjects["SiteUpdated"] = "site:updated";
11
20
  Subjects["SiteDeleted"] = "site:deleted";
12
21
  Subjects["UserCreated"] = "user:created";
13
22
  Subjects["UserDeleted"] = "user:deleted";
14
- Subjects["NotificationCreated"] = "notification:created";
15
23
  })(Subjects || (exports.Subjects = Subjects = {}));
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "author": "future_platform",
3
3
  "name": "@heritageai/messaging",
4
4
  "license": "ISC",
5
- "version": "1.0.28",
5
+ "version": "1.0.30",
6
6
  "description": "",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -0,0 +1,14 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface AiMessageGeneratedEvent {
4
+ subject: Subjects.AiMessageGenerated;
5
+ data: {
6
+ threadId: string;
7
+ userId: string;
8
+ role: "assistant";
9
+ content: string;
10
+ createdAt: string;
11
+ correlationId: string;
12
+ sources?: Array<{ title: string; url?: string; id?: string }>;
13
+ };
14
+ }
@@ -0,0 +1,14 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface ChatMessageCreatedEvent {
4
+ subject: Subjects.ChatMessageCreated;
5
+ data: {
6
+ threadId: string;
7
+ clientMsgId: string;
8
+ userId: string;
9
+ role: "user";
10
+ content: string;
11
+ createdAt: string;
12
+ correlationId: string;
13
+ };
14
+ }
@@ -0,0 +1,15 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface ChatMessagePersistedEvent {
4
+ subject: Subjects.ChatMessagePersisted;
5
+ data: {
6
+ id: string; // db message id
7
+ threadId: string;
8
+ clientMsgId?: string;
9
+ userId: string;
10
+ role: "user" | "assistant";
11
+ content: string;
12
+ createdAt: string;
13
+ correlationId: string;
14
+ };
15
+ }
@@ -0,0 +1,9 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface KnowledgeDocumentDeletedEvent {
4
+ subject: Subjects.KnowledgeDocumentDeleted;
5
+ data: {
6
+ docId: string;
7
+ deletedAt: string;
8
+ };
9
+ }
@@ -0,0 +1,13 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface KnowledgeDocumentIndexedEvent {
4
+ subject: Subjects.KnowledgeDocumentIndexed;
5
+ data: {
6
+ docId: string;
7
+ source: "asset" | "site" | "manual";
8
+ status: "ok" | "failed";
9
+ chunksIndexed?: number;
10
+ error?: string; // only if failed
11
+ indexedAt: string;
12
+ };
13
+ }
@@ -0,0 +1,16 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface KnowledgeDocumentUpsertedEvent {
4
+ subject: Subjects.KnowledgeDocumentUpserted;
5
+ data: {
6
+ docId: string; // stable id for document
7
+ source: "admin" | "site" | "asset";
8
+ title?: string;
9
+ text: string;
10
+ language?: string; // e.g. "ar" | "en"
11
+ siteId?: string; // for targeted site retrieval
12
+ assetId?: string; // if it came from assets
13
+ tags?: string[];
14
+ updatedAt: string; // ISO
15
+ };
16
+ }
@@ -0,0 +1,19 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface KnowledgeQueryRequestedEvent {
4
+ subject: Subjects.KnowledgeQueryRequested;
5
+ data: {
6
+ threadId: string;
7
+ userId: string;
8
+ correlationId: string;
9
+ query: string; // user prompt (or a refined query)
10
+ topK?: number; // default 5-10
11
+ filters?: {
12
+ siteId?: string;
13
+ docIds?: string[];
14
+ tags?: string[];
15
+ source?: Array<"admin" | "site" | "asset">;
16
+ };
17
+ createdAt: string;
18
+ };
19
+ }
@@ -0,0 +1,21 @@
1
+ import { Subjects } from "../subjects";
2
+
3
+ export interface KnowledgeQueryRespondedEvent {
4
+ subject: Subjects.KnowledgeQueryResponded;
5
+ data: {
6
+ threadId: string;
7
+ userId: string;
8
+ correlationId: string;
9
+ query: string; // required
10
+ results: Array<{
11
+ docId: string;
12
+ chunkId: string;
13
+ score: number;
14
+ text: string; // chunk text
15
+ title?: string;
16
+ url?: string;
17
+ siteId?: string;
18
+ }>;
19
+ createdAt: string;
20
+ };
21
+ }
package/src/index.ts CHANGED
@@ -1,37 +1,53 @@
1
- export * from "./nats-wrapper";
2
1
  export * from "./base-listener";
3
2
  export * from "./base-publisher";
4
-
5
- // subjects
6
- export * from "./subjects";
3
+ export * from "./nats-wrapper";
7
4
 
8
5
  // events
6
+ export * from "./events/ai-message-generated-event";
9
7
  export * from "./events/asset-created-event";
10
8
  export * from "./events/asset-updated-event";
11
9
  export * from "./events/asset-deleted-event";
10
+ export * from "./events/chat-message-created-event";
11
+ export * from "./events/chat-message-persisted-event";
12
+ export * from "./events/knowledge-document-deleted-event";
13
+ export * from "./events/knowledge-document-indexed-event";
14
+ export * from "./events/knowledge-document-upserted-event";
15
+ export * from "./events/knowledge-query-requested-event";
16
+ export * from "./events/knowledge-query-responded-event";
17
+ export * from "./events/notification-created-event";
12
18
  export * from "./events/site-created-event";
13
19
  export * from "./events/site-updated-event";
14
20
  export * from "./events/site-deleted-event";
15
21
  export * from "./events/user-created-event";
16
22
  export * from "./events/user-deleted-event";
17
- export * from "./events/notification-created-event";
23
+
24
+ // middlewares
25
+ export * from "./middlewares/verify-ws-jwt";
18
26
 
19
27
  // publishers
28
+ export * from "./publishers/ai-message-generated-publisher";
20
29
  export * from "./publishers/asset-created-publisher";
21
30
  export * from "./publishers/asset-updated-publisher";
22
31
  export * from "./publishers/asset-deleted-publisher";
32
+ export * from "./publishers/chat-message-created-publisher";
33
+ export * from "./publishers/chat-message-persisted-publisher";
34
+ export * from "./publishers/knowledge-document-deleted-publisher";
35
+ export * from "./publishers/knowledge-document-indexed-publisher";
36
+ export * from "./publishers/knowledge-document-upserted-publisher";
37
+ export * from "./publishers/knowledge-query-requested-publisher";
38
+ export * from "./publishers/knowledge-query-responded-publisher";
39
+ export * from "./publishers/notification-created-publisher";
23
40
  export * from "./publishers/site-created-publisher";
24
41
  export * from "./publishers/site-updated-publisher";
25
42
  export * from "./publishers/site-deleted-publisher";
26
43
  export * from "./publishers/user-created-publisher";
27
44
  export * from "./publishers/user-deleted-publisher";
28
- export * from "./publishers/notification-created-publisher";
29
-
30
- // types
31
- export * from "./types/notifications/notification-type";
32
-
33
- // middlewares
34
- export * from "./middlewares/verify-ws-jwt";
35
45
 
36
46
  // services
37
47
  export * from "./services/ws-notifier";
48
+
49
+ // subjects
50
+ export * from "./subjects";
51
+
52
+ // types
53
+ export * from "./types/notifications/notification-type";
@@ -0,0 +1,7 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { AiMessageGeneratedEvent } from "../events/ai-message-generated-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class AiMessageGeneratedPublisher extends BasePublisher<AiMessageGeneratedEvent> {
6
+ subject: Subjects.AiMessageGenerated = Subjects.AiMessageGenerated;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { ChatMessageCreatedEvent } from "../events/chat-message-created-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class ChatMessageCreatedPublisher extends BasePublisher<ChatMessageCreatedEvent> {
6
+ subject: Subjects.ChatMessageCreated = Subjects.ChatMessageCreated;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { ChatMessagePersistedEvent } from "../events/chat-message-persisted-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class ChatMessagePersistedPublisher extends BasePublisher<ChatMessagePersistedEvent> {
6
+ subject: Subjects.ChatMessagePersisted = Subjects.ChatMessagePersisted;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeDocumentDeletedEvent } from "../events/knowledge-document-deleted-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class KnowledgeDocumentDeletedPublisher extends BasePublisher<KnowledgeDocumentDeletedEvent> {
6
+ subject: Subjects.KnowledgeDocumentDeleted =
7
+ Subjects.KnowledgeDocumentDeleted;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeDocumentIndexedEvent } from "../events/knowledge-document-indexed-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class KnowledgeDocumentIndexedPublisher extends BasePublisher<KnowledgeDocumentIndexedEvent> {
6
+ subject: Subjects.KnowledgeDocumentIndexed =
7
+ Subjects.KnowledgeDocumentIndexed;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeDocumentUpsertedEvent } from "../events/knowledge-document-upserted-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class KnowledgeDocumentUpsertedPublisher extends BasePublisher<KnowledgeDocumentUpsertedEvent> {
6
+ subject: Subjects.KnowledgeDocumentUpserted =
7
+ Subjects.KnowledgeDocumentUpserted;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeQueryRequestedEvent } from "../events/knowledge-query-requested-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class KnowledgeQueryRequestedPublisher extends BasePublisher<KnowledgeQueryRequestedEvent> {
6
+ subject: Subjects.KnowledgeQueryRequested =
7
+ Subjects.KnowledgeQueryRequested;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { BasePublisher } from "../base-publisher";
2
+ import { KnowledgeQueryRespondedEvent } from "../events/knowledge-query-responded-event";
3
+ import { Subjects } from "../subjects";
4
+
5
+ export class KnowledgeQueryRespondedPublisher extends BasePublisher<KnowledgeQueryRespondedEvent> {
6
+ subject: Subjects.KnowledgeQueryResponded =
7
+ Subjects.KnowledgeQueryResponded;
8
+ }
@@ -17,10 +17,6 @@ export const pushNotificationToWS = async (payload: WSNotificationPayload) => {
17
17
  const WS_GATEWAY_URL = process.env.WS_GATEWAY_URL;
18
18
  if (!WS_GATEWAY_URL) throw new Error("WS_GATEWAY_URL not defined");
19
19
 
20
- // await axios.post(`${WS_GATEWAY_URL}/internal/notify`, payload, {
21
- // headers: { "Content-Type": "application/json" },
22
- // });
23
-
24
20
  const { userId, notification } = payload;
25
21
  await axios.post(
26
22
  `${process.env.WS_GATEWAY_URL}/internal/notify`,
package/src/subjects.ts CHANGED
@@ -1,11 +1,19 @@
1
1
  export enum Subjects {
2
+ AiMessageGenerated = "ai:message:generated",
2
3
  AssetCreated = "asset:created",
3
4
  AssetUpdated = "asset:updated",
4
5
  AssetDeleted = "asset:deleted",
6
+ ChatMessageCreated = "chat:message:created",
7
+ ChatMessagePersisted = "chat:message:persisted",
8
+ KnowledgeDocumentDeleted = "knowledge:document:deleted",
9
+ KnowledgeDocumentIndexed = "knowledge:document:indexed",
10
+ KnowledgeDocumentUpserted = "knowledge:document:upserted",
11
+ KnowledgeQueryRequested = "knowledge:query:requested",
12
+ KnowledgeQueryResponded = "knowledge:query:responded",
13
+ NotificationCreated = "notification:created",
5
14
  SiteCreated = "site:created",
6
15
  SiteUpdated = "site:updated",
7
16
  SiteDeleted = "site:deleted",
8
17
  UserCreated = "user:created",
9
18
  UserDeleted = "user:deleted",
10
- NotificationCreated = "notification:created",
11
19
  }