@purpleschool/gptbot 0.7.35-texteditor → 0.7.36

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 (91) hide show
  1. package/api/controllers/http/index.ts +1 -1
  2. package/api/controllers/http/user-private.ts +5 -0
  3. package/api/routes.ts +3 -1
  4. package/build/api/controllers/http/index.js +1 -1
  5. package/build/api/controllers/http/user-private.js +7 -0
  6. package/build/api/routes.js +3 -0
  7. package/build/commands/tools/index.js +0 -1
  8. package/build/commands/user/get-aggregated-user-data.command.js +24 -0
  9. package/build/constants/email/subjects.js +1 -0
  10. package/build/constants/errors/errors.js +30 -85
  11. package/build/constants/index.js +0 -1
  12. package/build/constants/subscription/enums/user-to-subscription-marks.enum.js +1 -0
  13. package/build/helpers/index.js +0 -1
  14. package/build/models/tools/image-editor/image-editor-config.schema.js +10 -2
  15. package/build/models/tools/image-editor/image-editor-job.schema.js +2 -1
  16. package/build/models/tools/index.js +0 -1
  17. package/commands/tools/index.ts +0 -1
  18. package/commands/user/get-aggregated-user-data.command.ts +29 -0
  19. package/constants/email/subjects.ts +1 -0
  20. package/constants/errors/errors.ts +30 -85
  21. package/constants/index.ts +0 -1
  22. package/constants/subscription/enums/user-to-subscription-marks.enum.ts +1 -0
  23. package/helpers/index.ts +0 -1
  24. package/models/tools/image-editor/image-editor-config.schema.ts +12 -1
  25. package/models/tools/image-editor/image-editor-job.schema.ts +2 -1
  26. package/models/tools/index.ts +0 -1
  27. package/package.json +1 -1
  28. package/api/controllers/http/writer.ts +0 -20
  29. package/build/api/controllers/http/writer.js +0 -22
  30. package/build/commands/tools/writer/create-writer-document.command.js +0 -16
  31. package/build/commands/tools/writer/delete-all-writer-documents.command.js +0 -8
  32. package/build/commands/tools/writer/delete-writer-document-by-uuid.command.js +0 -11
  33. package/build/commands/tools/writer/export-writer-document-as-docx.command.js +0 -15
  34. package/build/commands/tools/writer/find-writer-document-by-uuid.command.js +0 -14
  35. package/build/commands/tools/writer/find-writer-documents.command.js +0 -18
  36. package/build/commands/tools/writer/generate-writer-document-contents.command.js +0 -14
  37. package/build/commands/tools/writer/get-writer-tool-config.command.js +0 -11
  38. package/build/commands/tools/writer/index.js +0 -31
  39. package/build/commands/tools/writer/update-writer-document-contents.command.js +0 -18
  40. package/build/commands/tools/writer/update-writer-document-outline.command.js +0 -17
  41. package/build/commands/tools/writer/writer-extend-text.command.js +0 -18
  42. package/build/commands/tools/writer/writer-fix-errors.command.js +0 -18
  43. package/build/commands/tools/writer/writer-generate-text.command.js +0 -21
  44. package/build/commands/tools/writer/writer-paraphrase.command.js +0 -18
  45. package/build/commands/tools/writer/writer-shorten-text.command.js +0 -18
  46. package/build/constants/writer/enums/index.js +0 -20
  47. package/build/constants/writer/enums/writer-ai-action-pricing-type.enum.js +0 -8
  48. package/build/constants/writer/enums/writer-ai-action-type.enum.js +0 -11
  49. package/build/constants/writer/enums/writer-document-section-type.enum.js +0 -9
  50. package/build/constants/writer/enums/writer-document-stage.enum.js +0 -14
  51. package/build/constants/writer/index.js +0 -17
  52. package/build/helpers/writer/calculate-writer-ai-action-price.util.js +0 -16
  53. package/build/helpers/writer/calculate-writer-content-generation-price.util.js +0 -6
  54. package/build/helpers/writer/index.js +0 -18
  55. package/build/models/tools/writer/index.js +0 -21
  56. package/build/models/tools/writer/writer-ai-action.schema.js +0 -26
  57. package/build/models/tools/writer/writer-config.schema.js +0 -13
  58. package/build/models/tools/writer/writer-document-outline.schema.js +0 -21
  59. package/build/models/tools/writer/writer-document-type.schema.js +0 -13
  60. package/build/models/tools/writer/writer-document.schema.js +0 -22
  61. package/commands/tools/writer/create-writer-document.command.ts +0 -16
  62. package/commands/tools/writer/delete-all-writer-documents.command.ts +0 -6
  63. package/commands/tools/writer/delete-writer-document-by-uuid.command.ts +0 -11
  64. package/commands/tools/writer/export-writer-document-as-docx.command.ts +0 -15
  65. package/commands/tools/writer/find-writer-document-by-uuid.command.ts +0 -14
  66. package/commands/tools/writer/find-writer-documents.command.ts +0 -18
  67. package/commands/tools/writer/generate-writer-document-contents.command.ts +0 -14
  68. package/commands/tools/writer/get-writer-tool-config.command.ts +0 -10
  69. package/commands/tools/writer/index.ts +0 -15
  70. package/commands/tools/writer/update-writer-document-contents.command.ts +0 -20
  71. package/commands/tools/writer/update-writer-document-outline.command.ts +0 -19
  72. package/commands/tools/writer/writer-extend-text.command.ts +0 -20
  73. package/commands/tools/writer/writer-fix-errors.command.ts +0 -20
  74. package/commands/tools/writer/writer-generate-text.command.ts +0 -23
  75. package/commands/tools/writer/writer-paraphrase.command.ts +0 -20
  76. package/commands/tools/writer/writer-shorten-text.command.ts +0 -20
  77. package/constants/writer/enums/index.ts +0 -4
  78. package/constants/writer/enums/writer-ai-action-pricing-type.enum.ts +0 -4
  79. package/constants/writer/enums/writer-ai-action-type.enum.ts +0 -7
  80. package/constants/writer/enums/writer-document-section-type.enum.ts +0 -5
  81. package/constants/writer/enums/writer-document-stage.enum.ts +0 -13
  82. package/constants/writer/index.ts +0 -1
  83. package/helpers/writer/calculate-writer-ai-action-price.util.ts +0 -20
  84. package/helpers/writer/calculate-writer-content-generation-price.util.ts +0 -3
  85. package/helpers/writer/index.ts +0 -2
  86. package/models/tools/writer/index.ts +0 -5
  87. package/models/tools/writer/writer-ai-action.schema.ts +0 -27
  88. package/models/tools/writer/writer-config.schema.ts +0 -12
  89. package/models/tools/writer/writer-document-outline.schema.ts +0 -28
  90. package/models/tools/writer/writer-document-type.schema.ts +0 -12
  91. package/models/tools/writer/writer-document.schema.ts +0 -21
