@purpleschool/gptbot 0.7.28 → 0.7.29

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 (69) hide show
  1. package/api/controllers/http/index.ts +1 -0
  2. package/api/controllers/http/user.ts +0 -1
  3. package/api/controllers/http/writer.ts +13 -0
  4. package/api/routes.ts +0 -1
  5. package/build/api/controllers/http/index.js +1 -0
  6. package/build/api/controllers/http/user.js +0 -1
  7. package/build/api/controllers/http/writer.js +15 -0
  8. package/build/api/routes.js +0 -1
  9. package/build/commands/tools/index.js +1 -0
  10. package/build/commands/tools/writer/create-writer-document.command.js +16 -0
  11. package/build/commands/tools/writer/delete-all-writer-documents.command.js +8 -0
  12. package/build/commands/tools/writer/delete-writer-document-by-uuid.command.js +11 -0
  13. package/build/commands/tools/writer/find-writer-document-by-uuid.command.js +14 -0
  14. package/build/commands/tools/writer/find-writer-documents.command.js +18 -0
  15. package/build/commands/tools/writer/generate-writer-document-contents.command.js +14 -0
  16. package/build/commands/tools/writer/get-writer-tool-config.command.js +11 -0
  17. package/build/commands/tools/writer/index.js +24 -0
  18. package/build/commands/tools/writer/update-writer-document-outline.command.js +17 -0
  19. package/build/commands/user/find-users-by-criteria.command.js +0 -1
  20. package/build/commands/user/index.js +0 -1
  21. package/build/constants/errors/errors.js +32 -7
  22. package/build/constants/index.js +1 -0
  23. package/build/constants/user/enums/user-status.js +0 -1
  24. package/build/constants/writer/enums/index.js +20 -0
  25. package/build/constants/writer/enums/writer-ai-operation-pricing-type.enum.js +8 -0
  26. package/build/constants/writer/enums/writer-ai-operation-type.enum.js +9 -0
  27. package/build/constants/writer/enums/writer-document-section-type.enum.js +9 -0
  28. package/build/constants/writer/enums/writer-document-stage.enum.js +14 -0
  29. package/build/constants/writer/index.js +17 -0
  30. package/build/models/tools/index.js +1 -0
  31. package/build/models/tools/writer/index.js +21 -0
  32. package/build/models/tools/writer/writer-ai-operation.schema.js +26 -0
  33. package/build/models/tools/writer/writer-config.schema.js +13 -0
  34. package/build/models/tools/writer/writer-document-outline.schema.js +21 -0
  35. package/build/models/tools/writer/writer-document-type.schema.js +13 -0
  36. package/build/models/tools/writer/writer-document.schema.js +21 -0
  37. package/build/models/user.schema.js +0 -1
  38. package/commands/tools/index.ts +1 -0
  39. package/commands/tools/writer/create-writer-document.command.ts +16 -0
  40. package/commands/tools/writer/delete-all-writer-documents.command.ts +6 -0
  41. package/commands/tools/writer/delete-writer-document-by-uuid.command.ts +11 -0
  42. package/commands/tools/writer/find-writer-document-by-uuid.command.ts +14 -0
  43. package/commands/tools/writer/find-writer-documents.command.ts +18 -0
  44. package/commands/tools/writer/generate-writer-document-contents.command.ts +14 -0
  45. package/commands/tools/writer/get-writer-tool-config.command.ts +10 -0
  46. package/commands/tools/writer/index.ts +8 -0
  47. package/commands/tools/writer/update-writer-document-outline.command.ts +19 -0
  48. package/commands/user/find-users-by-criteria.command.ts +0 -1
  49. package/commands/user/index.ts +0 -1
  50. package/constants/errors/errors.ts +32 -7
  51. package/constants/index.ts +1 -0
  52. package/constants/user/enums/user-status.ts +0 -1
  53. package/constants/writer/enums/index.ts +4 -0
  54. package/constants/writer/enums/writer-ai-operation-pricing-type.enum.ts +4 -0
  55. package/constants/writer/enums/writer-ai-operation-type.enum.ts +5 -0
  56. package/constants/writer/enums/writer-document-section-type.enum.ts +5 -0
  57. package/constants/writer/enums/writer-document-stage.enum.ts +13 -0
  58. package/constants/writer/index.ts +1 -0
  59. package/models/tools/index.ts +1 -0
  60. package/models/tools/writer/index.ts +5 -0
  61. package/models/tools/writer/writer-ai-operation.schema.ts +27 -0
  62. package/models/tools/writer/writer-config.schema.ts +13 -0
  63. package/models/tools/writer/writer-document-outline.schema.ts +28 -0
  64. package/models/tools/writer/writer-document-type.schema.ts +12 -0
  65. package/models/tools/writer/writer-document.schema.ts +21 -0
  66. package/models/user.schema.ts +0 -1
  67. package/package.json +1 -1
  68. package/build/commands/user/delete-account.command.js +0 -12
  69. package/commands/user/delete-account.command.ts +0 -13
@@ -44,4 +44,5 @@ export * from './folder';
44
44
  export * from './user-to-product';
45
45
  export * from './user-to-subscription';
46
46
  export * from './video';
47
+ export * from './writer';
47
48
  export * from './daily-streak';
@@ -12,5 +12,4 @@ export const USER_ROUTES = {
12
12
  GET_PRODUCTS: (uuid: string) => `products/${uuid}`,
13
13
  GET_COUNT_NOTIFICATION: 'broadcast/count',
14
14
  SEND_NOTIFICATION: 'broadcast',
15
- DELETE_ACCOUNT: 'delete-account',
16
15
  } as const;
