@hed-hog/core 0.0.328 → 0.0.329

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 (150) hide show
  1. package/dist/ai/ai.service.d.ts +1 -1
  2. package/dist/auth/auth.controller.d.ts +2 -2
  3. package/dist/auth/auth.service.d.ts +2 -2
  4. package/dist/core/system.controller.d.ts +1 -1
  5. package/dist/core/system.service.d.ts +1 -1
  6. package/dist/core.module.d.ts.map +1 -1
  7. package/dist/core.module.js +4 -0
  8. package/dist/core.module.js.map +1 -1
  9. package/dist/dashboard/dashboard/dashboard.controller.d.ts +21 -21
  10. package/dist/dashboard/dashboard/dashboard.service.d.ts +21 -21
  11. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +11 -11
  12. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +11 -11
  13. package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +5 -5
  14. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +5 -5
  15. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +4 -4
  16. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +4 -4
  17. package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +4 -4
  18. package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +4 -4
  19. package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +3 -3
  20. package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +3 -3
  21. package/dist/file/file.controller.d.ts +6 -6
  22. package/dist/file/file.service.d.ts +12 -12
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +6 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/mail/mail.controller.d.ts +2 -2
  28. package/dist/mail/mail.service.d.ts +2 -2
  29. package/dist/mail-sent/mail-sent.controller.d.ts +3 -3
  30. package/dist/mail-sent/mail-sent.service.d.ts +3 -3
  31. package/dist/mcp/decorators/mcp-tool.decorator.d.ts +4 -0
  32. package/dist/mcp/decorators/mcp-tool.decorator.d.ts.map +1 -0
  33. package/dist/mcp/decorators/mcp-tool.decorator.js +8 -0
  34. package/dist/mcp/decorators/mcp-tool.decorator.js.map +1 -0
  35. package/dist/mcp/guards/mcp-auth.guard.d.ts +9 -0
  36. package/dist/mcp/guards/mcp-auth.guard.d.ts.map +1 -0
  37. package/dist/mcp/guards/mcp-auth.guard.js +41 -0
  38. package/dist/mcp/guards/mcp-auth.guard.js.map +1 -0
  39. package/dist/mcp/guards/mcp-permission.guard.d.ts +8 -0
  40. package/dist/mcp/guards/mcp-permission.guard.d.ts.map +1 -0
  41. package/dist/mcp/guards/mcp-permission.guard.js +57 -0
  42. package/dist/mcp/guards/mcp-permission.guard.js.map +1 -0
  43. package/dist/mcp/interfaces/mcp-tool-definition.interface.d.ts +7 -0
  44. package/dist/mcp/interfaces/mcp-tool-definition.interface.d.ts.map +1 -0
  45. package/dist/mcp/interfaces/mcp-tool-definition.interface.js +3 -0
  46. package/dist/mcp/interfaces/mcp-tool-definition.interface.js.map +1 -0
  47. package/dist/mcp/mcp-audit.service.d.ts +17 -0
  48. package/dist/mcp/mcp-audit.service.d.ts.map +1 -0
  49. package/dist/mcp/mcp-audit.service.js +46 -0
  50. package/dist/mcp/mcp-audit.service.js.map +1 -0
  51. package/dist/mcp/mcp-registry.service.d.ts +21 -0
  52. package/dist/mcp/mcp-registry.service.d.ts.map +1 -0
  53. package/dist/mcp/mcp-registry.service.js +69 -0
  54. package/dist/mcp/mcp-registry.service.js.map +1 -0
  55. package/dist/mcp/mcp-server.service.d.ts +12 -0
  56. package/dist/mcp/mcp-server.service.d.ts.map +1 -0
  57. package/dist/mcp/mcp-server.service.js +94 -0
  58. package/dist/mcp/mcp-server.service.js.map +1 -0
  59. package/dist/mcp/mcp.controller.d.ts +8 -0
  60. package/dist/mcp/mcp.controller.d.ts.map +1 -0
  61. package/dist/mcp/mcp.controller.js +54 -0
  62. package/dist/mcp/mcp.controller.js.map +1 -0
  63. package/dist/mcp/mcp.module.d.ts +3 -0
  64. package/dist/mcp/mcp.module.d.ts.map +1 -0
  65. package/dist/mcp/mcp.module.js +49 -0
  66. package/dist/mcp/mcp.module.js.map +1 -0
  67. package/dist/mcp/tools/core-settings.mcp-tools.d.ts +12 -0
  68. package/dist/mcp/tools/core-settings.mcp-tools.d.ts.map +1 -0
  69. package/dist/mcp/tools/core-settings.mcp-tools.js +66 -0
  70. package/dist/mcp/tools/core-settings.mcp-tools.js.map +1 -0
  71. package/dist/mcp/tools/core-users.mcp-tools.d.ts +55 -0
  72. package/dist/mcp/tools/core-users.mcp-tools.d.ts.map +1 -0
  73. package/dist/mcp/tools/core-users.mcp-tools.js +295 -0
  74. package/dist/mcp/tools/core-users.mcp-tools.js.map +1 -0
  75. package/dist/mcp/types/mcp-context.type.d.ts +7 -0
  76. package/dist/mcp/types/mcp-context.type.d.ts.map +1 -0
  77. package/dist/mcp/types/mcp-context.type.js +3 -0
  78. package/dist/mcp/types/mcp-context.type.js.map +1 -0
  79. package/dist/mcp-chat/dto/create-conversation.dto.d.ts +4 -0
  80. package/dist/mcp-chat/dto/create-conversation.dto.d.ts.map +1 -0
  81. package/dist/mcp-chat/dto/create-conversation.dto.js +22 -0
  82. package/dist/mcp-chat/dto/create-conversation.dto.js.map +1 -0
  83. package/dist/mcp-chat/dto/send-message.dto.d.ts +4 -0
  84. package/dist/mcp-chat/dto/send-message.dto.d.ts.map +1 -0
  85. package/dist/mcp-chat/dto/send-message.dto.js +22 -0
  86. package/dist/mcp-chat/dto/send-message.dto.js.map +1 -0
  87. package/dist/mcp-chat/mcp-chat.controller.d.ts +55 -0
  88. package/dist/mcp-chat/mcp-chat.controller.d.ts.map +1 -0
  89. package/dist/mcp-chat/mcp-chat.controller.js +90 -0
  90. package/dist/mcp-chat/mcp-chat.controller.js.map +1 -0
  91. package/dist/mcp-chat/mcp-chat.module.d.ts +3 -0
  92. package/dist/mcp-chat/mcp-chat.module.d.ts.map +1 -0
  93. package/dist/mcp-chat/mcp-chat.module.js +30 -0
  94. package/dist/mcp-chat/mcp-chat.module.js.map +1 -0
  95. package/dist/mcp-chat/mcp-chat.service.d.ts +50 -0
  96. package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -0
  97. package/dist/mcp-chat/mcp-chat.service.js +290 -0
  98. package/dist/mcp-chat/mcp-chat.service.js.map +1 -0
  99. package/dist/menu/menu.controller.d.ts +3 -3
  100. package/dist/menu/menu.service.d.ts +3 -3
  101. package/dist/profile/profile.controller.d.ts +2 -2
  102. package/dist/profile/profile.service.d.ts +2 -2
  103. package/dist/route/dto/create.dto.d.ts +6 -2
  104. package/dist/route/dto/create.dto.d.ts.map +1 -1
  105. package/dist/route/dto/create.dto.js +19 -1
  106. package/dist/route/dto/create.dto.js.map +1 -1
  107. package/dist/route/dto/update.dto.d.ts +4 -0
  108. package/dist/route/dto/update.dto.d.ts.map +1 -1
  109. package/dist/route/dto/update.dto.js +19 -3
  110. package/dist/route/dto/update.dto.js.map +1 -1
  111. package/dist/route/route.service.d.ts +1 -1
  112. package/dist/route/route.service.d.ts.map +1 -1
  113. package/dist/route/route.service.js +18 -11
  114. package/dist/route/route.service.js.map +1 -1
  115. package/dist/setting/setting.controller.d.ts +5 -5
  116. package/dist/setting/setting.service.d.ts +5 -5
  117. package/dist/user/user.controller.d.ts +3 -3
  118. package/dist/user/user.service.d.ts +6 -6
  119. package/hedhog/data/menu.yaml +40 -26
  120. package/hedhog/data/route.yaml +575 -152
  121. package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +574 -0
  122. package/hedhog/frontend/messages/en.json +17 -0
  123. package/hedhog/frontend/messages/pt.json +17 -0
  124. package/hedhog/table/mcp_conversation.yaml +12 -0
  125. package/hedhog/table/mcp_conversation_message.yaml +23 -0
  126. package/hedhog/table/mcp_tool_call_log.yaml +22 -0
  127. package/hedhog/table/route.yaml +33 -22
  128. package/package.json +5 -4
  129. package/src/core.module.ts +14 -10
  130. package/src/index.ts +17 -10
  131. package/src/mcp/decorators/mcp-tool.decorator.ts +7 -0
  132. package/src/mcp/guards/mcp-auth.guard.ts +32 -0
  133. package/src/mcp/guards/mcp-permission.guard.ts +51 -0
  134. package/src/mcp/interfaces/mcp-tool-definition.interface.ts +6 -0
  135. package/src/mcp/mcp-audit.service.ts +36 -0
  136. package/src/mcp/mcp-registry.service.ts +69 -0
  137. package/src/mcp/mcp-server.service.ts +87 -0
  138. package/src/mcp/mcp.controller.ts +30 -0
  139. package/src/mcp/mcp.module.ts +36 -0
  140. package/src/mcp/tools/core-settings.mcp-tools.ts +53 -0
  141. package/src/mcp/tools/core-users.mcp-tools.ts +267 -0
  142. package/src/mcp/types/mcp-context.type.ts +6 -0
  143. package/src/mcp-chat/dto/create-conversation.dto.ts +7 -0
  144. package/src/mcp-chat/dto/send-message.dto.ts +7 -0
  145. package/src/mcp-chat/mcp-chat.controller.ts +60 -0
  146. package/src/mcp-chat/mcp-chat.module.ts +17 -0
  147. package/src/mcp-chat/mcp-chat.service.ts +332 -0
  148. package/src/route/dto/create.dto.ts +32 -14
  149. package/src/route/dto/update.dto.ts +31 -16
  150. package/src/route/route.service.ts +23 -12
