@purpleschool/gptbot 0.13.4 → 0.13.6

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 (237) hide show
  1. package/api/controllers/http/agents/agent-ai-model.ts +6 -0
  2. package/api/controllers/http/agents/agent-channel.ts +10 -0
  3. package/api/controllers/http/agents/agent-dialog.ts +9 -0
  4. package/api/controllers/http/agents/agent-document.ts +8 -0
  5. package/api/controllers/http/agents/agent-lead-form.ts +7 -0
  6. package/api/controllers/http/agents/agent-lead.ts +8 -0
  7. package/api/controllers/http/agents/agent-template.ts +11 -0
  8. package/api/controllers/http/agents/agent-tool.ts +8 -0
  9. package/api/controllers/http/agents/agent.ts +17 -0
  10. package/api/controllers/http/agents/index.ts +9 -0
  11. package/api/controllers/http/index.ts +2 -0
  12. package/api/controllers/http/support-feedback.ts +7 -0
  13. package/api/routes.ts +97 -0
  14. package/build/api/controllers/http/agents/agent-ai-model.js +8 -0
  15. package/build/api/controllers/http/agents/agent-channel.js +12 -0
  16. package/build/api/controllers/http/agents/agent-dialog.js +11 -0
  17. package/build/api/controllers/http/agents/agent-document.js +10 -0
  18. package/build/api/controllers/http/agents/agent-lead-form.js +9 -0
  19. package/build/api/controllers/http/agents/agent-lead.js +10 -0
  20. package/build/api/controllers/http/agents/agent-template.js +13 -0
  21. package/build/api/controllers/http/agents/agent-tool.js +10 -0
  22. package/build/api/controllers/http/agents/agent.js +17 -0
  23. package/build/api/controllers/http/agents/index.js +25 -0
  24. package/build/api/controllers/http/index.js +2 -0
  25. package/build/api/controllers/http/support-feedback.js +9 -0
  26. package/build/api/routes.js +68 -0
  27. package/build/commands/agents/agent-ai-model/find-agent-ai-models.command.js +11 -0
  28. package/build/commands/agents/agent-ai-model/get-agent-ai-model-by-id.command.js +14 -0
  29. package/build/commands/agents/agent-ai-model/index.js +18 -0
  30. package/build/commands/agents/agent-channel/create-agent-channel.command.js +20 -0
  31. package/build/commands/agents/agent-channel/delete-agent-channel.command.js +14 -0
  32. package/build/commands/agents/agent-channel/find-agent-channels-catalog.command.js +11 -0
  33. package/build/commands/agents/agent-channel/find-agent-channels.command.js +14 -0
  34. package/build/commands/agents/agent-channel/index.js +21 -0
  35. package/build/commands/agents/agent-channel/update-agent-channel.command.js +31 -0
  36. package/build/commands/agents/agent-dialog/clear-agent-dialog-history.command.js +14 -0
  37. package/build/commands/agents/agent-dialog/find-agent-dialogs.command.js +21 -0
  38. package/build/commands/agents/agent-dialog/get-agent-dialog-by-id.command.js +15 -0
  39. package/build/commands/agents/agent-dialog/index.js +23 -0
  40. package/build/commands/agents/agent-dialog/send-agent-dialog-admin-reply.command.js +22 -0
  41. package/build/commands/agents/agent-dialog/send-cabinet-message.command.js +28 -0
  42. package/build/commands/agents/agent-dialog/start-cabinet-dialog.command.js +18 -0
  43. package/build/commands/agents/agent-dialog/update-agent-dialog-status.command.js +19 -0
  44. package/build/commands/agents/agent-document/delete-agent-document.command.js +14 -0
  45. package/build/commands/agents/agent-document/find-agent-documents.command.js +18 -0
  46. package/build/commands/agents/agent-document/index.js +20 -0
  47. package/build/commands/agents/agent-document/search-agent-documents.command.js +19 -0
  48. package/build/commands/agents/agent-document/upload-agent-document.command.js +19 -0
  49. package/build/commands/agents/agent-lead/create-agent-lead.command.js +16 -0
  50. package/build/commands/agents/agent-lead/delete-agent-lead.command.js +13 -0
  51. package/build/commands/agents/agent-lead/find-agent-leads.command.js +16 -0
  52. package/build/commands/agents/agent-lead/get-agent-lead-by-id.command.js +14 -0
  53. package/build/commands/agents/agent-lead/index.js +21 -0
  54. package/build/commands/agents/agent-lead/update-agent-lead.command.js +19 -0
  55. package/build/commands/agents/agent-lead-form/delete-agent-lead-form.command.js +14 -0
  56. package/build/commands/agents/agent-lead-form/find-agent-lead-forms.command.js +16 -0
  57. package/build/commands/agents/agent-lead-form/get-agent-lead-form-by-agent.command.js +14 -0
  58. package/build/commands/agents/agent-lead-form/get-agent-lead-form-by-id.command.js +14 -0
  59. package/build/commands/agents/agent-lead-form/index.js +21 -0
  60. package/build/commands/agents/agent-lead-form/upsert-agent-lead-form.command.js +19 -0
  61. package/build/commands/agents/agent-template/create-agent-template-category.command.js +17 -0
  62. package/build/commands/agents/agent-template/create-agent-template-instruction.command.js +20 -0
  63. package/build/commands/agents/agent-template/create-agent-template.command.js +21 -0
  64. package/build/commands/agents/agent-template/delete-agent-template-category.command.js +13 -0
  65. package/build/commands/agents/agent-template/delete-agent-template-instruction.command.js +14 -0
  66. package/build/commands/agents/agent-template/delete-agent-template.command.js +13 -0
  67. package/build/commands/agents/agent-template/find-agent-template-catalog.command.js +11 -0
  68. package/build/commands/agents/agent-template/find-agent-template-categories.command.js +19 -0
  69. package/build/commands/agents/agent-template/find-agent-template-instructions.command.js +20 -0
  70. package/build/commands/agents/agent-template/find-agent-templates.command.js +19 -0
  71. package/build/commands/agents/agent-template/index.js +29 -0
  72. package/build/commands/agents/agent-template/update-agent-template-category.command.js +21 -0
  73. package/build/commands/agents/agent-template/update-agent-template-instruction.command.js +22 -0
  74. package/build/commands/agents/agent-template/update-agent-template.command.js +25 -0
  75. package/build/commands/agents/agent-tool/connect-agent-tool.command.js +20 -0
  76. package/build/commands/agents/agent-tool/disconnect-agent-tool.command.js +14 -0
  77. package/build/commands/agents/agent-tool/find-agent-tools-catalog.command.js +15 -0
  78. package/build/commands/agents/agent-tool/find-agent-tools.command.js +14 -0
  79. package/build/commands/agents/agent-tool/index.js +21 -0
  80. package/build/commands/agents/agent-tool/update-agent-tool.command.js +21 -0
  81. package/build/commands/agents/agents/create-agent.command.js +24 -0
  82. package/build/commands/agents/agents/delete-agent.command.js +13 -0
  83. package/build/commands/agents/agents/find-agents.command.js +18 -0
  84. package/build/commands/agents/agents/get-agent-by-id.command.js +14 -0
  85. package/build/commands/agents/agents/get-agent-public-info.command.js +19 -0
  86. package/build/commands/agents/agents/index.js +22 -0
  87. package/build/commands/agents/agents/update-agent.command.js +30 -0
  88. package/build/commands/agents/index.js +25 -0
  89. package/build/commands/index.js +2 -0
  90. package/build/commands/support-feedback/check-support-feedback.command.js +24 -0
  91. package/build/commands/support-feedback/index.js +18 -0
  92. package/build/commands/support-feedback/upsert-support-feedback.command.js +18 -0
  93. package/build/constants/agents/enums/agent-channel-status.enum.js +9 -0
  94. package/build/constants/agents/enums/agent-channel-type.enum.js +9 -0
  95. package/build/constants/agents/enums/agent-document-status.enum.js +9 -0
  96. package/build/constants/agents/enums/agent-interaction-mode.enum.js +8 -0
  97. package/build/constants/agents/enums/agent-status.enum.js +9 -0
  98. package/build/constants/agents/enums/agent-tool-status.enum.js +9 -0
  99. package/build/constants/agents/enums/agent-tool-type.enum.js +9 -0
  100. package/build/constants/agents/enums/dialog-status.enum.js +11 -0
  101. package/build/constants/agents/enums/index.js +24 -0
  102. package/build/constants/agents/index.js +17 -0
  103. package/build/constants/index.js +1 -0
  104. package/build/models/agents/agent-ai-model.schema.js +14 -0
  105. package/build/models/agents/agent-channel-credentials.schema.js +23 -0
  106. package/build/models/agents/agent-channel.schema.js +17 -0
  107. package/build/models/agents/agent-dialog-lead.schema.js +13 -0
  108. package/build/models/agents/agent-dialog-message.schema.js +13 -0
  109. package/build/models/agents/agent-document-chunk.schema.js +15 -0
  110. package/build/models/agents/agent-document-find-result.schema.js +11 -0
  111. package/build/models/agents/agent-document-search-result.schema.js +13 -0
  112. package/build/models/agents/agent-document.schema.js +18 -0
  113. package/build/models/agents/agent-lead-find-result.schema.js +11 -0
  114. package/build/models/agents/agent-lead-form-field.schema.js +10 -0
  115. package/build/models/agents/agent-lead-form.schema.js +14 -0
  116. package/build/models/agents/agent-lead.schema.js +13 -0
  117. package/build/models/agents/agent-template-catalog.schema.js +16 -0
  118. package/build/models/agents/agent-template-category.schema.js +14 -0
  119. package/build/models/agents/agent-template-instruction.schema.js +15 -0
  120. package/build/models/agents/agent-template.schema.js +18 -0
  121. package/build/models/agents/agent-tool-catalog.schema.js +16 -0
  122. package/build/models/agents/agent-tool-credentials.schema.js +24 -0
  123. package/build/models/agents/agent-tool.schema.js +15 -0
  124. package/build/models/agents/agent.schema.js +25 -0
  125. package/build/models/agents/channel.schema.js +15 -0
  126. package/build/models/agents/dialog-find-result.schema.js +9 -0
  127. package/build/models/agents/dialog-with-messages.schema.js +9 -0
  128. package/build/models/agents/dialog.schema.js +32 -0
  129. package/build/models/agents/index.js +41 -0
  130. package/build/models/index.js +2 -0
  131. package/build/models/support-feedback.schema.js +14 -0
  132. package/commands/agents/agent-ai-model/find-agent-ai-models.command.ts +9 -0
  133. package/commands/agents/agent-ai-model/get-agent-ai-model-by-id.command.ts +14 -0
  134. package/commands/agents/agent-ai-model/index.ts +2 -0
  135. package/commands/agents/agent-channel/create-agent-channel.command.ts +22 -0
  136. package/commands/agents/agent-channel/delete-agent-channel.command.ts +14 -0
  137. package/commands/agents/agent-channel/find-agent-channels-catalog.command.ts +9 -0
  138. package/commands/agents/agent-channel/find-agent-channels.command.ts +14 -0
  139. package/commands/agents/agent-channel/index.ts +5 -0
  140. package/commands/agents/agent-channel/update-agent-channel.command.ts +36 -0
  141. package/commands/agents/agent-dialog/clear-agent-dialog-history.command.ts +16 -0
  142. package/commands/agents/agent-dialog/find-agent-dialogs.command.ts +21 -0
  143. package/commands/agents/agent-dialog/get-agent-dialog-by-id.command.ts +17 -0
  144. package/commands/agents/agent-dialog/index.ts +7 -0
  145. package/commands/agents/agent-dialog/send-agent-dialog-admin-reply.command.ts +26 -0
  146. package/commands/agents/agent-dialog/send-cabinet-message.command.ts +34 -0
  147. package/commands/agents/agent-dialog/start-cabinet-dialog.command.ts +20 -0
  148. package/commands/agents/agent-dialog/update-agent-dialog-status.command.ts +23 -0
  149. package/commands/agents/agent-document/delete-agent-document.command.ts +14 -0
  150. package/commands/agents/agent-document/find-agent-documents.command.ts +20 -0
  151. package/commands/agents/agent-document/index.ts +4 -0
  152. package/commands/agents/agent-document/search-agent-documents.command.ts +21 -0
  153. package/commands/agents/agent-document/upload-agent-document.command.ts +21 -0
  154. package/commands/agents/agent-lead/create-agent-lead.command.ts +16 -0
  155. package/commands/agents/agent-lead/delete-agent-lead.command.ts +13 -0
  156. package/commands/agents/agent-lead/find-agent-leads.command.ts +16 -0
  157. package/commands/agents/agent-lead/get-agent-lead-by-id.command.ts +14 -0
  158. package/commands/agents/agent-lead/index.ts +5 -0
  159. package/commands/agents/agent-lead/update-agent-lead.command.ts +21 -0
  160. package/commands/agents/agent-lead-form/delete-agent-lead-form.command.ts +14 -0
  161. package/commands/agents/agent-lead-form/find-agent-lead-forms.command.ts +16 -0
  162. package/commands/agents/agent-lead-form/get-agent-lead-form-by-agent.command.ts +14 -0
  163. package/commands/agents/agent-lead-form/get-agent-lead-form-by-id.command.ts +14 -0
  164. package/commands/agents/agent-lead-form/index.ts +5 -0
  165. package/commands/agents/agent-lead-form/upsert-agent-lead-form.command.ts +21 -0
  166. package/commands/agents/agent-template/create-agent-template-category.command.ts +17 -0
  167. package/commands/agents/agent-template/create-agent-template-instruction.command.ts +22 -0
  168. package/commands/agents/agent-template/create-agent-template.command.ts +21 -0
  169. package/commands/agents/agent-template/delete-agent-template-category.command.ts +13 -0
  170. package/commands/agents/agent-template/delete-agent-template-instruction.command.ts +14 -0
  171. package/commands/agents/agent-template/delete-agent-template.command.ts +13 -0
  172. package/commands/agents/agent-template/find-agent-template-catalog.command.ts +9 -0
  173. package/commands/agents/agent-template/find-agent-template-categories.command.ts +19 -0
  174. package/commands/agents/agent-template/find-agent-template-instructions.command.ts +22 -0
  175. package/commands/agents/agent-template/find-agent-templates.command.ts +19 -0
  176. package/commands/agents/agent-template/index.ts +13 -0
  177. package/commands/agents/agent-template/update-agent-template-category.command.ts +23 -0
  178. package/commands/agents/agent-template/update-agent-template-instruction.command.ts +24 -0
  179. package/commands/agents/agent-template/update-agent-template.command.ts +27 -0
  180. package/commands/agents/agent-tool/connect-agent-tool.command.ts +22 -0
  181. package/commands/agents/agent-tool/disconnect-agent-tool.command.ts +14 -0
  182. package/commands/agents/agent-tool/find-agent-tools-catalog.command.ts +15 -0
  183. package/commands/agents/agent-tool/find-agent-tools.command.ts +14 -0
  184. package/commands/agents/agent-tool/index.ts +5 -0
  185. package/commands/agents/agent-tool/update-agent-tool.command.ts +23 -0
  186. package/commands/agents/agents/create-agent.command.ts +24 -0
  187. package/commands/agents/agents/delete-agent.command.ts +13 -0
  188. package/commands/agents/agents/find-agents.command.ts +18 -0
  189. package/commands/agents/agents/get-agent-by-id.command.ts +14 -0
  190. package/commands/agents/agents/get-agent-public-info.command.ts +22 -0
  191. package/commands/agents/agents/index.ts +6 -0
  192. package/commands/agents/agents/update-agent.command.ts +32 -0
  193. package/commands/agents/index.ts +9 -0
  194. package/commands/index.ts +2 -0
  195. package/commands/support-feedback/check-support-feedback.command.ts +26 -0
  196. package/commands/support-feedback/index.ts +2 -0
  197. package/commands/support-feedback/upsert-support-feedback.command.ts +20 -0
  198. package/constants/agents/enums/agent-channel-status.enum.ts +5 -0
  199. package/constants/agents/enums/agent-channel-type.enum.ts +5 -0
  200. package/constants/agents/enums/agent-document-status.enum.ts +5 -0
  201. package/constants/agents/enums/agent-interaction-mode.enum.ts +4 -0
  202. package/constants/agents/enums/agent-status.enum.ts +5 -0
  203. package/constants/agents/enums/agent-tool-status.enum.ts +5 -0
  204. package/constants/agents/enums/agent-tool-type.enum.ts +5 -0
  205. package/constants/agents/enums/dialog-status.enum.ts +7 -0
  206. package/constants/agents/enums/index.ts +8 -0
  207. package/constants/agents/index.ts +1 -0
  208. package/constants/index.ts +1 -0
  209. package/models/agents/agent-ai-model.schema.ts +14 -0
  210. package/models/agents/agent-channel-credentials.schema.ts +32 -0
  211. package/models/agents/agent-channel.schema.ts +17 -0
  212. package/models/agents/agent-dialog-lead.schema.ts +13 -0
  213. package/models/agents/agent-dialog-message.schema.ts +13 -0
  214. package/models/agents/agent-document-chunk.schema.ts +15 -0
  215. package/models/agents/agent-document-find-result.schema.ts +11 -0
  216. package/models/agents/agent-document-search-result.schema.ts +16 -0
  217. package/models/agents/agent-document.schema.ts +18 -0
  218. package/models/agents/agent-lead-find-result.schema.ts +11 -0
  219. package/models/agents/agent-lead-form-field.schema.ts +10 -0
  220. package/models/agents/agent-lead-form.schema.ts +14 -0
  221. package/models/agents/agent-lead.schema.ts +13 -0
  222. package/models/agents/agent-template-catalog.schema.ts +22 -0
  223. package/models/agents/agent-template-category.schema.ts +14 -0
  224. package/models/agents/agent-template-instruction.schema.ts +15 -0
  225. package/models/agents/agent-template.schema.ts +18 -0
  226. package/models/agents/agent-tool-catalog.schema.ts +16 -0
  227. package/models/agents/agent-tool-credentials.schema.ts +33 -0
  228. package/models/agents/agent-tool.schema.ts +15 -0
  229. package/models/agents/agent.schema.ts +25 -0
  230. package/models/agents/channel.schema.ts +15 -0
  231. package/models/agents/dialog-find-result.schema.ts +9 -0
  232. package/models/agents/dialog-with-messages.schema.ts +9 -0
  233. package/models/agents/dialog.schema.ts +32 -0
  234. package/models/agents/index.ts +25 -0
  235. package/models/index.ts +2 -0
  236. package/models/support-feedback.schema.ts +12 -0
  237. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+