@@ -0,0 +1,13 @@
1
+ export const WRITER_CONTROLLER_PRIVATE = 'private/tools/writer' as const;
2
+ export const WRITER_CONTROLLER_PUBLIC = 'public/tools/writer' as const;
3
+
4
+ export const WRITER_ROUTES = {
5
+ CONFIG: 'config',
6
+ CREATE: 'documents',
7
+ GET_DOCUMENTS: 'documents',
8
+ GET_DOCUMENT: (uuid: string) => `documents/${uuid}`,
9
+ GENERATE_CONTENTS: (uuid: string) => `documents/${uuid}/generate`,
10
+ UPDATE_OUTLINE: (uuid: string) => `documents/${uuid}/outline`,
11
+ DELETE_DOCUMENT: (uuid: string) => `documents/${uuid}`,
12
+ DELETE_ALL_DOCUMENTS: 'documents',
13
+ } as const;
package/api/routes.ts CHANGED
@@ -29,7 +29,6 @@ export const REST_API = {
29
29
  `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_PRODUCTS(uuid)}`,
30
30
  GET_COUNT: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_COUNT_NOTIFICATION}`,
31
31
  SEND_NOTIFICATION: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.SEND_NOTIFICATION}`,
32
- DELETE_ACCOUNT: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.DELETE_ACCOUNT}`,
33
32
  },
34
33
  PAGE: {
35
34
  GET: `${ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${CONTROLLERS.PAGE_ROUTES.GET_ALL}`,
@@ -60,4 +60,5 @@ __exportStar(require("./folder"), exports);
60
60
  __exportStar(require("./user-to-product"), exports);
61
61
  __exportStar(require("./user-to-subscription"), exports);
62
62
  __exportStar(require("./video"), exports);
63
+ __exportStar(require("./writer"), exports);
63
64
  __exportStar(require("./daily-streak"), exports);
@@ -14,5 +14,4 @@ exports.USER_ROUTES = {
14
14
  GET_PRODUCTS: (uuid) => `products/${uuid}`,
15
15
  GET_COUNT_NOTIFICATION: 'broadcast/count',
16
16
  SEND_NOTIFICATION: 'broadcast',
17
- DELETE_ACCOUNT: 'delete-account',
18
17
  };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITER_ROUTES = exports.WRITER_CONTROLLER_PUBLIC = exports.WRITER_CONTROLLER_PRIVATE = void 0;
4
+ exports.WRITER_CONTROLLER_PRIVATE = 'private/tools/writer';
5
+ exports.WRITER_CONTROLLER_PUBLIC = 'public/tools/writer';
6
+ exports.WRITER_ROUTES = {
7
+ CONFIG: 'config',
8
+ CREATE: 'documents',
9
+ GET_DOCUMENTS: 'documents',
10
+ GET_DOCUMENT: (uuid) => `documents/${uuid}`,
11
+ GENERATE_CONTENTS: (uuid) => `documents/${uuid}/generate`,
12
+ UPDATE_OUTLINE: (uuid) => `documents/${uuid}/outline`,
13
+ DELETE_DOCUMENT: (uuid) => `documents/${uuid}`,
14
+ DELETE_ALL_DOCUMENTS: 'documents',
15
+ };
@@ -58,7 +58,6 @@ exports.REST_API = {
58
58
  GET_PRODUCTS: (uuid) => `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_PRODUCTS(uuid)}`,
59
59
  GET_COUNT: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_COUNT_NOTIFICATION}`,
60
60
  SEND_NOTIFICATION: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.SEND_NOTIFICATION}`,
61
- DELETE_ACCOUNT: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.DELETE_ACCOUNT}`,
62
61
  },