@@ -17,8 +17,8 @@ export declare class DashboardComponentRoleController {
17
17
  locale: {
18
18
  code: string;
19
19
  name: string;
20
- region: string;
21
20
  id: number;
21
+ region: string;
22
22
  created_at: Date;
23
23
  updated_at: Date;
24
24
  enabled: boolean;
@@ -51,8 +51,8 @@ export declare class DashboardComponentRoleController {
51
51
  locale: {
52
52
  code: string;
53
53
  name: string;
54
- region: string;
55
54
  id: number;
55
+ region: string;
56
56
  created_at: Date;
57
57
  updated_at: Date;
58
58
  enabled: boolean;
@@ -77,8 +77,8 @@ export declare class DashboardComponentRoleController {
77
77
  locale: {
78
78
  code: string;
79
79
  name: string;
80
- region: string;
81
80
  id: number;
81
+ region: string;
82
82
  created_at: Date;
83
83
  updated_at: Date;
84
84
  enabled: boolean;
@@ -93,8 +93,9 @@ export declare class DashboardComponentRoleController {
93
93
  dashboard_component_id: number;
94
94
  })[];
95
95
  } & {
96
- width: number;
97
96
  id: number;
97
+ height: number;
98
+ width: number;
98
99
  created_at: Date;
99
100
  updated_at: Date;
100
101
  slug: string;
@@ -103,7 +104,6 @@ export declare class DashboardComponentRoleController {
103
104
  max_width: number | null;
104
105
  min_height: number;
105
106
  max_height: number | null;
106
- height: number;
107
107
  is_resizable: boolean;
108
108
  };
109
109
  } & {
@@ -20,8 +20,8 @@ export declare class DashboardComponentRoleService {
20
20
  locale: {
21
21
  code: string;
22
22
  name: string;
23
- region: string;
24
23
  id: number;
24
+ region: string;
25
25
  created_at: Date;
26
26
  updated_at: Date;
27
27
  enabled: boolean;
@@ -54,8 +54,8 @@ export declare class DashboardComponentRoleService {
54
54
  locale: {
55
55
  code: string;
56
56
  name: string;
57
- region: string;
58
57
  id: number;
58
+ region: string;
59
59
  created_at: Date;
60
60
  updated_at: Date;
61
61
  enabled: boolean;
@@ -80,8 +80,8 @@ export declare class DashboardComponentRoleService {
80
80
  locale: {
81
81
  code: string;
82
82
  name: string;
83
- region: string;
84
83
  id: number;
84
+ region: string;
85
85
  created_at: Date;
86
86
  updated_at: Date;
87
87
  enabled: boolean;
@@ -96,8 +96,9 @@ export declare class DashboardComponentRoleService {
96
96
  dashboard_component_id: number;
97
97
  })[];
98
98
  } & {
99
- width: number;
100
99
  id: number;
100
+ height: number;
101
+ width: number;
101
102
  created_at: Date;
102
103
  updated_at: Date;
103
104
  slug: string;
@@ -106,7 +107,6 @@ export declare class DashboardComponentRoleService {
106
107
  max_width: number | null;
107
108
  min_height: number;
108
109
  max_height: number | null;
109
- height: number;
110
110
  is_resizable: boolean;
111
111
  };
112
112
  } & {
@@ -310,8 +310,9 @@ export declare class DashboardCoreController {
310
310
  dashboard_component_id: number;
311
311
  }[];
312
312
  } & {
313
- width: number;
314
313
  id: number;
314
+ height: number;
315
+ width: number;
315
316
  created_at: Date;
316
317
  updated_at: Date;
317
318
  slug: string;
@@ -320,15 +321,14 @@ export declare class DashboardCoreController {
320
321
  max_width: number | null;
321
322
  min_height: number;
322
323
  max_height: number | null;
323
- height: number;
324
324
  is_resizable: boolean;
325
325
  };
326
326
  } & {
327
- width: number;
328
327
  id: number;
328
+ height: number;
329
+ width: number;
329
330
  created_at: Date;
330
331
  updated_at: Date;
331
- height: number;
332
332
  component_id: number;
333
333
  dashboard_id: number;
334
334
  x_axis: number;
@@ -177,8 +177,9 @@ export declare class DashboardCoreService {
177
177
  dashboard_component_id: number;
178
178
  }[];
179
179
  } & {
180
- width: number;
181
180
  id: number;
181
+ height: number;
182
+ width: number;
182
183
  created_at: Date;
183
184
  updated_at: Date;
184
185
  slug: string;
@@ -187,15 +188,14 @@ export declare class DashboardCoreService {
187
188
  max_width: number | null;
188
189
  min_height: number;
189
190
  max_height: number | null;
190
- height: number;
191
191
  is_resizable: boolean;
192
192
  };
193
193
  } & {
194
- width: number;
195
194
  id: number;
195
+ height: number;
196
+ width: number;
196
197
  created_at: Date;
197
198
  updated_at: Date;
198
- height: number;
199
199
  component_id: number;
200
200
  dashboard_id: number;
201
201
  x_axis: number;
@@ -22,8 +22,9 @@ export declare class DashboardItemController {
22
22
  is_template: boolean;
23
23
  };
24
24
  dashboard_component: {
25
- width: number;
26
25
  id: number;
26
+ height: number;
27
+ width: number;
27
28
  created_at: Date;
28
29
  updated_at: Date;
29
30
  slug: string;
@@ -32,15 +33,14 @@ export declare class DashboardItemController {
32
33
  max_width: number | null;
33
34
  min_height: number;
34
35
  max_height: number | null;
35
- height: number;
36
36
  is_resizable: boolean;
37
37
  };
38
38
  } & {
39
- width: number;
40
39
  id: number;
40
+ height: number;
41
+ width: number;
41
42
  created_at: Date;
42
43
  updated_at: Date;
43
- height: number;
44
44
  component_id: number;
45
45
  dashboard_id: number;
46
46
  x_axis: number;
@@ -26,8 +26,9 @@ export declare class DashboardItemService {
26
26
  is_template: boolean;
27
27
  };
28
28
  dashboard_component: {
29
- width: number;
30
29
  id: number;
30
+ height: number;
31
+ width: number;
31
32
  created_at: Date;
32
33
  updated_at: Date;
33
34
  slug: string;
@@ -36,15 +37,14 @@ export declare class DashboardItemService {
36
37
  max_width: number | null;
37
38
  min_height: number;
38
39
  max_height: number | null;
39
- height: number;
40
40
  is_resizable: boolean;
41
41
  };
42
42
  } & {
43
- width: number;
44
43
  id: number;
44
+ height: number;
45
+ width: number;
45
46
  created_at: Date;
46
47
  updated_at: Date;
47
- height: number;
48
48
  component_id: number;
49
49
  dashboard_id: number;
50
50
  x_axis: number;
@@ -17,8 +17,8 @@ export declare class DashboardRoleController {
17
17
  locale: {
18
18
  code: string;
19
19
  name: string;
20
- region: string;
21
20
  id: number;
21
+ region: string;
22
22
  created_at: Date;
23
23
  updated_at: Date;
24
24
  enabled: boolean;
@@ -51,8 +51,8 @@ export declare class DashboardRoleController {
51
51
  locale: {
52
52
  code: string;
53
53
  name: string;
54
- region: string;
55
54
  id: number;
55
+ region: string;
56
56
  created_at: Date;
57
57
  updated_at: Date;
58
58
  enabled: boolean;
@@ -77,8 +77,8 @@ export declare class DashboardRoleController {
77
77
  locale: {
78
78
  code: string;
79
79
  name: string;
80
- region: string;
81
80
  id: number;
81
+ region: string;
82
82
  created_at: Date;
83
83
  updated_at: Date;
84
84
  enabled: boolean;
@@ -20,8 +20,8 @@ export declare class DashboardRoleService {
20
20
  locale: {
21
21
  code: string;
22
22
  name: string;
23
- region: string;
24
23
  id: number;
24
+ region: string;
25
25
  created_at: Date;
26
26
  updated_at: Date;
27
27
  enabled: boolean;
@@ -54,8 +54,8 @@ export declare class DashboardRoleService {
54
54
  locale: {
55
55
  code: string;
56
56
  name: string;
57
- region: string;
58
57
  id: number;
58
+ region: string;
59
59
  created_at: Date;
60
60
  updated_at: Date;
61
61
  enabled: boolean;
@@ -80,8 +80,8 @@ export declare class DashboardRoleService {
80
80
  locale: {
81
81
  code: string;
82
82
  name: string;
83
- region: string;
84
83
  id: number;
84
+ region: string;
85
85
  created_at: Date;
86
86
  updated_at: Date;
87
87
  enabled: boolean;
@@ -15,14 +15,14 @@ export declare class FileController {
15
15
  data: any[];
16
16
  }>;
17
17
  show(id: any): Promise<{
18
+ filename: string;
19
+ location: string;
20
+ id: number;
18
21
  path: string;
19
22
  size: number;
20
- id: number;
21
- filename: string;
22
23
  created_at: Date;
23
24
  updated_at: Date;
24
25
  provider_id: number;
25
- location: string;
26
26
  mimetype_id: number;
27
27
  }>;
28
28
  getTempOpenURL(id: number): Promise<{
@@ -34,14 +34,14 @@ export declare class FileController {
34
34
  download(token: string, res: Response, locale: string): Promise<void>;
35
35
  open(token: string, res: Response, locale: string): Promise<void>;
36
36
  upload(file: MulterFile, body: UploadFileDTO): Promise<{
37
+ filename: string;
38
+ location: string;
39
+ id: number;
37
40
  path: string;
38
41
  size: number;
39
- id: number;
40
- filename: string;
41
42
  created_at: Date;
42
43
  updated_at: Date;
43
44
  provider_id: number;
44
- location: string;
45
45
  mimetype_id: number;
46
46
  }>;
47
47
  delete(data: DeleteDTO, locale: string): Promise<number[]>;
@@ -21,14 +21,14 @@ export declare class FileService implements OnModuleInit {
21
21
  acceptMimetypes(mimetype: string): Promise<boolean>;
22
22
  maxFileSize(size: number): Promise<boolean>;
23
23
  uploadFromString(destination: string, filename: string, filecontent: string, mimetype?: string): Promise<{
24
+ filename: string;
25
+ location: string;
26
+ id: number;
24
27
  path: string;
25
28
  size: number;
26
- id: number;
27
- filename: string;
28
29
  created_at: Date;
29
30
  updated_at: Date;
30
31
  provider_id: number;
31
- location: string;
32
32
  mimetype_id: number;
33
33
  }>;
34
34
  getStorage(): Promise<any>;
@@ -41,28 +41,28 @@ export declare class FileService implements OnModuleInit {
41
41
  updated_at: Date;
42
42
  };
43
43
  } & {
44
+ filename: string;
45
+ location: string;
46
+ id: number;
44
47
  path: string;
45
48
  size: number;
46
- id: number;
47
- filename: string;
48
49
  created_at: Date;
49
50
  updated_at: Date;
50
51
  provider_id: number;
51
- location: string;
52
52
  mimetype_id: number;
53
53
  };
54
54
  buffer: Buffer<ArrayBuffer>;
55
55
  }>;
56
56
  getLocalFile(fileId: number, res: any): Promise<void>;
57
57
  upload(destination: string, fileBuffer: MulterFile): Promise<{
58
+ filename: string;
59
+ location: string;
60
+ id: number;
58
61
  path: string;
59
62
  size: number;
60
- id: number;
61
- filename: string;
62
63
  created_at: Date;
63
64
  updated_at: Date;
64
65
  provider_id: number;
65
- location: string;
66
66
  mimetype_id: number;
67
67
  }>;
68
68
  delete(locale: string, { ids }: DeleteDTO): Promise<number[]>;
@@ -76,14 +76,14 @@ export declare class FileService implements OnModuleInit {
76
76
  data: any[];
77
77
  }>;
78
78
  get(fileId: number): Promise<{
79
+ filename: string;
80
+ location: string;
81
+ id: number;
79
82
  path: string;
80
83
  size: number;
81
- id: number;
82
- filename: string;
83
84
  created_at: Date;
84
85
  updated_at: Date;
85
86
  provider_id: number;
86
- location: string;
87
87
  mimetype_id: number;
88
88
  }>;
89
89
  readStream(filepath: string): Promise<any>;
package/dist/index.d.ts CHANGED
@@ -37,5 +37,10 @@ export * from './integration/types';
37
37
  export * from './validators/is-email-with-settings.validator';
38
38
  export * from './validators/is-pin-code-with-setting.validator';
39
39
  export * from './validators/is-strong-password-with-settings.validator';
40
+ export * from './mcp/mcp.module';
41
+ export * from './mcp/mcp-registry.service';
42
+ export * from './mcp/decorators/mcp-tool.decorator';
43
+ export * from './mcp/interfaces/mcp-tool-definition.interface';
44
+ export * from './mcp/types/mcp-context.type';
40
45
  export * from './utils/locale-context';
41
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AAEpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,kDAAkD,CAAC;AACjE,cAAc,yDAAyD,CAAC;AACxE,cAAc,mDAAmD,CAAC;AAClE,cAAc,6CAA6C,CAAC;AAG5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,0DAA0D,CAAC;AACzE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC;AAGpC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yDAAyD,CAAC;AAGxE,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AAEpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,kDAAkD,CAAC;AACjE,cAAc,yDAAyD,CAAC;AACxE,cAAc,mDAAmD,CAAC;AAClE,cAAc,6CAA6C,CAAC;AAG5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,0DAA0D,CAAC;AACzE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC;AAGpC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yDAAyD,CAAC;AAGxE,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAG7C,cAAc,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -61,6 +61,12 @@ __exportStar(require("./integration/types"), exports);
61
61
  __exportStar(require("./validators/is-email-with-settings.validator"), exports);
62
62
  __exportStar(require("./validators/is-pin-code-with-setting.validator"), exports);
63
63
  __exportStar(require("./validators/is-strong-password-with-settings.validator"), exports);
64
+ // MCP Module
65
+ __exportStar(require("./mcp/mcp.module"), exports);
66
+ __exportStar(require("./mcp/mcp-registry.service"), exports);
67
+ __exportStar(require("./mcp/decorators/mcp-tool.decorator"), exports);
68
+ __exportStar(require("./mcp/interfaces/mcp-tool-definition.interface"), exports);
69
+ __exportStar(require("./mcp/types/mcp-context.type"), exports);
64
70
  // Utilities
65
71
  __exportStar(require("./utils/locale-context"), exports);
66
72
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,cAAc;AACd,gDAA8B;AAE9B,cAAc;AACd,sDAAoC;AACpC,2DAAyC;AAEzC,cAAc;AACd,sDAAoC;AAEpC,oBAAoB;AACpB,2DAAyC;AACzC,sDAAoC;AAEpC,gBAAgB;AAChB,0DAAwC;AAExC,cAAc;AACd,kEAAgD;AAChD,sDAAoC;AAEpC,qDAAmC;AACnC,sDAAoC;AACpC,qEAAmD;AACnD,sEAAoD;AAEpD,qDAAmC;AACnC,sDAAoC;AACpC,2DAAyC;AACzC,4DAA0C;AAE1C,iDAA+B;AAC/B,kDAAgC;AAEhC,mFAAiE;AACjE,0FAAwE;AACxE,oFAAkE;AAClE,8EAA4D;AAE5D,qBAAqB;AACrB,mEAAiD;AACjD,gFAA8D;AAC9D,mFAAiE;AACjE,uEAAqD;AACrD,2FAAyE;AACzE,kFAAgE;AAChE,sFAAoE;AACpE,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,8EAA4D;AAC5D,wEAAsD;AACtD,sDAAoC;AAEpC,aAAa;AACb,gFAA8D;AAC9D,kFAAgE;AAChE,0FAAwE;AAExE,YAAY;AACZ,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,cAAc;AACd,gDAA8B;AAE9B,cAAc;AACd,sDAAoC;AACpC,2DAAyC;AAEzC,cAAc;AACd,sDAAoC;AAEpC,oBAAoB;AACpB,2DAAyC;AACzC,sDAAoC;AAEpC,gBAAgB;AAChB,0DAAwC;AAExC,cAAc;AACd,kEAAgD;AAChD,sDAAoC;AAEpC,qDAAmC;AACnC,sDAAoC;AACpC,qEAAmD;AACnD,sEAAoD;AAEpD,qDAAmC;AACnC,sDAAoC;AACpC,2DAAyC;AACzC,4DAA0C;AAE1C,iDAA+B;AAC/B,kDAAgC;AAEhC,mFAAiE;AACjE,0FAAwE;AACxE,oFAAkE;AAClE,8EAA4D;AAE5D,qBAAqB;AACrB,mEAAiD;AACjD,gFAA8D;AAC9D,mFAAiE;AACjE,uEAAqD;AACrD,2FAAyE;AACzE,kFAAgE;AAChE,sFAAoE;AACpE,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,8EAA4D;AAC5D,wEAAsD;AACtD,sDAAoC;AAEpC,aAAa;AACb,gFAA8D;AAC9D,kFAAgE;AAChE,0FAAwE;AAExE,aAAa;AACb,mDAAiC;AACjC,6DAA2C;AAC3C,sEAAoD;AACpD,iFAA+D;AAC/D,+DAA6C;AAE7C,YAAY;AACZ,yDAAuC"}
@@ -37,8 +37,8 @@ export declare class MailController {
37
37
  getHtml(id: number, res: Response, queryLocale?: string, decoratorLocale?: string): Promise<void>;
38
38
  create(data: CreateDTO): Promise<{
39
39
  mail_locale: {
40
- body: string;
41
40
  id: number;
41
+ body: string;
42
42
  created_at: Date;
43
43
  updated_at: Date;
44
44
  subject: string;
@@ -66,8 +66,8 @@ export declare class MailController {
66
66
  }>;
67
67
  update(id: number, data: UpdateDTO): Promise<{
68
68
  mail_locale: {
69
- body: string;
70
69
  id: number;
70
+ body: string;
71
71
  created_at: Date;
72
72
  updated_at: Date;
73
73
  subject: string;
@@ -63,8 +63,8 @@ export declare class MailService implements OnModuleInit {
63
63
  }>;
64
64
  create(data: CreateDTO): Promise<{
65
65
  mail_locale: {
66
- body: string;
67
66
  id: number;
67
+ body: string;
68
68
  created_at: Date;
69
69
  updated_at: Date;
70
70
  subject: string;
@@ -89,8 +89,8 @@ export declare class MailService implements OnModuleInit {
89
89
  data: UpdateDTO;
90
90
  }): Promise<{
91
91
  mail_locale: {
92
- body: string;
93
92
  id: number;
93
+ body: string;
94
94
  created_at: Date;
95
95
  updated_at: Date;
96
96
  subject: string;
@@ -37,8 +37,8 @@ export declare class MailSentController {
37
37
  next: number;
38
38
  }>;
39
39
  get(id: number, locale: string): Promise<{
40
- body: string;
41
40
  id: number;
41
+ body: string;
42
42
  from: string;
43
43
  created_at: Date;
44
44
  updated_at: Date;
@@ -49,8 +49,8 @@ export declare class MailSentController {
49
49
  bcc: string | null;
50
50
  }>;
51
51
  create(data: CreateDTO): Promise<{
52
- body: string;
53
52
  id: number;
53
+ body: string;
54
54
  from: string;
55
55
  created_at: Date;
56
56
  updated_at: Date;
@@ -61,8 +61,8 @@ export declare class MailSentController {
61
61
  bcc: string | null;
62
62
  }>;
63
63
  update(locale: string, id: number, data: UpdateDTO): Promise<{
64
- body: string;
65
64
  id: number;
65
+ body: string;
66
66
  from: string;
67
67
  created_at: Date;
68
68
  updated_at: Date;
@@ -41,8 +41,8 @@ export declare class MailSentService {
41
41
  next: number;
42
42
  }>;
43
43
  get(locale: string, id: number): Promise<{
44
- body: string;
45
44
  id: number;
45
+ body: string;
46
46
  from: string;
47
47
  created_at: Date;
48
48
  updated_at: Date;
@@ -53,8 +53,8 @@ export declare class MailSentService {
53
53
  bcc: string | null;
54
54
  }>;
55
55
  create({ body, from, mail_id, subject, bcc, cc, to }: CreateDTO): Promise<{
56
- body: string;
57
56
  id: number;
57
+ body: string;
58
58
  from: string;
59
59
  created_at: Date;
60
60
  updated_at: Date;
@@ -68,8 +68,8 @@ export declare class MailSentService {
68
68
  id: number;
69
69
  data: UpdateDTO;
70
70
  }): Promise<{
71
- body: string;
72
71
  id: number;
72
+ body: string;
73
73
  from: string;
74
74
  created_at: Date;
75
75
  updated_at: Date;
@@ -0,0 +1,4 @@
1
+ import { McpToolDefinition } from '../interfaces/mcp-tool-definition.interface';
2
+ export declare const MCP_TOOL_METADATA = "mcp:tool";
3
+ export declare const McpTool: (definition: McpToolDefinition) => MethodDecorator;
4
+ //# sourceMappingURL=mcp-tool.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.decorator.d.ts","sourceRoot":"","sources":["../../../src/mcp/decorators/mcp-tool.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAEhF,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,eAAO,MAAM,OAAO,GAAI,YAAY,iBAAiB,KAAG,eACZ,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.McpTool = exports.MCP_TOOL_METADATA = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.MCP_TOOL_METADATA = 'mcp:tool';
6
+ const McpTool = (definition) => (0, common_1.SetMetadata)(exports.MCP_TOOL_METADATA, definition);
7
+ exports.McpTool = McpTool;
8
+ //# sourceMappingURL=mcp-tool.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.decorator.js","sourceRoot":"","sources":["../../../src/mcp/decorators/mcp-tool.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAGhC,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAErC,MAAM,OAAO,GAAG,CAAC,UAA6B,EAAmB,EAAE,CACxE,IAAA,oBAAW,EAAC,yBAAiB,EAAE,UAAU,CAAC,CAAC;AADhC,QAAA,OAAO,WACyB"}
@@ -0,0 +1,9 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { TokenService } from '../../token/token.service';
3
+ export declare class McpAuthGuard implements CanActivate {
4
+ private readonly tokenService;
5
+ constructor(tokenService: TokenService);
6
+ canActivate(context: ExecutionContext): Promise<boolean>;
7
+ private extractToken;
8
+ }
9
+ //# sourceMappingURL=mcp-auth.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-auth.guard.d.ts","sourceRoot":"","sources":["../../../src/mcp/guards/mcp-auth.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBACa,YAAa,YAAW,WAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEjD,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAc9D,OAAO,CAAC,YAAY;CAIrB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.McpAuthGuard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const token_service_1 = require("../../token/token.service");
15
+ let McpAuthGuard = class McpAuthGuard {
16
+ constructor(tokenService) {
17
+ this.tokenService = tokenService;
18
+ }
19
+ async canActivate(context) {
20
+ var _a, _b, _c;
21
+ const request = context.switchToHttp().getRequest();
22
+ const locale = (_c = (_b = (_a = request.headers['accept-language']) === null || _a === void 0 ? void 0 : _a.split(',')[0]) === null || _b === void 0 ? void 0 : _b.split('-')[0]) !== null && _c !== void 0 ? _c : 'en';
23
+ const token = this.extractToken(request);
24
+ if (!token) {
25
+ throw new common_1.UnauthorizedException('MCP: Bearer token required');
26
+ }
27
+ request['auth'] = await this.tokenService.verify(locale, token);
28
+ return true;
29
+ }
30
+ extractToken(request) {
31
+ var _a, _b;
32
+ const [type, token] = (_b = (_a = request.headers.authorization) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
33
+ return type === 'Bearer' ? token : undefined;
34
+ }
35
+ };
36
+ exports.McpAuthGuard = McpAuthGuard;
37
+ exports.McpAuthGuard = McpAuthGuard = __decorate([
38
+ (0, common_1.Injectable)(),
39
+ __metadata("design:paramtypes", [token_service_1.TokenService])
40
+ ], McpAuthGuard);
41
+ //# sourceMappingURL=mcp-auth.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-auth.guard.js","sourceRoot":"","sources":["../../../src/mcp/guards/mcp-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AAExB,6DAAyD;AAGlD,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,WAAW,CAAC,OAAyB;;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QAC7D,MAAM,MAAM,GACV,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,IAAI,CAAC;QAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY,CAAC,OAAgB;;QACnC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,aAAa,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACtE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF,CAAA;AArBY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAEgC,4BAAY;GAD5C,YAAY,CAqBxB"}
@@ -0,0 +1,8 @@
1
+ import { PrismaService } from '@hed-hog/api-prisma';
2
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
3
+ export declare class McpPermissionGuard implements CanActivate {
4
+ private readonly prisma;
5
+ constructor(prisma: PrismaService);
6
+ canActivate(context: ExecutionContext): Promise<boolean>;
7
+ }
8
+ //# sourceMappingURL=mcp-permission.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-permission.guard.d.ts","sourceRoot":"","sources":["../../../src/mcp/guards/mcp-permission.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AAGxB,qBACa,kBAAmB,YAAW,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAE5C,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAqC/D"}