@@ -40,10 +40,10 @@ export * from './review';
40
40
  export * from './prompt-category';
41
41
  export * from './prompt-topic';
42
42
  export * from './prompt';
43
+ export * from './user-private';
43
44
  export * from './folder';
44
45
  export * from './user-to-product';
45
46
  export * from './user-to-subscription';
46
47
  export * from './video';
47
- export * from './writer';
48
48
  export * from './image-editor';
49
49
  export * from './daily-streak';
@@ -0,0 +1,5 @@
1
+ export const USER_PRIVATE_CONTROLLER = 'users/private' as const;
2
+
3
+ export const USER_PRIVATE_ROUTES = {
4
+ GET_USER_BATCH: 'get-by-ids',
5
+ } as const;
package/api/routes.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { POST_TYPE } from '../constants';
2
2
  import * as CONTROLLERS from './controllers';
3
-
4
3
  export const ROOT = '/api' as const;
5
4
 
6
5
  export const REST_API = {
@@ -31,6 +30,9 @@ export const REST_API = {
31
30
  SEND_NOTIFICATION: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.SEND_NOTIFICATION}`,
32
31
  DELETE_ACCOUNT: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.DELETE_ACCOUNT}`,
33
32
  },
33
+ USER_PRIVATE: {
34
+ GET_USER_BATCH: `${ROOT}/${CONTROLLERS.USER_PRIVATE_CONTROLLER}/${CONTROLLERS.USER_PRIVATE_ROUTES.GET_USER_BATCH}`,
35
+ },
34
36
  PAGE: {
35
37
  GET: `${ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${CONTROLLERS.PAGE_ROUTES.GET_ALL}`,
36
38
  PATCH: (uuid: string) => `${ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${uuid}`,
@@ -56,10 +56,10 @@ __exportStar(require("./review"), exports);
56
56
  __exportStar(require("./prompt-category"), exports);
57
57
  __exportStar(require("./prompt-topic"), exports);
58
58
  __exportStar(require("./prompt"), exports);
59
+ __exportStar(require("./user-private"), exports);
59
60
  __exportStar(require("./folder"), exports);
60
61
  __exportStar(require("./user-to-product"), exports);
61
62
  __exportStar(require("./user-to-subscription"), exports);
62
63
  __exportStar(require("./video"), exports);
63
- __exportStar(require("./writer"), exports);
64
64
  __exportStar(require("./image-editor"), exports);
65
65
  __exportStar(require("./daily-streak"), exports);
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_PRIVATE_ROUTES = exports.USER_PRIVATE_CONTROLLER = void 0;
4
+ exports.USER_PRIVATE_CONTROLLER = 'users/private';
5
+ exports.USER_PRIVATE_ROUTES = {
6
+ GET_USER_BATCH: 'get-by-ids',
7
+ };
@@ -60,6 +60,9 @@ exports.REST_API = {
60
60
  SEND_NOTIFICATION: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.SEND_NOTIFICATION}`,
61
61
  DELETE_ACCOUNT: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.DELETE_ACCOUNT}`,
62
62
  },