3
+ export const AgentDialogMessageSchema = z.object({
4
+ id: z.string().uuid(),
5
+ text: z.string().optional(),
6
+ images: z.array(z.string()),
7
+ attachments: z.array(z.string()),
8
+ tokensUsed: z.number().optional(),
9
+ isFromUser: z.boolean(),
10
+ createdAt: z.date(),
11
+ });
12
+
13
+ export type AgentDialogMessage = z.infer<typeof AgentDialogMessageSchema>;
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+
3
+ export const AgentDocumentChunkSchema = z.object({
4
+ id: z.string().uuid(),
5
+ documentId: z.string().uuid(),
6
+ content: z.string(),
7
+ chunkIndex: z.number(),
8
+ metadata: z.record(z.string(), z.unknown()).optional(),
9
+ similarity: z.number().optional(),
10
+ isDeleted: z.boolean(),
11
+ createdAt: z.date(),
12
+ updatedAt: z.date(),
13
+ });
14
+
15
+ export type AgentDocumentChunk = z.infer<typeof AgentDocumentChunkSchema>;
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import { AgentDocumentSchema } from './agent-document.schema';
3
+
4
+ export const AgentDocumentFindResultSchema = z.object({
5
+ data: z.array(AgentDocumentSchema),
6
+ total: z.number(),
7
+ limit: z.number(),
8
+ offset: z.number(),
9
+ });
10
+
11
+ export type AgentDocumentFindResult = z.infer<typeof AgentDocumentFindResultSchema>;
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { AgentDocumentChunkSchema } from './agent-document-chunk.schema';
3
+
4
+ export const AgentDocumentSearchResultItemSchema = z.object({
5
+ chunk: AgentDocumentChunkSchema,
6
+ similarity: z.number(),
7
+ });
8
+
9
+ export type AgentDocumentSearchResultItem = z.infer<typeof AgentDocumentSearchResultItemSchema>;
10
+
11
+ export const AgentDocumentSearchResultSchema = z.object({
12
+ results: z.array(AgentDocumentSearchResultItemSchema),
13
+ context: z.string(),
14
+ });
15
+
16
+ export type AgentDocumentSearchResult = z.infer<typeof AgentDocumentSearchResultSchema>;
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_DOCUMENT_STATUS } from '../../constants/agents/enums';
3
+
4
+ export const AgentDocumentSchema = z.object({
5
+ id: z.string().uuid(),
6
+ agentId: z.string().uuid(),
7
+ filename: z.string(),
8
+ originalUrl: z.string().optional(),
9
+ fileSize: z.number().optional(),
10
+ contentType: z.string(),
11
+ status: z.nativeEnum(AGENT_DOCUMENT_STATUS),
12
+ chunksCount: z.number().optional(),
13
+ isDeleted: z.boolean(),
14
+ createdAt: z.date(),
15
+ updatedAt: z.date(),
16
+ });
17
+
18
+ export type AgentDocument = z.infer<typeof AgentDocumentSchema>;
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import { AgentLeadSchema } from './agent-lead.schema';
3
+
4
+ export const AgentLeadFindResultSchema = z.object({
5
+ data: z.array(AgentLeadSchema),
6
+ total: z.number(),
7
+ limit: z.number(),
8
+ offset: z.number(),
9
+ });
10
+
11
+ export type AgentLeadFindResult = z.infer<typeof AgentLeadFindResultSchema>;
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+
3
+ export const AgentLeadFormFieldSchema = z.object({
4
+ key: z.string(),
5
+ name: z.string(),
6
+ integrationName: z.string().optional(),
7
+ required: z.boolean().optional(),
8
+ });
9
+
10
+ export type AgentLeadFormField = z.infer<typeof AgentLeadFormFieldSchema>;
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import { AgentLeadFormFieldSchema } from './agent-lead-form-field.schema';
3
+
4
+ export const AgentLeadFormSchema = z.object({
5
+ id: z.string().uuid(),
6
+ agentId: z.string().uuid(),
7
+ fields: z.array(AgentLeadFormFieldSchema),
8
+ collectionTrigger: z.string().nullable().optional(),
9
+ isDeleted: z.boolean(),
10
+ createdAt: z.date(),
11
+ updatedAt: z.date(),
12
+ });
13
+
14
+ export type AgentLeadForm = z.infer<typeof AgentLeadFormSchema>;
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+
3
+ export const AgentLeadSchema = z.object({
4
+ id: z.string().uuid(),
5
+ dialogId: z.string().uuid(),
6
+ leadFormId: z.string().uuid(),
7
+ data: z.record(z.string(), z.string()),
8
+ isDeleted: z.boolean(),
9
+ createdAt: z.date(),
10
+ updatedAt: z.date(),
11
+ });
12
+
13
+ export type AgentLead = z.infer<typeof AgentLeadSchema>;
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { AgentTemplateCategorySchema } from './agent-template-category.schema';
3
+ import { AgentTemplateInstructionSchema } from './agent-template-instruction.schema';
4
+ import { AgentTemplateSchema } from './agent-template.schema';
5
+
6
+ export const CatalogAgentTemplateSchema = AgentTemplateSchema.extend({
7
+ instructions: z.array(AgentTemplateInstructionSchema),
8
+ });
9
+
10
+ export type CatalogAgentTemplate = z.infer<typeof CatalogAgentTemplateSchema>;
11
+
12
+ export const CatalogAgentTemplateCategorySchema = AgentTemplateCategorySchema.extend({
13
+ templates: z.array(CatalogAgentTemplateSchema),
14
+ });
15
+
16
+ export type CatalogAgentTemplateCategory = z.infer<typeof CatalogAgentTemplateCategorySchema>;
17
+
18
+ export const AgentTemplateCatalogSchema = z.object({
19
+ categories: z.array(CatalogAgentTemplateCategorySchema),
20
+ });
21
+
22
+ export type AgentTemplateCatalog = z.infer<typeof AgentTemplateCatalogSchema>;
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+
3
+ export const AgentTemplateCategorySchema = z.object({
4
+ id: z.string().uuid(),
5
+ slug: z.string(),
6
+ name: z.string(),
7
+ description: z.string(),
8
+ order: z.number(),
9
+ isActive: z.boolean(),
10
+ createdAt: z.date(),
11
+ updatedAt: z.date(),
12
+ });
13
+
14
+ export type AgentTemplateCategory = z.infer<typeof AgentTemplateCategorySchema>;
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+
3
+ export const AgentTemplateInstructionSchema = z.object({
4
+ id: z.string().uuid(),
5
+ templateId: z.string().uuid(),
6
+ title: z.string(),
7
+ description: z.string(),
8
+ prompt: z.string(),
9
+ order: z.number(),
10
+ isActive: z.boolean(),
11
+ createdAt: z.date(),
12
+ updatedAt: z.date(),
13
+ });
14
+
15
+ export type AgentTemplateInstruction = z.infer<typeof AgentTemplateInstructionSchema>;
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_INTERACTION_MODE } from '../../constants/agents/enums/agent-interaction-mode.enum';
3
+
4
+ export const AgentTemplateSchema = z.object({
5
+ id: z.string().uuid(),
6
+ categoryId: z.string().uuid(),
7
+ name: z.string(),
8
+ description: z.string(),
9
+ iconUrl: z.string().nullable(),
10
+ systemPrompt: z.string().nullable(),
11
+ interactionMode: z.nativeEnum(AGENT_INTERACTION_MODE),
12
+ order: z.number(),
13
+ isActive: z.boolean(),
14
+ createdAt: z.date(),
15
+ updatedAt: z.date(),
16
+ });
17
+
18
+ export type AgentTemplate = z.infer<typeof AgentTemplateSchema>;
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_TOOL_TYPE } from '../../constants/agents/enums';
3
+
4
+ export const AgentToolCatalogSchema = z.object({
5
+ type: z.nativeEnum(AGENT_TOOL_TYPE),
6
+ name: z.string(),
7
+ displayName: z.string(),
8
+ description: z.string().nullable().optional(),
9
+ icon: z.string(),
10
+ connectionInstruction: z.string().nullable().optional(),
11
+ order: z.number(),
12
+ createdAt: z.date(),
13
+ updatedAt: z.date(),
14
+ });
15
+
16
+ export type AgentToolCatalog = z.infer<typeof AgentToolCatalogSchema>;
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_TOOL_TYPE } from '../../constants/agents/enums';
3
+
4
+ export const BitrixLeadAgentToolCredentialsSchema = z.object({
5
+ type: z.literal(AGENT_TOOL_TYPE.BITRIX_LEAD),
6
+ webhookUrl: z.string().min(1),
7
+ sourceId: z.string().min(1).optional(),
8
+ });
9
+
10
+ export type BitrixLeadAgentToolCredentials = z.infer<typeof BitrixLeadAgentToolCredentialsSchema>;
11
+
12
+ export const AmoLeadAgentToolCredentialsSchema = z.object({
13
+ type: z.literal(AGENT_TOOL_TYPE.AMO_LEAD),
14
+ subdomain: z.string().min(1),
15
+ accessToken: z.string().min(1),
16
+ });
17
+
18
+ export type AmoLeadAgentToolCredentials = z.infer<typeof AmoLeadAgentToolCredentialsSchema>;
19
+
20
+ export const EmailLeadAgentToolCredentialsSchema = z.object({
21
+ type: z.literal(AGENT_TOOL_TYPE.EMAIL_LEAD),
22
+ email: z.string().email(),
23
+ });
24
+
25
+ export type EmailLeadAgentToolCredentials = z.infer<typeof EmailLeadAgentToolCredentialsSchema>;
26
+
27
+ export const AgentToolCredentialsSchema = z.discriminatedUnion('type', [
28
+ BitrixLeadAgentToolCredentialsSchema,
29
+ AmoLeadAgentToolCredentialsSchema,
30
+ EmailLeadAgentToolCredentialsSchema,
31
+ ]);
32
+
33
+ export type AgentToolCredentials = z.infer<typeof AgentToolCredentialsSchema>;
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_TOOL_STATUS, AGENT_TOOL_TYPE } from '../../constants/agents/enums';
3
+ import { AgentToolCredentialsSchema } from './agent-tool-credentials.schema';
4
+
5
+ export const AgentToolSchema = z.object({
6
+ id: z.string().uuid(),
7
+ agentId: z.string().uuid(),
8
+ toolType: z.nativeEnum(AGENT_TOOL_TYPE),
9
+ status: z.nativeEnum(AGENT_TOOL_STATUS),
10
+ credentials: AgentToolCredentialsSchema,
11
+ createdAt: z.date(),
12
+ updatedAt: z.date(),
13
+ });
14
+
15
+ export type AgentTool = z.infer<typeof AgentToolSchema>;
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_INTERACTION_MODE } from '../../constants/agents/enums/agent-interaction-mode.enum';
3
+ import { AGENT_STATUS } from '../../constants/agents/enums/agent-status.enum';
4
+
5
+ export const AgentSchema = z.object({
6
+ id: z.string().uuid(),
7
+ teamAccountId: z.string().uuid(),
8
+ templateId: z.string().uuid().nullable(),
9
+ name: z.string(),
10
+ description: z.string(),
11
+ icon: z.string().nullable(),
12
+ avatar: z.string().nullable(),
13
+ greetingPhrase: z.string().nullable(),
14
+ instructions: z.string().nullable(),
15
+ aiModelId: z.string().uuid(),
16
+ status: z.nativeEnum(AGENT_STATUS),
17
+ interactionMode: z.nativeEnum(AGENT_INTERACTION_MODE),
18
+ isHumanHelp: z.boolean(),
19
+ useDocuments: z.boolean(),
20
+ createdAt: z.date(),
21
+ updatedAt: z.date(),
22
+ dialogsCount: z.number().optional(),
23
+ });
24
+
25
+ export type Agent = z.infer<typeof AgentSchema>;
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_CHANNEL_TYPE } from '../../constants/agents/enums';
3
+
4
+ export const ChannelSchema = z.object({
5
+ type: z.nativeEnum(AGENT_CHANNEL_TYPE),
6
+ displayName: z.string(),
7
+ icon: z.string(),
8
+ connectionInstruction: z.string().nullable().optional(),
9
+ description: z.string().nullable().optional(),
10
+ order: z.number(),
11
+ createdAt: z.date(),
12
+ updatedAt: z.date(),
13
+ });
14
+
15
+ export type Channel = z.infer<typeof ChannelSchema>;
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ import { DialogSchema } from './dialog.schema';
3
+
4
+ export const DialogFindResultSchema = z.object({
5
+ data: z.array(DialogSchema),
6
+ total: z.number(),
7
+ });
8
+
9
+ export type DialogFindResult = z.infer<typeof DialogFindResultSchema>;
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ import { AgentDialogMessageSchema } from './agent-dialog-message.schema';
3
+ import { DialogSchema } from './dialog.schema';
4
+
5
+ export const DialogWithMessagesSchema = DialogSchema.extend({
6
+ messages: z.array(AgentDialogMessageSchema),
7
+ });
8
+
9
+ export type DialogWithMessages = z.infer<typeof DialogWithMessagesSchema>;
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ import { DIALOG_STATUS } from '../../constants/agents/enums/dialog-status.enum';
3
+ import { AgentDialogLeadSchema } from './agent-dialog-lead.schema';
4
+
5
+ export const DialogSchema = z.object({
6
+ id: z.string().uuid(),
7
+ agentId: z.string().uuid(),
8
+ userId: z.string().uuid().optional(),
9
+ userName: z.string(),
10
+ source: z.string().optional(),
11
+ utm_campaign: z.string().optional(),
12
+ utm_term: z.string().optional(),
13
+ utm_source: z.string().optional(),
14
+ utm_content: z.string().optional(),
15
+ utm_medium: z.string().optional(),
16
+ yclid: z.string().optional(),
17
+ referrer: z.string().optional(),
18
+ _ym_uid: z.string().optional(),
19
+ roistat_visit: z.string().optional(),
20
+ externalId: z.string().optional(),
21
+ userMeta: z.record(z.string(), z.unknown()).optional(),
22
+ status: z.nativeEnum(DIALOG_STATUS),
23
+ title: z.string(),
24
+ createdAt: z.date(),
25
+ lastMessageAt: z.date().optional(),
26
+ lastUserMessageAt: z.date().optional(),
27
+ updatedAt: z.date(),
28
+ messageCount: z.number().optional(),
29
+ lead: AgentDialogLeadSchema.optional(),
30
+ });
31
+
32
+ export type Dialog = z.infer<typeof DialogSchema>;
@@ -0,0 +1,25 @@
1
+ export * from './agent-channel.schema';
2
+ export * from './agent-ai-model.schema';
3
+ export * from './agent-channel-credentials.schema';
4
+ export * from './agent-lead-form-field.schema';
5
+ export * from './agent-lead-form.schema';
6
+ export * from './agent-lead.schema';
7
+ export * from './agent-lead-find-result.schema';
8
+ export * from './agent-dialog-lead.schema';
9
+ export * from './agent-dialog-message.schema';
10
+ export * from './dialog-find-result.schema';
11
+ export * from './dialog-with-messages.schema';
12
+ export * from './dialog.schema';
13
+ export * from './agent-template-catalog.schema';
14
+ export * from './agent-template-category.schema';
15
+ export * from './agent-template-instruction.schema';
16
+ export * from './agent-template.schema';
17
+ export * from './agent-tool-credentials.schema';
18
+ export * from './agent-tool-catalog.schema';
19
+ export * from './agent-tool.schema';
20
+ export * from './agent-document.schema';
21
+ export * from './agent-document-find-result.schema';
22
+ export * from './agent-document-chunk.schema';
23
+ export * from './agent-document-search-result.schema';
24
+ export * from './agent.schema';
25
+ export * from './channel.schema';
package/models/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './agents';
1
2
  export * from './tools';
2
3
  export * from './ai-model-config.schema';
3
4
  export * from './ai-model-formatted.schema';
@@ -44,6 +45,7 @@ export * from './subscription-feature.schema';
44
45
  export * from './team-subscription-feature.schema';
45
46
  export * from './subscription-upgrade-schema';
46
47
  export * from './subscription.schema';
48
+ export * from './support-feedback.schema';
47
49
  export * from './telegram-user-data.schema';
48
50
  export * from './tool-job.schema';
49
51
  export * from './tool-group.schema';
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+
3
+ export const SupportFeedbackSchema = z.object({
4
+ uuid: z.string().uuid(),
5
+ supportDialogId: z.string().min(1),
6
+ userId: z.string().uuid().nullable().optional(),
7
+ unregisteredUserId: z.string().uuid().nullable().optional(),
8
+ rating: z.number().int().min(1).max(5),
9
+ comment: z.string().nullable().optional(),
10
+ createdAt: z.date(),
11
+ updatedAt: z.date(),
12
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.13.4",
3
+ "version": "0.13.6",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",