63
62
  PAGE: {
64
63
  GET: `${exports.ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${CONTROLLERS.PAGE_ROUTES.GET_ALL}`,
@@ -20,3 +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);
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateWriterDocumentCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var CreateWriterDocumentCommand;
7
+ (function (CreateWriterDocumentCommand) {
8
+ CreateWriterDocumentCommand.RequestSchema = zod_1.z.object({
9
+ topic: zod_1.z.string(),
10
+ numPages: zod_1.z.number(),
11
+ documentTypeId: zod_1.z.string(),
12
+ });
13
+ CreateWriterDocumentCommand.ResponseSchema = zod_1.z.object({
14
+ data: models_1.WriterDocumentSchema,
15
+ });
16
+ })(CreateWriterDocumentCommand || (exports.CreateWriterDocumentCommand = CreateWriterDocumentCommand = {}));
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleteAllWriterDocumentsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ var DeleteAllWriterDocumentsCommand;
6
+ (function (DeleteAllWriterDocumentsCommand) {
7
+ DeleteAllWriterDocumentsCommand.ResponseSchema = zod_1.z.void();
8
+ })(DeleteAllWriterDocumentsCommand || (exports.DeleteAllWriterDocumentsCommand = DeleteAllWriterDocumentsCommand = {}));
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleteWriterDocumentByUUIDCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ var DeleteWriterDocumentByUUIDCommand;
6
+ (function (DeleteWriterDocumentByUUIDCommand) {
7
+ DeleteWriterDocumentByUUIDCommand.RequestParamsSchema = zod_1.z.object({
8
+ uuid: zod_1.z.string().uuid(),
9
+ });
10
+ DeleteWriterDocumentByUUIDCommand.ResponseSchema = zod_1.z.void();
11
+ })(DeleteWriterDocumentByUUIDCommand || (exports.DeleteWriterDocumentByUUIDCommand = DeleteWriterDocumentByUUIDCommand = {}));
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FindWriterDocumentByUUIDCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var FindWriterDocumentByUUIDCommand;
7
+ (function (FindWriterDocumentByUUIDCommand) {
8
+ FindWriterDocumentByUUIDCommand.RequestParamsSchema = zod_1.z.object({
9
+ uuid: zod_1.z.string().uuid(),
10
+ });
11
+ FindWriterDocumentByUUIDCommand.ResponseSchema = zod_1.z.object({
12
+ data: models_1.WriterDocumentSchema,
13
+ });
14
+ })(FindWriterDocumentByUUIDCommand || (exports.FindWriterDocumentByUUIDCommand = FindWriterDocumentByUUIDCommand = {}));
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FindWriterDocumentsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var FindWriterDocumentsCommand;
7
+ (function (FindWriterDocumentsCommand) {
8
+ FindWriterDocumentsCommand.RequestQuerySchema = zod_1.z.object({
9
+ limit: zod_1.z.coerce.number().min(1).optional(),
10
+ offset: zod_1.z.coerce.number().min(0).default(0).optional(),
11
+ title: zod_1.z.string().optional(),
12
+ });
13
+ FindWriterDocumentsCommand.ResponseSchema = zod_1.z.object({
14
+ data: zod_1.z.array(models_1.WriterDocumentSchema),
15
+ totalPages: zod_1.z.number(),
16
+ page: zod_1.z.number(),
17
+ });
18
+ })(FindWriterDocumentsCommand || (exports.FindWriterDocumentsCommand = FindWriterDocumentsCommand = {}));
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenerateWriterDocumentContentsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var GenerateWriterDocumentContentsCommand;
7
+ (function (GenerateWriterDocumentContentsCommand) {
8
+ GenerateWriterDocumentContentsCommand.RequestParamsSchema = zod_1.z.object({
9
+ uuid: zod_1.z.string().uuid(),
10
+ });
11
+ GenerateWriterDocumentContentsCommand.ResponseSchema = zod_1.z.object({
12
+ data: models_1.WriterDocumentSchema,
13
+ });
14
+ })(GenerateWriterDocumentContentsCommand || (exports.GenerateWriterDocumentContentsCommand = GenerateWriterDocumentContentsCommand = {}));
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetWriterToolConfigCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var GetWriterToolConfigCommand;
7
+ (function (GetWriterToolConfigCommand) {
8
+ GetWriterToolConfigCommand.ResponseSchema = zod_1.z.object({
9
+ data: models_1.WriterConfigSchema,
10
+ });
11
+ })(GetWriterToolConfigCommand || (exports.GetWriterToolConfigCommand = GetWriterToolConfigCommand = {}));
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./get-writer-tool-config.command"), exports);
18
+ __exportStar(require("./create-writer-document.command"), exports);
19
+ __exportStar(require("./find-writer-document-by-uuid.command"), exports);
20
+ __exportStar(require("./find-writer-documents.command"), exports);
21
+ __exportStar(require("./generate-writer-document-contents.command"), exports);
22
+ __exportStar(require("./update-writer-document-outline.command"), exports);
23
+ __exportStar(require("./delete-writer-document-by-uuid.command"), exports);
24
+ __exportStar(require("./delete-all-writer-documents.command"), exports);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateWriterDocumentOutlineCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var UpdateWriterDocumentOutlineCommand;
7
+ (function (UpdateWriterDocumentOutlineCommand) {
8
+ UpdateWriterDocumentOutlineCommand.RequestBodySchema = zod_1.z.object({
9
+ data: models_1.WriterDocumentOutlineSchema,
10
+ });
11
+ UpdateWriterDocumentOutlineCommand.RequestParamsSchema = zod_1.z.object({
12
+ uuid: zod_1.z.string().uuid(),
13
+ });
14
+ UpdateWriterDocumentOutlineCommand.ResponseSchema = zod_1.z.object({
15
+ data: zod_1.z.array(models_1.WriterDocumentOutlineSectionSchema),
16
+ });
17
+ })(UpdateWriterDocumentOutlineCommand || (exports.UpdateWriterDocumentOutlineCommand = UpdateWriterDocumentOutlineCommand = {}));
@@ -41,7 +41,6 @@ var FindUsersByCriteriaCommand;
41
41
  telegramId: zod_1.default.coerce.number().optional(),
42
42
  createdAt: models_1.DateFilter.optional(),
43
43
  updatedAt: models_1.DateFilter.optional(),
44
- deletedAt: models_1.DateFilter.optional(),
45
44
  tokenBonusBalance: models_1.NumberFilter.optional(),
46
45
  sortBy: zod_1.default.nativeEnum(constants_1.USER_SORT_BY).optional(),
47
46
  sortOrder: zod_1.default.nativeEnum(constants_1.SORT_ORDER).default(constants_1.SORT_ORDER.DESC).optional(),
@@ -23,4 +23,3 @@ __exportStar(require("./get-user-balance.command"), exports);
23
23
  __exportStar(require("./get-user-orders.command"), exports);
24
24
  __exportStar(require("./get-user-subscriptions.command"), exports);
25
25
  __exportStar(require("./get-user-products.command"), exports);
26
- __exportStar(require("./delete-account.command"), exports);
@@ -1697,19 +1697,44 @@ exports.ERRORS = {
1697
1697
  message: 'Ошибка при обновлении ежедневного стрика',
1698
1698
  httpCode: 500,
1699
1699
  },