63
+ USER_PRIVATE: {
64
+ GET_USER_BATCH: `${exports.ROOT}/${CONTROLLERS.USER_PRIVATE_CONTROLLER}/${CONTROLLERS.USER_PRIVATE_ROUTES.GET_USER_BATCH}`,
65
+ },
63
66
  PAGE: {
64
67
  GET: `${exports.ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${CONTROLLERS.PAGE_ROUTES.GET_ALL}`,
65
68
  PATCH: (uuid) => `${exports.ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${uuid}`,
@@ -20,5 +20,4 @@ __exportStar(require("./stt"), exports);
20
20
  __exportStar(require("./tool"), exports);
21
21
  __exportStar(require("./tts"), exports);
22
22
  __exportStar(require("./video"), exports);
23
- __exportStar(require("./writer"), exports);
24
23
  __exportStar(require("./image-editor"), exports);
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetAggregatedUserData = void 0;
4
+ const zod_1 = require("zod");
5
+ var GetAggregatedUserData;
6
+ (function (GetAggregatedUserData) {
7
+ GetAggregatedUserData.RequestSchema = zod_1.z.object({
8
+ uuids: zod_1.z.array(zod_1.z.string().uuid()).min(1),
9
+ });
10
+ GetAggregatedUserData.AggregatedUserSchema = zod_1.z.object({
11
+ uuid: zod_1.z.string().uuid(),
12
+ email: zod_1.z.string().email().nullable(),
13
+ telegramId: zod_1.z.number().nullable(),
14
+ lastActivityAt: zod_1.z.string().datetime(),
15
+ registeredAt: zod_1.z.string().datetime(),
16
+ tokenBalance: zod_1.z.number(),
17
+ hasActiveSubscription: zod_1.z.boolean(),
18
+ hasActiveProduct: zod_1.z.boolean(),
19
+ isCustomer: zod_1.z.boolean(),
20
+ });
21
+ GetAggregatedUserData.ResponseSchema = zod_1.z.object({
22
+ data: zod_1.z.array(GetAggregatedUserData.AggregatedUserSchema),
23
+ });
24
+ })(GetAggregatedUserData || (exports.GetAggregatedUserData = GetAggregatedUserData = {}));
@@ -11,4 +11,5 @@ exports.EMAIL_SUBJECTS = {
11
11
  SUBSCRIPTION_RENEWAL_REMINDER: 'Продление подписки',
12
12
  RESTORE_PASSWORD: 'Восстановление пароля',
13
13
  FAST_REGISTRATION: 'Быстрая регистрация',
14
+ SUBSCRIPTION_BEFORE_CANCEL: 'Завтра всё изменится',
14
15
  };
@@ -1707,133 +1707,78 @@ exports.ERRORS = {
1707
1707
  httpCode: 500,
1708
1708
  },
1709
1709
  DAILY_REWARD_COLLECT_ERROR: {
1710
- code: 'A362',
1710
+ code: 'A353',
1711
1711
  message: 'Ошибка при получении ежедневной награды',
1712
1712
  httpCode: 500,
1713
1713
  },
1714
1714
  DAILY_STREAK_CREATE_ERROR: {
1715
- code: 'A363',
1715
+ code: 'A354',
1716
1716
  message: 'Ошибка при создании ежедневного стрика',
1717
1717
  httpCode: 500,
1718
1718
  },
1719
1719
  DAILY_STREAK_FIND_ERROR: {
1720
- code: 'A364',
1720
+ code: 'A355',
1721
1721
  message: 'Ошибка при поиске ежедневного стрика',
1722
1722
  httpCode: 500,
1723
1723
  },
1724
1724
  DAILY_STREAK_PROMOCODE_ALREADY_EXISTS_ERROR: {
1725
- code: 'A365',
1725
+ code: 'A356',
1726
1726
  message: 'Промокод для ежедневного стрика уже существует',
1727
1727
  httpCode: 409,
1728
1728
  },
1729
1729
  DAILY_REWARD_NOT_READY_ERROR: {
1730
- code: 'A366',
1730
+ code: 'A357',
1731
1731
  message: 'Запрашиваемая награда ещё недоступна для получения',
1732
1732
  httpCode: 429,
1733
1733
  },
1734
1734
  DAILY_REWARD_ALREADY_COLLECTED_ERROR: {
1735
- code: 'A367',
1735
+ code: 'A358',
1736
1736
  message: 'Запрашиваемая награда уже получена',
1737
1737
  httpCode: 429,
1738
1738
  },
1739
1739
  DAILY_STREAK_UPDATE_ERROR: {
1740
- code: 'A368',
1740
+ code: 'A359',
1741
1741
  message: 'Ошибка при обновлении ежедневного стрика',
1742
1742
  httpCode: 500,
1743
1743
  },
1744
- WRITER_CONFIG_ERROR: {
1745
- code: 'A369',
1746
- message: 'Произошла ошибка при получении конфигурации Writer',
1747
- httpCode: 500,
1748
- },
1749
- WRITER_CREATE_DOCUMENT_ERROR: {
1750
- code: 'A370',
1751
- message: 'Произошла ошибка при создании документа',
1752
- httpCode: 500,
1753
- },
1754
- WRITER_DOCUMENT_FIND_ERROR: {
1755
- code: 'A371',
1756
- message: 'Произошла ошибка при поиске документа',
1757
- httpCode: 500,
1758
- },
1759
- WRITER_DOCUMENTS_FIND_ERROR: {
1760
- code: 'A372',
1761
- message: 'Произошла ошибка при поиске документов',
1762
- httpCode: 500,
1763
- },
1764
- WRITER_DELETE_DOCUMENT_ERROR: {
1765
- code: 'A373',
1766
- message: 'Произошла ошибка при удалении документа',
1767
- httpCode: 500,
1768
- },
1769
- WRITER_DELETE_ALL_DOCUMENTS_ERROR: {
1770
- code: 'A374',
1771
- message: 'Произошла ошибка при удалении всех документов пользователя',
1772
- httpCode: 500,
1773
- },
1774
- WRITER_UPDATE_DOCUMENT_OUTLINE_ERROR: {
1775
- code: 'A375',
1776
- message: 'Произошла ошибка при обновлении структуры документа',
1777
- httpCode: 500,
1778
- },
1779
- WRITER_GENERATE_DOCUMENT_CONTENTS_ERROR: {
1780
- code: 'A376',
1781
- message: 'Произошла ошибка при генерации содержимого документа',
1782
- httpCode: 500,
1783
- },
1784
1744
  ACCOUNT_DELETE_ERROR: {
1785
- code: 'A377',
1745
+ code: 'A360',
1786
1746
  message: 'Аккаунт не был удалён',
1787
1747
  httpCode: 500,
1788
1748
  },
1789
1749
  ACCOUNT_DELETED: {
1790
- code: 'A378',
1750
+ code: 'A361',
1791
1751
  message: 'Операция невозможна, аккаунт был удалён',
1792
1752
  httpCode: 400,
1793
1753
  },
1794
- TOOL_NOT_FOUND_ERROR: {
1795
- code: 'A379',
1796
- message: 'Инструмент не найден',
1797
- httpCode: 404,
1798
- },
1799
1754
  TELEGRAM_PROFILE_DELETE_ERROR: {
1800
- code: 'A380',
1755
+ code: 'A362',
1801
1756
  message: 'Произошла ошибка при удалении Telegram профиля',
1802
1757
  httpCode: 500,
1803
1758
  },
1804
- WRITER_PARAPHRASE_ERROR: {
1805
- code: 'A381',
1806
- message: 'Произошла ошибка при перефразировании текста',
1807
- httpCode: 500,
1808
- },
1809
- WRITER_EXTEND_TEXT_ERROR: {
1810
- code: 'A382',
1811
- message: 'Произошла ошибка при расширении текста',
1812
- httpCode: 500,
1813
- },
1814
- WRITER_SHORTEN_TEXT_ERROR: {
1815
- code: 'A383',
1816
- message: 'Произошла ошибка при сокращении текста',
1817
- httpCode: 500,
1759
+ TOOL_NOT_FOUND_ERROR: {
1760
+ code: 'A363',
1761
+ message: 'Инструмент не найден',
1762
+ httpCode: 404,
1818
1763
  },
1819
- WRITER_FIX_ERRORS_ERROR: {
1820
- code: 'A384',
1821
- message: 'Произошла ошибка при исправлении ошибок в тексте',
1822
- httpCode: 500,
1764
+ IMAGE_EDITOR_MODEL_INACTIVE: {
1765
+ code: 'A364',
1766
+ message: 'Модель редактирования картинок архивирована и недоступна для пользования',
1767
+ httpCode: 403,
1823
1768
  },
1824
- WRITER_UPDATE_DOCUMENT_CONTENTS_ERROR: {
1825
- code: 'A385',
1826
- message: 'Произошла ошибка при обновлении содержимого документа',
1827
- httpCode: 500,
1769
+ TTS_MODEL_INACTIVE: {
1770
+ code: 'A365',
1771
+ message: 'Модель генерации текста в голос архивирована и недоступна для пользования',
1772
+ httpCode: 403,
1828
1773
  },
1829
- WRITER_GENERATE_TEXT_ERROR: {
1830
- code: 'A386',
1831
- message: 'Произошла ошибка при генерации текста',
1832
- httpCode: 500,
1774
+ STT_MODEL_INACTIVE: {
1775
+ code: 'A366',
1776
+ message: 'Модель генерации голоса в текст архивирована и недоступна для пользования',
1777
+ httpCode: 403,
1833
1778
  },
1834
- WRITER_EXPORT_DOCX_ERROR: {
1835
- code: 'A387',
1836
- message: 'Произошла ошибка при экспорте документа в DOCX',
1837
- httpCode: 500,
1779
+ VIDEO_MODEL_INACTIVE: {
1780
+ code: 'A367',
1781
+ message: 'Модель генерации видео архивирована и недоступна для пользования',
1782
+ httpCode: 403,
1838
1783
  },
1839
1784
  };
@@ -47,7 +47,6 @@ __exportStar(require("./promocode"), exports);
47
47
  __exportStar(require("./ui-notification"), exports);
48
48
  __exportStar(require("./review"), exports);
49
49
  __exportStar(require("./tool-video"), exports);
50
- __exportStar(require("./writer"), exports);
51
50
  __exportStar(require("./tool-image-editor"), exports);
52
51
  __exportStar(require("./feedback"), exports);
53
52
  __exportStar(require("./daily-streak"), exports);
@@ -6,5 +6,6 @@ var USER_TO_SUBSCRIPTION_MARKS;
6
6
  USER_TO_SUBSCRIPTION_MARKS["WITHOUT_AUTO_RENEWAL"] = "WITHOUT_AUTO_RENEWAL";
7
7
  USER_TO_SUBSCRIPTION_MARKS["MOCK"] = "MOCK";
8
8
  USER_TO_SUBSCRIPTION_MARKS["SENT_RENEWAL_REMINDER"] = "SENT_RENEWAL_REMINDER";
9
+ USER_TO_SUBSCRIPTION_MARKS["SENT_CANCELLATION_WARNING"] = "SENT_CANCELLATION_WARNING";
9
10
  USER_TO_SUBSCRIPTION_MARKS["SENT_PAST_DUE_RECOVER_REQUEST"] = "SENT_PAST_DUE_RECOVER_REQUEST";
10
11
  })(USER_TO_SUBSCRIPTION_MARKS || (exports.USER_TO_SUBSCRIPTION_MARKS = USER_TO_SUBSCRIPTION_MARKS = {}));
@@ -19,4 +19,3 @@ __exportStar(require("./stt"), exports);
19
19
  __exportStar(require("./subscription"), exports);
20
20
  __exportStar(require("./tts"), exports);
21
21
  __exportStar(require("./video"), exports);
22
- __exportStar(require("./writer"), exports);
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageEditorConfigSchema = exports.PromptGroupSchema = exports.SystemPromptSchema = void 0;
3
+ exports.ImageEditorConfigSchema = exports.PromptGroupSchema = exports.SystemPromptSchema = exports.SystemPromptParamsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const image_editor_model_schema_1 = require("./image-editor-model.schema");
6
6
  const icon_variants_schema_1 = require("../../icon-variants.schema");
7
+ exports.SystemPromptParamsSchema = zod_1.z.object({
8
+ imageSettings: zod_1.z.object({
9
+ minImages: zod_1.z.number(),
10
+ maxImages: zod_1.z.number(),
11
+ }),
12
+ });
7
13
  exports.SystemPromptSchema = zod_1.z.object({
8
14
  uuid: zod_1.z.string(),
9
15
  title: zod_1.z.string(),
@@ -11,6 +17,7 @@ exports.SystemPromptSchema = zod_1.z.object({
11
17
  prompt: zod_1.z.string(),
12
18
  allowUserPrompt: zod_1.z.boolean(),
13
19
  groupId: zod_1.z.string().uuid(),
20
+ params: exports.SystemPromptParamsSchema,
14
21
  preview: zod_1.z
15
22
  .object({
16
23
  before: zod_1.z.string(),
@@ -18,6 +25,7 @@ exports.SystemPromptSchema = zod_1.z.object({
18
25
  })
19
26
  .optional()
20
27
  .nullable(),
28
+ order: zod_1.z.number(),
21
29
  });
22
30
  exports.PromptGroupSchema = zod_1.z.object({
23
31
  uuid: zod_1.z.string(),
@@ -28,5 +36,5 @@ exports.PromptGroupSchema = zod_1.z.object({
28
36
  });
29
37
  exports.ImageEditorConfigSchema = zod_1.z.object({
30
38
  models: zod_1.z.array(image_editor_model_schema_1.ImageEditorModelSchema),
31
- promptGroups: zod_1.z.array(exports.SystemPromptSchema),
39
+ promptGroups: zod_1.z.array(exports.PromptGroupSchema),
32
40
  });
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImageEditorJobSchema = exports.ImageEditorJobParamsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../../../constants");
6
+ const tool_job_schema_1 = require("../../tool-job.schema");
6
7
  exports.ImageEditorJobParamsSchema = zod_1.z.object({
7
8
  imageUrls: zod_1.z.array(zod_1.z.string()).optional(),
8
9
  systemPromptId: zod_1.z.string().optional(),
9
10
  });
10
- exports.ImageEditorJobSchema = zod_1.z.object({
11
+ exports.ImageEditorJobSchema = tool_job_schema_1.ToolJobSchema.extend({
11
12
  title: zod_1.z.string(),
12
13
  prompt: zod_1.z.string(),
13
14
  reaction: zod_1.z.nativeEnum(constants_1.USER_REACTION).nullable(),
@@ -19,5 +19,4 @@ __exportStar(require("./paraphrase"), exports);
19
19
  __exportStar(require("./stt"), exports);
20
20
  __exportStar(require("./tts"), exports);
21
21
  __exportStar(require("./video"), exports);
22
- __exportStar(require("./writer"), exports);
23
22
  __exportStar(require("./image-editor"), exports);
@@ -4,5 +4,4 @@ export * from './stt';
4
4
  export * from './tool';
5
5
  export * from './tts';
6
6
  export * from './video';
7
- export * from './writer';
8
7
  export * from './image-editor';
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace GetAggregatedUserData {
4
+ export const RequestSchema = z.object({
5
+ uuids: z.array(z.string().uuid()).min(1),
6
+ });
7
+
8
+ export type Request = z.infer<typeof RequestSchema>;
9
+
10
+ export const AggregatedUserSchema = z.object({
11
+ uuid: z.string().uuid(),
12
+ email: z.string().email().nullable(),
13
+ telegramId: z.number().nullable(),
14
+ lastActivityAt: z.string().datetime(),
15
+ registeredAt: z.string().datetime(),
16
+ tokenBalance: z.number(),
17
+ hasActiveSubscription: z.boolean(),
18
+ hasActiveProduct: z.boolean(),
19
+ isCustomer: z.boolean(),
20
+ });
21
+
22
+ export type AggregatedUser = z.infer<typeof AggregatedUserSchema>;
23
+
24
+ export const ResponseSchema = z.object({
25
+ data: z.array(AggregatedUserSchema),
26
+ });
27
+
28
+ export type Response = z.infer<typeof ResponseSchema>;
29
+ }
@@ -8,4 +8,5 @@ export const EMAIL_SUBJECTS = {
8
8
  SUBSCRIPTION_RENEWAL_REMINDER: 'Продление подписки',
9
9
  RESTORE_PASSWORD: 'Восстановление пароля',
10
10
  FAST_REGISTRATION: 'Быстрая регистрация',
11
+ SUBSCRIPTION_BEFORE_CANCEL: 'Завтра всё изменится',
11
12
  };
@@ -1715,133 +1715,78 @@ export const ERRORS = {
1715
1715
  httpCode: 500,
1716
1716
  },
1717
1717
  DAILY_REWARD_COLLECT_ERROR: {
1718
- code: 'A362',
1718
+ code: 'A353',
1719
1719
  message: 'Ошибка при получении ежедневной награды',
1720
1720
  httpCode: 500,
1721
1721
  },
1722
1722
  DAILY_STREAK_CREATE_ERROR: {
1723
- code: 'A363',
1723
+ code: 'A354',
1724
1724
  message: 'Ошибка при создании ежедневного стрика',
1725
1725
  httpCode: 500,
1726
1726
  },
1727
1727
  DAILY_STREAK_FIND_ERROR: {
1728
- code: 'A364',
1728
+ code: 'A355',
1729
1729
  message: 'Ошибка при поиске ежедневного стрика',
1730
1730
  httpCode: 500,
1731
1731
  },
1732
1732
  DAILY_STREAK_PROMOCODE_ALREADY_EXISTS_ERROR: {
1733
- code: 'A365',
1733
+ code: 'A356',
1734
1734
  message: 'Промокод для ежедневного стрика уже существует',
1735
1735
  httpCode: 409,
1736
1736
  },
1737
1737
  DAILY_REWARD_NOT_READY_ERROR: {
1738
- code: 'A366',
1738
+ code: 'A357',
1739
1739
  message: 'Запрашиваемая награда ещё недоступна для получения',
1740
1740
  httpCode: 429,
1741
1741
  },
1742
1742
  DAILY_REWARD_ALREADY_COLLECTED_ERROR: {
1743
- code: 'A367',
1743
+ code: 'A358',
1744
1744
  message: 'Запрашиваемая награда уже получена',
1745
1745
  httpCode: 429,
1746
1746
  },
1747
1747
  DAILY_STREAK_UPDATE_ERROR: {
1748
- code: 'A368',
1748
+ code: 'A359',
1749
1749
  message: 'Ошибка при обновлении ежедневного стрика',
1750
1750
  httpCode: 500,
1751
1751
  },
1752
- WRITER_CONFIG_ERROR: {
1753
- code: 'A369',
1754
- message: 'Произошла ошибка при получении конфигурации Writer',
1755
- httpCode: 500,
1756
- },
1757
- WRITER_CREATE_DOCUMENT_ERROR: {
1758
- code: 'A370',
1759
- message: 'Произошла ошибка при создании документа',
1760
- httpCode: 500,
1761
- },
1762
- WRITER_DOCUMENT_FIND_ERROR: {
1763
- code: 'A371',
1764
- message: 'Произошла ошибка при поиске документа',
1765
- httpCode: 500,
1766
- },
1767
- WRITER_DOCUMENTS_FIND_ERROR: {
1768
- code: 'A372',
1769
- message: 'Произошла ошибка при поиске документов',
1770
- httpCode: 500,
1771
- },
1772
- WRITER_DELETE_DOCUMENT_ERROR: {
1773
- code: 'A373',
1774
- message: 'Произошла ошибка при удалении документа',
1775
- httpCode: 500,
1776
- },
1777
- WRITER_DELETE_ALL_DOCUMENTS_ERROR: {
1778
- code: 'A374',
1779
- message: 'Произошла ошибка при удалении всех документов пользователя',
1780
- httpCode: 500,
1781
- },
1782
- WRITER_UPDATE_DOCUMENT_OUTLINE_ERROR: {
1783
- code: 'A375',
1784
- message: 'Произошла ошибка при обновлении структуры документа',
1785
- httpCode: 500,
1786
- },
1787
- WRITER_GENERATE_DOCUMENT_CONTENTS_ERROR: {
1788
- code: 'A376',
1789
- message: 'Произошла ошибка при генерации содержимого документа',
1790
- httpCode: 500,
1791
- },
1792
1752
  ACCOUNT_DELETE_ERROR: {
1793
- code: 'A377',
1753
+ code: 'A360',
1794
1754
  message: 'Аккаунт не был удалён',
1795
1755
  httpCode: 500,
1796
1756
  },
1797
1757
  ACCOUNT_DELETED: {
1798
- code: 'A378',
1758
+ code: 'A361',
1799
1759
  message: 'Операция невозможна, аккаунт был удалён',
1800
1760
  httpCode: 400,
1801
1761
  },
1802
- TOOL_NOT_FOUND_ERROR: {
1803
- code: 'A379',
1804
- message: 'Инструмент не найден',
1805
- httpCode: 404,
1806
- },
1807
1762
  TELEGRAM_PROFILE_DELETE_ERROR: {
1808
- code: 'A380',
1763
+ code: 'A362',
1809
1764
  message: 'Произошла ошибка при удалении Telegram профиля',
1810
1765
  httpCode: 500,
1811
1766
  },
1812
- WRITER_PARAPHRASE_ERROR: {
1813
- code: 'A381',
1814
- message: 'Произошла ошибка при перефразировании текста',
1815
- httpCode: 500,
1816
- },
1817
- WRITER_EXTEND_TEXT_ERROR: {
1818
- code: 'A382',
1819
- message: 'Произошла ошибка при расширении текста',
1820
- httpCode: 500,
1821
- },
1822
- WRITER_SHORTEN_TEXT_ERROR: {
1823
- code: 'A383',
1824
- message: 'Произошла ошибка при сокращении текста',
1825
- httpCode: 500,
1767
+ TOOL_NOT_FOUND_ERROR: {
1768
+ code: 'A363',
1769
+ message: 'Инструмент не найден',
1770
+ httpCode: 404,
1826
1771
  },
1827
- WRITER_FIX_ERRORS_ERROR: {
1828
- code: 'A384',
1829
- message: 'Произошла ошибка при исправлении ошибок в тексте',
1830
- httpCode: 500,
1772
+ IMAGE_EDITOR_MODEL_INACTIVE: {
1773
+ code: 'A364',
1774
+ message: 'Модель редактирования картинок архивирована и недоступна для пользования',
1775
+ httpCode: 403,
1831
1776
  },
1832
- WRITER_UPDATE_DOCUMENT_CONTENTS_ERROR: {
1833
- code: 'A385',
1834
- message: 'Произошла ошибка при обновлении содержимого документа',
1835
- httpCode: 500,
1777
+ TTS_MODEL_INACTIVE: {
1778
+ code: 'A365',
1779
+ message: 'Модель генерации текста в голос архивирована и недоступна для пользования',
1780
+ httpCode: 403,
1836
1781
  },
1837
- WRITER_GENERATE_TEXT_ERROR: {
1838
- code: 'A386',
1839
- message: 'Произошла ошибка при генерации текста',
1840
- httpCode: 500,
1782
+ STT_MODEL_INACTIVE: {
1783
+ code: 'A366',
1784
+ message: 'Модель генерации голоса в текст архивирована и недоступна для пользования',
1785
+ httpCode: 403,
1841
1786
  },
1842
- WRITER_EXPORT_DOCX_ERROR: {
1843
- code: 'A387',
1844
- message: 'Произошла ошибка при экспорте документа в DOCX',
1845
- httpCode: 500,
1787
+ VIDEO_MODEL_INACTIVE: {
1788
+ code: 'A367',
1789
+ message: 'Модель генерации видео архивирована и недоступна для пользования',
1790
+ httpCode: 403,
1846
1791
  },
1847
1792
  };
@@ -31,7 +31,6 @@ export * from './promocode';
31
31
  export * from './ui-notification';
32
32
  export * from './review';
33
33
  export * from './tool-video';
34
- export * from './writer';
35
34
  export * from './tool-image-editor';
36
35
  export * from './feedback';
37
36
  export * from './daily-streak';
@@ -2,5 +2,6 @@ export enum USER_TO_SUBSCRIPTION_MARKS {
2
2
  WITHOUT_AUTO_RENEWAL = 'WITHOUT_AUTO_RENEWAL',
3
3
  MOCK = 'MOCK',
4
4
  SENT_RENEWAL_REMINDER = 'SENT_RENEWAL_REMINDER',
5
+ SENT_CANCELLATION_WARNING = 'SENT_CANCELLATION_WARNING',
5
6
  SENT_PAST_DUE_RECOVER_REQUEST = 'SENT_PAST_DUE_RECOVER_REQUEST',
6
7
  }
package/helpers/index.ts CHANGED
@@ -3,4 +3,3 @@ export * from './stt';
3
3
  export * from './subscription';
4
4
  export * from './tts';
5
5
  export * from './video';
6
- export * from './writer';
@@ -2,6 +2,15 @@ import { z } from 'zod';
2
2
  import { ImageEditorModelSchema } from './image-editor-model.schema';
3
3
  import { IconVariantsSchema } from '../../icon-variants.schema';
4
4
 
5
+ export const SystemPromptParamsSchema = z.object({
6
+ imageSettings: z.object({
7
+ minImages: z.number(),
8
+ maxImages: z.number(),
9
+ }),
10
+ });
11
+
12
+ export type SystemPromptParams = z.infer<typeof SystemPromptParamsSchema>;
13
+
5
14
  export const SystemPromptSchema = z.object({
6
15
  uuid: z.string(),
7
16
  title: z.string(),
@@ -9,6 +18,7 @@ export const SystemPromptSchema = z.object({
9
18
  prompt: z.string(),
10
19
  allowUserPrompt: z.boolean(),
11
20
  groupId: z.string().uuid(),
21
+ params: SystemPromptParamsSchema,
12
22
  preview: z
13
23
  .object({
14
24
  before: z.string(),
@@ -16,6 +26,7 @@ export const SystemPromptSchema = z.object({
16
26
  })
17
27
  .optional()
18
28
  .nullable(),
29
+ order: z.number(),
19
30
  });
20
31
 
21
32
  export const PromptGroupSchema = z.object({
@@ -28,5 +39,5 @@ export const PromptGroupSchema = z.object({
28
39
 
29
40
  export const ImageEditorConfigSchema = z.object({
30
41
  models: z.array(ImageEditorModelSchema),
31
- promptGroups: z.array(SystemPromptSchema),
42
+ promptGroups: z.array(PromptGroupSchema),
32
43
  });
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { USER_REACTION } from '../../../constants';
3
+ import { ToolJobSchema } from '../../tool-job.schema';
3
4
 
4
5
  export const ImageEditorJobParamsSchema = z.object({
5
6
  imageUrls: z.array(z.string()).optional(),
@@ -8,7 +9,7 @@ export const ImageEditorJobParamsSchema = z.object({
8
9
 
9
10
  export type ImageEditorJobParams = z.infer<typeof ImageEditorJobParamsSchema>;
10
11
 
11
- export const ImageEditorJobSchema = z.object({
12
+ export const ImageEditorJobSchema = ToolJobSchema.extend({
12
13
  title: z.string(),
13
14
  prompt: z.string(),
14
15
  reaction: z.nativeEnum(USER_REACTION).nullable(),