1700
- ACCOUNT_DELETE_ERROR: {
1700
+ WRITER_CONFIG_ERROR: {
1701
1701
  code: 'A360',
1702
- message: 'Аккаунт не был удалён',
1702
+ message: 'Произошла ошибка при получении конфигурации Writer',
1703
1703
  httpCode: 500,
1704
1704
  },
1705
- ACCOUNT_DELETED: {
1705
+ WRITER_CREATE_DOCUMENT_ERROR: {
1706
1706
  code: 'A361',
1707
- message: 'Операция невозможна, аккаунт был удалён',
1708
- httpCode: 400,
1707
+ message: 'Произошла ошибка при создании документа',
1708
+ httpCode: 500,
1709
1709
  },
1710
- TELEGRAM_PROFILE_DELETE_ERROR: {
1710
+ WRITER_DOCUMENT_FIND_ERROR: {
1711
1711
  code: 'A362',
1712
- message: 'Произошла ошибка при удалении Telegram профиля',
1712
+ message: 'Произошла ошибка при поиске документа',
1713
+ httpCode: 500,
1714
+ },
1715
+ WRITER_DOCUMENTS_FIND_ERROR: {
1716
+ code: 'A363',
1717
+ message: 'Произошла ошибка при поиске документов',
1718
+ httpCode: 500,
1719
+ },
1720
+ WRITER_DELETE_DOCUMENT_ERROR: {
1721
+ code: 'A364',
1722
+ message: 'Произошла ошибка при удалении документа',
1723
+ httpCode: 500,
1724
+ },
1725
+ WRITER_DELETE_ALL_DOCUMENTS_ERROR: {
1726
+ code: 'A365',
1727
+ message: 'Произошла ошибка при удалении всех документов пользователя',
1728
+ httpCode: 500,
1729
+ },
1730
+ WRITER_UPDATE_DOCUMENT_OUTLINE_ERROR: {
1731
+ code: 'A366',
1732
+ message: 'Произошла ошибка при обновлении структуры документа',
1733
+ httpCode: 500,
1734
+ },
1735
+ WRITER_GENERATE_DOCUMENT_CONTENTS_ERROR: {
1736
+ code: 'A367',
1737
+ message: 'Произошла ошибка при генерации содержимого документа',
1713
1738
  httpCode: 500,
1714
1739
  },
1715
1740
  };
@@ -47,5 +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);
50
51
  __exportStar(require("./feedback"), exports);
51
52
  __exportStar(require("./daily-streak"), exports);
@@ -7,5 +7,4 @@ var USER_STATUS;
7
7
  USER_STATUS["INACTIVE"] = "inactive";
8
8
  USER_STATUS["TG_AUTO_REGISTERED"] = "tg_auto_registered";
9
9
  USER_STATUS["MERGED"] = "merged";
10
- USER_STATUS["DELETED"] = "deleted";
11
10
  })(USER_STATUS || (exports.USER_STATUS = USER_STATUS = {}));
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./writer-document-section-type.enum"), exports);
18
+ __exportStar(require("./writer-document-stage.enum"), exports);
19
+ __exportStar(require("./writer-ai-operation-pricing-type.enum"), exports);
20
+ __exportStar(require("./writer-ai-operation-type.enum"), exports);
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITER_AI_OPERATION_PRICING_TYPE = void 0;
4
+ var WRITER_AI_OPERATION_PRICING_TYPE;
5
+ (function (WRITER_AI_OPERATION_PRICING_TYPE) {
6
+ WRITER_AI_OPERATION_PRICING_TYPE["PER_CHARACTER"] = "PER_CHARACTER";
7
+ WRITER_AI_OPERATION_PRICING_TYPE["FLAT"] = "FLAT";
8
+ })(WRITER_AI_OPERATION_PRICING_TYPE || (exports.WRITER_AI_OPERATION_PRICING_TYPE = WRITER_AI_OPERATION_PRICING_TYPE = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITER_AI_OPERATION_TYPE = void 0;
4
+ var WRITER_AI_OPERATION_TYPE;
5
+ (function (WRITER_AI_OPERATION_TYPE) {
6
+ WRITER_AI_OPERATION_TYPE["PARAPHRASE"] = "PARAPHRASE";
7
+ WRITER_AI_OPERATION_TYPE["EXTEND_TEXT"] = "EXTEND_TEXT";
8
+ WRITER_AI_OPERATION_TYPE["GENERATE_TEXT"] = "GENERATE_TEXT";
9
+ })(WRITER_AI_OPERATION_TYPE || (exports.WRITER_AI_OPERATION_TYPE = WRITER_AI_OPERATION_TYPE = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITER_DOCUMENT_SECTION_TYPE = void 0;
4
+ var WRITER_DOCUMENT_SECTION_TYPE;
5
+ (function (WRITER_DOCUMENT_SECTION_TYPE) {
6
+ WRITER_DOCUMENT_SECTION_TYPE["INTRODUCTION"] = "introduction";
7
+ WRITER_DOCUMENT_SECTION_TYPE["CONCLUSION"] = "conclusion";
8
+ WRITER_DOCUMENT_SECTION_TYPE["SECTION"] = "section";
9
+ })(WRITER_DOCUMENT_SECTION_TYPE || (exports.WRITER_DOCUMENT_SECTION_TYPE = WRITER_DOCUMENT_SECTION_TYPE = {}));
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITER_DOCUMENT_STAGE = void 0;
4
+ var WRITER_DOCUMENT_STAGE;
5
+ (function (WRITER_DOCUMENT_STAGE) {
6
+ WRITER_DOCUMENT_STAGE["CREATED"] = "CREATED";
7
+ WRITER_DOCUMENT_STAGE["GENERATING_OUTLINE"] = "GENERATING_OUTLINE";
8
+ WRITER_DOCUMENT_STAGE["OUTLINE_GENERATED"] = "OUTLINE_GENERATED";
9
+ WRITER_DOCUMENT_STAGE["OUTLINE_GENERATION_FAILED"] = "OUTLINE_GENERATION_FAILED";
10
+ WRITER_DOCUMENT_STAGE["GENERATING_CONTENT"] = "GENERATING_CONTENT";
11
+ WRITER_DOCUMENT_STAGE["CONTENT_GENERATED"] = "CONTENT_GENERATED";
12
+ WRITER_DOCUMENT_STAGE["CONTENT_GENERATION_FAILED"] = "CONTENT_GENERATION_FAILED";
13
+ WRITER_DOCUMENT_STAGE["DELETED"] = "DELETED";
14
+ })(WRITER_DOCUMENT_STAGE || (exports.WRITER_DOCUMENT_STAGE = WRITER_DOCUMENT_STAGE = {}));
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./enums"), exports);
@@ -19,3 +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);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./writer-config.schema"), exports);
18
+ __exportStar(require("./writer-ai-operation.schema"), exports);
19
+ __exportStar(require("./writer-document-outline.schema"), exports);
20
+ __exportStar(require("./writer-document.schema"), exports);
21
+ __exportStar(require("./writer-document-type.schema"), exports);
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WriterAiOperationSchema = exports.WriterAiOperationPricingRulesSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../../constants");
6
+ exports.WriterAiOperationPricingRulesSchema = zod_1.z.discriminatedUnion('type', [
7
+ zod_1.z.object({
8
+ type: zod_1.z.literal(constants_1.WRITER_AI_OPERATION_PRICING_TYPE.PER_CHARACTER),
9
+ price: zod_1.z.number(),
10
+ }),
11
+ zod_1.z.object({
12
+ type: zod_1.z.literal(constants_1.WRITER_AI_OPERATION_PRICING_TYPE.FLAT),
13
+ price: zod_1.z.number(),
14
+ }),
15
+ ]);
16
+ exports.WriterAiOperationSchema = zod_1.z.object({
17
+ uuid: zod_1.z.string(),
18
+ type: zod_1.z.nativeEnum(constants_1.WRITER_AI_OPERATION_TYPE),
19
+ pricingRules: exports.WriterAiOperationPricingRulesSchema,
20
+ maxPromptLength: zod_1.z.number(),
21
+ title: zod_1.z.string(),
22
+ icon: zod_1.z.string(),
23
+ order: zod_1.z.number(),
24
+ createdAt: zod_1.z.date(),
25
+ updatedAt: zod_1.z.date(),
26
+ });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WriterConfigSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const writer_document_type_schema_1 = require("./writer-document-type.schema");
6
+ const writer_ai_operation_schema_1 = require("./writer-ai-operation.schema");
7
+ exports.WriterConfigSchema = zod_1.z.object({
8
+ minPages: zod_1.z.number(),
9
+ maxPages: zod_1.z.number(),
10
+ maxTopicLength: zod_1.z.number(),
11
+ documentTypes: zod_1.z.array(writer_document_type_schema_1.WriterDocumentTypeSchema),
12
+ aiOperations: zod_1.z.array(writer_ai_operation_schema_1.WriterAiOperationSchema),
13
+ });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WriterDocumentOutlineSchema = exports.WriterDocumentOutlineSectionSchema = exports.WriterDocumentOutlineSubsectionSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../../constants");
6
+ exports.WriterDocumentOutlineSubsectionSchema = zod_1.z.object({
7
+ title: zod_1.z
8
+ .string()
9
+ .min(3)
10
+ .max(120)
11
+ .describe(`Concise title of the subsection. Meant to elaborate on its parent section's title.`),
12
+ });
13
+ exports.WriterDocumentOutlineSectionSchema = zod_1.z.object({
14
+ title: zod_1.z.string().min(3).max(120).describe(`Concise title of the paper section.`),
15
+ type: zod_1.z.nativeEnum(constants_1.WRITER_DOCUMENT_SECTION_TYPE),
16
+ subsections: zod_1.z
17
+ .array(exports.WriterDocumentOutlineSubsectionSchema)
18
+ .optional()
19
+ .describe(`Subsections of the paper section. Each subsection is a single idea that is a part of the parent section.`),
20
+ });
21
+ exports.WriterDocumentOutlineSchema = zod_1.z.array(exports.WriterDocumentOutlineSectionSchema);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WriterDocumentTypeSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.WriterDocumentTypeSchema = zod_1.z.object({
6
+ uuid: zod_1.z.string().uuid(),
7
+ title: zod_1.z.string(),
8
+ icon: zod_1.z.string(),
9
+ order: zod_1.z.number(),
10
+ promptInstructions: zod_1.z.string().nullable(),
11
+ createdAt: zod_1.z.date(),
12
+ updatedAt: zod_1.z.date(),
13
+ });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WriterDocumentSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const writer_document_outline_schema_1 = require("./writer-document-outline.schema");
6
+ const constants_1 = require("../../../constants");
7
+ exports.WriterDocumentSchema = zod_1.z.object({
8
+ uuid: zod_1.z.string(),
9
+ prompt: zod_1.z.string(),
10
+ topic: zod_1.z.string(),
11
+ typeId: zod_1.z.string(),
12
+ stage: zod_1.z.nativeEnum(constants_1.WRITER_DOCUMENT_STAGE),
13
+ outline: writer_document_outline_schema_1.WriterDocumentOutlineSchema,
14
+ sourceMd: zod_1.z.string().nullable(),
15
+ finalMd: zod_1.z.string().nullable(),
16
+ userId: zod_1.z.string().nullable(),
17
+ unregisteredUserId: zod_1.z.string().nullable(),
18
+ createdAt: zod_1.z.date(),
19
+ updatedAt: zod_1.z.date(),
20
+ completedAt: zod_1.z.date().nullable(),
21
+ });
@@ -17,7 +17,6 @@ exports.UserSchema = zod_1.z.object({
17
17
  role: zod_1.z.string(),
18
18
  createdAt: zod_1.z.date(),
19
19
  updatedAt: zod_1.z.date(),
20
- deletedAt: zod_1.z.date().nullable(),
21
20
  });
22
21
  exports.UserAggregateSchema = zod_1.z.object({
23
22
  user: exports.UserSchema,
@@ -4,3 +4,4 @@ export * from './stt';
4
4
  export * from './tool';
5
5
  export * from './tts';
6
6
  export * from './video';
7
+ export * from './writer';
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { WriterDocumentSchema } from '../../../models';
3
+
4
+ export namespace CreateWriterDocumentCommand {
5
+ export const RequestSchema = z.object({
6
+ topic: z.string(),
7
+ numPages: z.number(),
8
+ documentTypeId: z.string(),
9
+ });
10
+ export type Request = z.infer<typeof RequestSchema>;
11
+
12
+ export const ResponseSchema = z.object({
13
+ data: WriterDocumentSchema,
14
+ });
15
+ export type Response = z.infer<typeof ResponseSchema>;
16
+ }
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace DeleteAllWriterDocumentsCommand {
4
+ export const ResponseSchema = z.void();
5
+ export type Response = z.infer<typeof ResponseSchema>;
6
+ }
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace DeleteWriterDocumentByUUIDCommand {
4
+ export const RequestParamsSchema = z.object({
5
+ uuid: z.string().uuid(),
6
+ });
7
+ export type RequestParams = z.infer<typeof RequestParamsSchema>;
8
+
9
+ export const ResponseSchema = z.void();
10
+ export type Response = z.infer<typeof ResponseSchema>;
11
+ }
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import { WriterDocumentSchema } from '../../../models';
3
+
4
+ export namespace FindWriterDocumentByUUIDCommand {
5
+ export const RequestParamsSchema = z.object({
6
+ uuid: z.string().uuid(),
7
+ });
8
+ export type RequestParams = z.infer<typeof RequestParamsSchema>;
9
+
10
+ export const ResponseSchema = z.object({
11
+ data: WriterDocumentSchema,
12
+ });
13
+ export type Response = z.infer<typeof ResponseSchema>;
14
+ }
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { WriterDocumentSchema } from '../../../models';
3
+
4
+ export namespace FindWriterDocumentsCommand {
5
+ export const RequestQuerySchema = z.object({
6
+ limit: z.coerce.number().min(1).optional(),
7
+ offset: z.coerce.number().min(0).default(0).optional(),
8
+ title: z.string().optional(),
9
+ });
10
+ export type RequestQuery = z.infer<typeof RequestQuerySchema>;
11
+
12
+ export const ResponseSchema = z.object({
13
+ data: z.array(WriterDocumentSchema),
14
+ totalPages: z.number(),
15
+ page: z.number(),
16
+ });
17
+ export type Response = z.infer<typeof ResponseSchema>;
18
+ }
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import { WriterDocumentSchema } from '../../../models';
3
+
4
+ export namespace GenerateWriterDocumentContentsCommand {
5
+ export const RequestParamsSchema = z.object({
6
+ uuid: z.string().uuid(),
7
+ });
8
+ export type RequestParams = z.infer<typeof RequestParamsSchema>;
9
+
10
+ export const ResponseSchema = z.object({
11
+ data: WriterDocumentSchema,
12
+ });
13
+ export type Response = z.infer<typeof ResponseSchema>;
14
+ }
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ import { WriterConfigSchema } from '../../../models';
3
+
4
+ export namespace GetWriterToolConfigCommand {
5
+ export const ResponseSchema = z.object({
6
+ data: WriterConfigSchema,
7
+ });
8
+
9
+ export type Response = z.infer<typeof ResponseSchema>;
10
+ }
@@ -0,0 +1,8 @@
1
+ export * from './get-writer-tool-config.command';
2
+ export * from './create-writer-document.command';
3
+ export * from './find-writer-document-by-uuid.command';
4
+ export * from './find-writer-documents.command';
5
+ export * from './generate-writer-document-contents.command';
6
+ export * from './update-writer-document-outline.command';
7
+ export * from './delete-writer-document-by-uuid.command';
8
+ export * from './delete-all-writer-documents.command';
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { WriterDocumentOutlineSchema, WriterDocumentOutlineSectionSchema } from '../../../models';
3
+
4
+ export namespace UpdateWriterDocumentOutlineCommand {
5
+ export const RequestBodySchema = z.object({
6
+ data: WriterDocumentOutlineSchema,
7
+ });
8
+ export type RequestBody = z.infer<typeof RequestBodySchema>;
9
+
10
+ export const RequestParamsSchema = z.object({
11
+ uuid: z.string().uuid(),
12
+ });
13
+ export type RequestParams = z.infer<typeof RequestParamsSchema>;
14
+
15
+ export const ResponseSchema = z.object({
16
+ data: z.array(WriterDocumentOutlineSectionSchema),
17
+ });
18
+ export type Response = z.infer<typeof ResponseSchema>;
19
+ }
@@ -41,7 +41,6 @@ export namespace FindUsersByCriteriaCommand {
41
41
 
42
42
  createdAt: DateFilter.optional(),
43
43
  updatedAt: DateFilter.optional(),
44
- deletedAt: DateFilter.optional(),
45
44
  tokenBonusBalance: NumberFilter.optional(),
46
45
 
47
46
  sortBy: z.nativeEnum(USER_SORT_BY).optional(),
@@ -7,4 +7,3 @@ export * from './get-user-balance.command';
7
7
  export * from './get-user-orders.command';
8
8
  export * from './get-user-subscriptions.command';
9
9
  export * from './get-user-products.command';
10
- export * from './delete-account.command';
@@ -1704,19 +1704,44 @@ export const ERRORS = {
1704
1704
  message: 'Ошибка при обновлении ежедневного стрика',
1705
1705
  httpCode: 500,
1706
1706
  },
1707
- ACCOUNT_DELETE_ERROR: {
1707
+ WRITER_CONFIG_ERROR: {
1708
1708
  code: 'A360',
1709
- message: 'Аккаунт не был удалён',
1709
+ message: 'Произошла ошибка при получении конфигурации Writer',
1710
1710
  httpCode: 500,
1711
1711
  },
1712
- ACCOUNT_DELETED: {
1712
+ WRITER_CREATE_DOCUMENT_ERROR: {
1713
1713
  code: 'A361',
1714
- message: 'Операция невозможна, аккаунт был удалён',
1715
- httpCode: 400,
1714
+ message: 'Произошла ошибка при создании документа',
1715
+ httpCode: 500,
1716
1716
  },
1717
- TELEGRAM_PROFILE_DELETE_ERROR: {
1717
+ WRITER_DOCUMENT_FIND_ERROR: {
1718
1718
  code: 'A362',
1719
- message: 'Произошла ошибка при удалении Telegram профиля',
1719
+ message: 'Произошла ошибка при поиске документа',
1720
+ httpCode: 500,
1721
+ },
1722
+ WRITER_DOCUMENTS_FIND_ERROR: {
1723
+ code: 'A363',
1724
+ message: 'Произошла ошибка при поиске документов',
1725
+ httpCode: 500,
1726
+ },
1727
+ WRITER_DELETE_DOCUMENT_ERROR: {
1728
+ code: 'A364',
1729
+ message: 'Произошла ошибка при удалении документа',
1730
+ httpCode: 500,
1731
+ },
1732
+ WRITER_DELETE_ALL_DOCUMENTS_ERROR: {
1733
+ code: 'A365',
1734
+ message: 'Произошла ошибка при удалении всех документов пользователя',
1735
+ httpCode: 500,
1736
+ },
1737
+ WRITER_UPDATE_DOCUMENT_OUTLINE_ERROR: {
1738
+ code: 'A366',
1739
+ message: 'Произошла ошибка при обновлении структуры документа',
1740
+ httpCode: 500,
1741
+ },
1742
+ WRITER_GENERATE_DOCUMENT_CONTENTS_ERROR: {
1743
+ code: 'A367',
1744
+ message: 'Произошла ошибка при генерации содержимого документа',
1720
1745
  httpCode: 500,
1721
1746
  },
1722
1747
  };
@@ -31,5 +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';
34
35
  export * from './feedback';
35
36
  export * from './daily-streak';
@@ -3,5 +3,4 @@ export enum USER_STATUS {
3
3
  INACTIVE = 'inactive',
4
4
  TG_AUTO_REGISTERED = 'tg_auto_registered',
5
5
  MERGED = 'merged',
6
- DELETED = 'deleted',
7
6
  }
@@ -0,0 +1,4 @@
1
+ export * from './writer-document-section-type.enum';
2
+ export * from './writer-document-stage.enum';
3
+ export * from './writer-ai-operation-pricing-type.enum';
4
+ export * from './writer-ai-operation-type.enum';
@@ -0,0 +1,4 @@
1
+ export enum WRITER_AI_OPERATION_PRICING_TYPE {
2
+ PER_CHARACTER = 'PER_CHARACTER',
3
+ FLAT = 'FLAT',
4
+ }
@@ -0,0 +1,5 @@
1
+ export enum WRITER_AI_OPERATION_TYPE {
2
+ PARAPHRASE = 'PARAPHRASE',
3
+ EXTEND_TEXT = 'EXTEND_TEXT',
4
+ GENERATE_TEXT = 'GENERATE_TEXT',
5
+ }
@@ -0,0 +1,5 @@
1
+ export enum WRITER_DOCUMENT_SECTION_TYPE {
2
+ INTRODUCTION = 'introduction',
3
+ CONCLUSION = 'conclusion',
4
+ SECTION = 'section',
5
+ }
@@ -0,0 +1,13 @@
1
+ export enum WRITER_DOCUMENT_STAGE {
2
+ CREATED = 'CREATED',
3
+
4
+ GENERATING_OUTLINE = 'GENERATING_OUTLINE',
5
+ OUTLINE_GENERATED = 'OUTLINE_GENERATED',
6
+ OUTLINE_GENERATION_FAILED = 'OUTLINE_GENERATION_FAILED',
7
+
8
+ GENERATING_CONTENT = 'GENERATING_CONTENT',
9
+ CONTENT_GENERATED = 'CONTENT_GENERATED',
10
+ CONTENT_GENERATION_FAILED = 'CONTENT_GENERATION_FAILED',
11
+
12
+ DELETED = 'DELETED',
13
+ }
@@ -0,0 +1 @@
1
+ export * from './enums';
@@ -3,3 +3,4 @@ export * from './paraphrase';
3
3
  export * from './stt';
4
4
  export * from './tts';
5
5
  export * from './video';
6
+ export * from './writer';
@@ -0,0 +1,5 @@
1
+ export * from './writer-config.schema';
2
+ export * from './writer-ai-operation.schema';
3
+ export * from './writer-document-outline.schema';
4
+ export * from './writer-document.schema';
5
+ export * from './writer-document-type.schema';
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ import { WRITER_AI_OPERATION_PRICING_TYPE, WRITER_AI_OPERATION_TYPE } from '../../../constants';
3
+
4
+ export const WriterAiOperationPricingRulesSchema = z.discriminatedUnion('type', [
5
+ z.object({
6
+ type: z.literal(WRITER_AI_OPERATION_PRICING_TYPE.PER_CHARACTER),
7
+ price: z.number(),
8
+ }),
9
+ z.object({
10
+ type: z.literal(WRITER_AI_OPERATION_PRICING_TYPE.FLAT),
11
+ price: z.number(),
12
+ }),
13
+ ]);
14
+
15
+ export const WriterAiOperationSchema = z.object({
16
+ uuid: z.string(),
17
+ type: z.nativeEnum(WRITER_AI_OPERATION_TYPE),
18
+ pricingRules: WriterAiOperationPricingRulesSchema,
19
+ maxPromptLength: z.number(),
20
+ title: z.string(),
21
+ icon: z.string(),
22
+ order: z.number(),
23
+ createdAt: z.date(),
24
+ updatedAt: z.date(),
25
+ });
26
+
27
+ export type WriterAIOperation = z.infer<typeof WriterAiOperationSchema>;
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ import { WriterDocumentTypeSchema } from './writer-document-type.schema';
3
+ import { WriterAiOperationSchema } from './writer-ai-operation.schema';
4
+
5
+ export const WriterConfigSchema = z.object({
6
+ minPages: z.number(),
7
+ maxPages: z.number(),
8
+ maxTopicLength: z.number(),
9
+ documentTypes: z.array(WriterDocumentTypeSchema),
10
+ aiOperations: z.array(WriterAiOperationSchema),
11
+ });
12
+
13
+ export type WriterConfig = z.infer<typeof WriterConfigSchema>;
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ import { WRITER_DOCUMENT_SECTION_TYPE } from '../../../constants';
3
+
4
+ export const WriterDocumentOutlineSubsectionSchema = z.object({
5
+ title: z
6
+ .string()
7
+ .min(3)
8
+ .max(120)
9
+ .describe(
10
+ `Concise title of the subsection. Meant to elaborate on its parent section's title.`,
11
+ ),
12
+ });
13
+ export type WriterDocumentOutlineSubsection = z.infer<typeof WriterDocumentOutlineSubsectionSchema>;
14
+
15
+ export const WriterDocumentOutlineSectionSchema = z.object({
16
+ title: z.string().min(3).max(120).describe(`Concise title of the paper section.`),
17
+ type: z.nativeEnum(WRITER_DOCUMENT_SECTION_TYPE),
18
+ subsections: z
19
+ .array(WriterDocumentOutlineSubsectionSchema)
20
+ .optional()
21
+ .describe(
22
+ `Subsections of the paper section. Each subsection is a single idea that is a part of the parent section.`,
23
+ ),
24
+ });
25
+
26
+ export const WriterDocumentOutlineSchema = z.array(WriterDocumentOutlineSectionSchema);
27
+
28
+ export type WriterDocumentOutline = z.infer<typeof WriterDocumentOutlineSchema>;
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+
3
+ export const WriterDocumentTypeSchema = z.object({
4
+ uuid: z.string().uuid(),
5
+ title: z.string(),
6
+ icon: z.string(),
7
+ order: z.number(),
8
+ promptInstructions: z.string().nullable(),
9
+ createdAt: z.date(),
10
+ updatedAt: z.date(),
11
+ });
12
+ export type WriterDocumentType = z.infer<typeof WriterDocumentTypeSchema>;
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import { WriterDocumentOutlineSchema } from './writer-document-outline.schema';
3
+ import { WRITER_DOCUMENT_STAGE } from '../../../constants';
4
+
5
+ export const WriterDocumentSchema = z.object({
6
+ uuid: z.string(),
7
+ prompt: z.string(),
8
+ topic: z.string(),
9
+ typeId: z.string(),
10
+ stage: z.nativeEnum(WRITER_DOCUMENT_STAGE),
11
+ outline: WriterDocumentOutlineSchema,
12
+ sourceMd: z.string().nullable(),
13
+ finalMd: z.string().nullable(),
14
+ userId: z.string().nullable(),
15
+ unregisteredUserId: z.string().nullable(),
16
+ createdAt: z.date(),
17
+ updatedAt: z.date(),
18
+ completedAt: z.date().nullable(),
19
+ });
20
+
21
+ export type WriterDocument = z.infer<typeof WriterDocumentSchema>;
@@ -16,7 +16,6 @@ export const UserSchema = z.object({
16
16
 
17
17
  createdAt: z.date(),
18
18
  updatedAt: z.date(),
19
- deletedAt: z.date().nullable(),
20
19
  });
21
20
 
22
21
  export const UserAggregateSchema = z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.7.28",
3
+ "version": "0.7.29",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeleteAccountCommand = void 0;
4
- const zod_1 = require("zod");
5
- var DeleteAccountCommand;
6
- (function (DeleteAccountCommand) {
7
- DeleteAccountCommand.ResponseSchema = zod_1.z.object({
8
- data: zod_1.z.object({
9
- isDeleted: zod_1.z.boolean(),
10
- }),
11
- });
12
- })(DeleteAccountCommand || (exports.DeleteAccountCommand = DeleteAccountCommand = {}));
@@ -1,13 +0,0 @@
1
- import { z } from 'zod';
2
-
3
- export namespace DeleteAccountCommand {
4
- export type Request = void;
5
-
6
- export const ResponseSchema = z.object({
7
- data: z.object({
8
- isDeleted: z.boolean(),
9
- }),
10
- });
11
-
12
- export type Response = z.infer<typeof ResponseSchema>;
13
- }