@purpleschool/gptbot 0.7.39 → 0.7.40-texteditor
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.
- package/api/controllers/http/index.ts +1 -0
- package/api/controllers/http/subscription.ts +2 -0
- package/api/controllers/http/writer.ts +20 -0
- package/api/routes.ts +4 -0
- package/build/api/controllers/http/index.js +1 -0
- package/build/api/controllers/http/subscription.js +2 -0
- package/build/api/controllers/http/writer.js +22 -0
- package/build/api/routes.js +2 -0
- package/build/commands/subscription/downgrade-subscription.command.js +44 -0
- package/build/commands/subscription/index.js +1 -0
- package/build/commands/tools/index.js +1 -0
- package/build/commands/tools/writer/create-writer-document.command.js +16 -0
- package/build/commands/tools/writer/delete-all-writer-documents.command.js +8 -0
- package/build/commands/tools/writer/delete-writer-document-by-uuid.command.js +11 -0
- package/build/commands/tools/writer/export-writer-document-as-docx.command.js +15 -0
- package/build/commands/tools/writer/find-writer-document-by-uuid.command.js +14 -0
- package/build/commands/tools/writer/find-writer-documents.command.js +18 -0
- package/build/commands/tools/writer/generate-writer-document-contents.command.js +14 -0
- package/build/commands/tools/writer/get-writer-tool-config.command.js +11 -0
- package/build/commands/tools/writer/index.js +31 -0
- package/build/commands/tools/writer/update-writer-document-contents.command.js +18 -0
- package/build/commands/tools/writer/update-writer-document-outline.command.js +17 -0
- package/build/commands/tools/writer/writer-extend-text.command.js +18 -0
- package/build/commands/tools/writer/writer-fix-errors.command.js +18 -0
- package/build/commands/tools/writer/writer-generate-text.command.js +21 -0
- package/build/commands/tools/writer/writer-paraphrase.command.js +18 -0
- package/build/commands/tools/writer/writer-shorten-text.command.js +18 -0
- package/build/constants/errors/errors.js +117 -27
- package/build/constants/index.js +1 -0
- package/build/constants/order/enums/order-type.enum.js +1 -0
- package/build/constants/subscription/enums/subscription-action.enum.js +1 -0
- package/build/constants/subscription/enums/subscription-status.enum.js +3 -0
- package/build/constants/writer/enums/index.js +20 -0
- package/build/constants/writer/enums/writer-ai-action-pricing-type.enum.js +8 -0
- package/build/constants/writer/enums/writer-ai-action-type.enum.js +11 -0
- package/build/constants/writer/enums/writer-document-section-type.enum.js +9 -0
- package/build/constants/writer/enums/writer-document-stage.enum.js +14 -0
- package/build/constants/writer/index.js +17 -0
- package/build/helpers/index.js +1 -0
- package/build/helpers/writer/calculate-page-count.util.js +37 -0
- package/build/helpers/writer/calculate-writer-ai-action-price.util.js +16 -0
- package/build/helpers/writer/calculate-writer-content-generation-price.util.js +6 -0
- package/build/helpers/writer/index.js +19 -0
- package/build/models/tools/index.js +1 -0
- package/build/models/tools/writer/index.js +21 -0
- package/build/models/tools/writer/writer-ai-action.schema.js +26 -0
- package/build/models/tools/writer/writer-config.schema.js +11 -0
- package/build/models/tools/writer/writer-document-outline.schema.js +21 -0
- package/build/models/tools/writer/writer-document-type.schema.js +16 -0
- package/build/models/tools/writer/writer-document.schema.js +22 -0
- package/build/models/user-to-subscription.schema.js +1 -0
- package/commands/subscription/downgrade-subscription.command.ts +50 -0
- package/commands/subscription/index.ts +1 -0
- package/commands/tools/index.ts +1 -0
- package/commands/tools/writer/create-writer-document.command.ts +16 -0
- package/commands/tools/writer/delete-all-writer-documents.command.ts +6 -0
- package/commands/tools/writer/delete-writer-document-by-uuid.command.ts +11 -0
- package/commands/tools/writer/export-writer-document-as-docx.command.ts +15 -0
- package/commands/tools/writer/find-writer-document-by-uuid.command.ts +14 -0
- package/commands/tools/writer/find-writer-documents.command.ts +18 -0
- package/commands/tools/writer/generate-writer-document-contents.command.ts +14 -0
- package/commands/tools/writer/get-writer-tool-config.command.ts +10 -0
- package/commands/tools/writer/index.ts +15 -0
- package/commands/tools/writer/update-writer-document-contents.command.ts +20 -0
- package/commands/tools/writer/update-writer-document-outline.command.ts +19 -0
- package/commands/tools/writer/writer-extend-text.command.ts +20 -0
- package/commands/tools/writer/writer-fix-errors.command.ts +20 -0
- package/commands/tools/writer/writer-generate-text.command.ts +23 -0
- package/commands/tools/writer/writer-paraphrase.command.ts +20 -0
- package/commands/tools/writer/writer-shorten-text.command.ts +20 -0
- package/constants/errors/errors.ts +117 -27
- package/constants/index.ts +1 -0
- package/constants/order/enums/order-type.enum.ts +1 -0
- package/constants/subscription/enums/subscription-action.enum.ts +1 -0
- package/constants/subscription/enums/subscription-status.enum.ts +3 -0
- package/constants/writer/enums/index.ts +4 -0
- package/constants/writer/enums/writer-ai-action-pricing-type.enum.ts +4 -0
- package/constants/writer/enums/writer-ai-action-type.enum.ts +7 -0
- package/constants/writer/enums/writer-document-section-type.enum.ts +5 -0
- package/constants/writer/enums/writer-document-stage.enum.ts +13 -0
- package/constants/writer/index.ts +1 -0
- package/helpers/index.ts +1 -0
- package/helpers/writer/calculate-page-count.util.ts +46 -0
- package/helpers/writer/calculate-writer-ai-action-price.util.ts +20 -0
- package/helpers/writer/calculate-writer-content-generation-price.util.ts +3 -0
- package/helpers/writer/index.ts +3 -0
- package/models/tools/index.ts +1 -0
- package/models/tools/writer/index.ts +5 -0
- package/models/tools/writer/writer-ai-action.schema.ts +27 -0
- package/models/tools/writer/writer-config.schema.ts +10 -0
- package/models/tools/writer/writer-document-outline.schema.ts +28 -0
- package/models/tools/writer/writer-document-type.schema.ts +15 -0
- package/models/tools/writer/writer-document.schema.ts +21 -0
- package/models/user-to-subscription.schema.ts +1 -0
- package/package.json +1 -1
|
@@ -1707,118 +1707,208 @@ exports.ERRORS = {
|
|
|
1707
1707
|
httpCode: 500,
|
|
1708
1708
|
},
|
|
1709
1709
|
DAILY_REWARD_COLLECT_ERROR: {
|
|
1710
|
-
code: '
|
|
1710
|
+
code: 'A362',
|
|
1711
1711
|
message: 'Ошибка при получении ежедневной награды',
|
|
1712
1712
|
httpCode: 500,
|
|
1713
1713
|
},
|
|
1714
1714
|
DAILY_STREAK_CREATE_ERROR: {
|
|
1715
|
-
code: '
|
|
1715
|
+
code: 'A363',
|
|
1716
1716
|
message: 'Ошибка при создании ежедневного стрика',
|
|
1717
1717
|
httpCode: 500,
|
|
1718
1718
|
},
|
|
1719
1719
|
DAILY_STREAK_FIND_ERROR: {
|
|
1720
|
-
code: '
|
|
1720
|
+
code: 'A364',
|
|
1721
1721
|
message: 'Ошибка при поиске ежедневного стрика',
|
|
1722
1722
|
httpCode: 500,
|
|
1723
1723
|
},
|
|
1724
1724
|
DAILY_STREAK_PROMOCODE_ALREADY_EXISTS_ERROR: {
|
|
1725
|
-
code: '
|
|
1725
|
+
code: 'A365',
|
|
1726
1726
|
message: 'Промокод для ежедневного стрика уже существует',
|
|
1727
1727
|
httpCode: 409,
|
|
1728
1728
|
},
|
|
1729
1729
|
DAILY_REWARD_NOT_READY_ERROR: {
|
|
1730
|
-
code: '
|
|
1730
|
+
code: 'A366',
|
|
1731
1731
|
message: 'Запрашиваемая награда ещё недоступна для получения',
|
|
1732
1732
|
httpCode: 429,
|
|
1733
1733
|
},
|
|
1734
1734
|
DAILY_REWARD_ALREADY_COLLECTED_ERROR: {
|
|
1735
|
-
code: '
|
|
1735
|
+
code: 'A367',
|
|
1736
1736
|
message: 'Запрашиваемая награда уже получена',
|
|
1737
1737
|
httpCode: 429,
|
|
1738
1738
|
},
|
|
1739
1739
|
DAILY_STREAK_UPDATE_ERROR: {
|
|
1740
|
-
code: '
|
|
1740
|
+
code: 'A368',
|
|
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
|
+
},
|
|
1744
1784
|
ACCOUNT_DELETE_ERROR: {
|
|
1745
|
-
code: '
|
|
1785
|
+
code: 'A377',
|
|
1746
1786
|
message: 'Аккаунт не был удалён',
|
|
1747
1787
|
httpCode: 500,
|
|
1748
1788
|
},
|
|
1749
1789
|
ACCOUNT_DELETED: {
|
|
1750
|
-
code: '
|
|
1790
|
+
code: 'A378',
|
|
1751
1791
|
message: 'Операция невозможна, аккаунт был удалён',
|
|
1752
1792
|
httpCode: 400,
|
|
1753
1793
|
},
|
|
1754
|
-
TELEGRAM_PROFILE_DELETE_ERROR: {
|
|
1755
|
-
code: 'A362',
|
|
1756
|
-
message: 'Произошла ошибка при удалении Telegram профиля',
|
|
1757
|
-
httpCode: 500,
|
|
1758
|
-
},
|
|
1759
1794
|
TOOL_NOT_FOUND_ERROR: {
|
|
1760
|
-
code: '
|
|
1795
|
+
code: 'A379',
|
|
1761
1796
|
message: 'Инструмент не найден',
|
|
1762
1797
|
httpCode: 404,
|
|
1763
1798
|
},
|
|
1799
|
+
TELEGRAM_PROFILE_DELETE_ERROR: {
|
|
1800
|
+
code: 'A380',
|
|
1801
|
+
message: 'Произошла ошибка при удалении Telegram профиля',
|
|
1802
|
+
httpCode: 500,
|
|
1803
|
+
},
|
|
1764
1804
|
ORDER_CHECK_FIRST_PURCHASE_ERROR: {
|
|
1765
|
-
code: '
|
|
1805
|
+
code: 'A381',
|
|
1766
1806
|
message: 'Произошла ошибка при проверке первой покупки',
|
|
1767
1807
|
httpCode: 500,
|
|
1768
1808
|
},
|
|
1769
1809
|
ORDER_CURRENT_ORDER_NOT_FOUND_ERROR: {
|
|
1770
|
-
code: '
|
|
1810
|
+
code: 'A382',
|
|
1771
1811
|
message: 'Текущий заказ не найден',
|
|
1772
1812
|
httpCode: 404,
|
|
1773
1813
|
},
|
|
1774
1814
|
ORDER_GET_USER_ORDERS_ERROR: {
|
|
1775
|
-
code: '
|
|
1815
|
+
code: 'A383',
|
|
1776
1816
|
message: 'Произошла ошибка при получении заказов пользователя',
|
|
1777
1817
|
httpCode: 500,
|
|
1778
1818
|
},
|
|
1779
1819
|
ORDER_NO_SUBSCRIPTION_ID_OR_PRODUCT_ID_PROVIDED_ERROR: {
|
|
1780
|
-
code: '
|
|
1820
|
+
code: 'A384',
|
|
1781
1821
|
message: 'Не указан subscriptionId или productId',
|
|
1782
1822
|
httpCode: 400,
|
|
1783
1823
|
},
|
|
1784
1824
|
FILE_TO_MD_FORMAT_ERROR: {
|
|
1785
|
-
code: '
|
|
1825
|
+
code: 'A385',
|
|
1786
1826
|
message: 'Неверный формат файла, варианты: .xlsx, .docx, .pdf',
|
|
1787
1827
|
httpCode: 400,
|
|
1788
1828
|
},
|
|
1789
1829
|
FILE_TO_MD_ERROR: {
|
|
1790
|
-
code: '
|
|
1830
|
+
code: 'A386',
|
|
1791
1831
|
message: 'Произошла ошибка при конвертации файла в markdown',
|
|
1792
1832
|
httpCode: 500,
|
|
1793
1833
|
},
|
|
1794
1834
|
FILE_TO_MD_CONVERT_ERROR: {
|
|
1795
|
-
code: '
|
|
1835
|
+
code: 'A387',
|
|
1796
1836
|
message: 'Не получилось конвертировать файл в markdown, возможно файл пуст, поврежден или невалиден',
|
|
1797
1837
|
httpCode: 400,
|
|
1798
1838
|
},
|
|
1799
1839
|
IMAGE_EDITOR_MODEL_INACTIVE: {
|
|
1800
|
-
code: '
|
|
1840
|
+
code: 'A388',
|
|
1801
1841
|
message: 'Модель редактирования картинок архивирована и недоступна для пользования',
|
|
1802
1842
|
httpCode: 403,
|
|
1803
1843
|
},
|
|
1804
1844
|
TTS_MODEL_INACTIVE: {
|
|
1805
|
-
code: '
|
|
1845
|
+
code: 'A389',
|
|
1806
1846
|
message: 'Модель генерации текста в голос архивирована и недоступна для пользования',
|
|
1807
1847
|
httpCode: 403,
|
|
1808
1848
|
},
|
|
1809
1849
|
STT_MODEL_INACTIVE: {
|
|
1810
|
-
code: '
|
|
1850
|
+
code: 'A390',
|
|
1811
1851
|
message: 'Модель генерации голоса в текст архивирована и недоступна для пользования',
|
|
1812
1852
|
httpCode: 403,
|
|
1813
1853
|
},
|
|
1814
1854
|
VIDEO_MODEL_INACTIVE: {
|
|
1815
|
-
code: '
|
|
1855
|
+
code: 'A391',
|
|
1816
1856
|
message: 'Модель генерации видео архивирована и недоступна для пользования',
|
|
1817
1857
|
httpCode: 403,
|
|
1818
1858
|
},
|
|
1819
1859
|
PDF_TO_MD_CONVERT_ERROR: {
|
|
1820
|
-
code: '
|
|
1860
|
+
code: 'A392',
|
|
1821
1861
|
message: 'Не получилось конвертировать pdf в markdown, возможно вы прикрепили скан или картинку, не имеющую текста',
|
|
1822
1862
|
httpCode: 400,
|
|
1823
1863
|
},
|
|
1864
|
+
SUBSCRIPTION_DOWNGRADE_INVALID: {
|
|
1865
|
+
code: 'A393',
|
|
1866
|
+
message: 'Невозможно понизить подписку до указанного уровня',
|
|
1867
|
+
httpCode: 400,
|
|
1868
|
+
},
|
|
1869
|
+
SUBSCRIPTION_DOWNGRADE_ERROR: {
|
|
1870
|
+
code: 'A394',
|
|
1871
|
+
message: 'Не удалось понизить подписку',
|
|
1872
|
+
httpCode: 500,
|
|
1873
|
+
},
|
|
1874
|
+
SUBSCRIPTIONS_GET_DOWNGRADE_ERROR: {
|
|
1875
|
+
code: 'A395',
|
|
1876
|
+
message: 'Не удалось получить список возможных понижений для подписок',
|
|
1877
|
+
httpCode: 500,
|
|
1878
|
+
},
|
|
1879
|
+
WRITER_PARAPHRASE_ERROR: {
|
|
1880
|
+
code: 'A396',
|
|
1881
|
+
message: 'Произошла ошибка при перефразировании текста',
|
|
1882
|
+
httpCode: 500,
|
|
1883
|
+
},
|
|
1884
|
+
WRITER_EXTEND_TEXT_ERROR: {
|
|
1885
|
+
code: 'A397',
|
|
1886
|
+
message: 'Произошла ошибка при расширении текста',
|
|
1887
|
+
httpCode: 500,
|
|
1888
|
+
},
|
|
1889
|
+
WRITER_SHORTEN_TEXT_ERROR: {
|
|
1890
|
+
code: 'A398',
|
|
1891
|
+
message: 'Произошла ошибка при сокращении текста',
|
|
1892
|
+
httpCode: 500,
|
|
1893
|
+
},
|
|
1894
|
+
WRITER_FIX_ERRORS_ERROR: {
|
|
1895
|
+
code: 'A399',
|
|
1896
|
+
message: 'Произошла ошибка при исправлении ошибок в тексте',
|
|
1897
|
+
httpCode: 500,
|
|
1898
|
+
},
|
|
1899
|
+
WRITER_UPDATE_DOCUMENT_CONTENTS_ERROR: {
|
|
1900
|
+
code: 'A400',
|
|
1901
|
+
message: 'Произошла ошибка при обновлении содержимого документа',
|
|
1902
|
+
httpCode: 500,
|
|
1903
|
+
},
|
|
1904
|
+
WRITER_GENERATE_TEXT_ERROR: {
|
|
1905
|
+
code: 'A401',
|
|
1906
|
+
message: 'Произошла ошибка при генерации текста',
|
|
1907
|
+
httpCode: 500,
|
|
1908
|
+
},
|
|
1909
|
+
WRITER_EXPORT_DOCX_ERROR: {
|
|
1910
|
+
code: 'A402',
|
|
1911
|
+
message: 'Произошла ошибка при экспорте документа в DOCX',
|
|
1912
|
+
httpCode: 500,
|
|
1913
|
+
},
|
|
1824
1914
|
};
|
package/build/constants/index.js
CHANGED
|
@@ -47,6 +47,7 @@ __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("./tool-image-editor"), exports);
|
|
51
52
|
__exportStar(require("./feedback"), exports);
|
|
52
53
|
__exportStar(require("./daily-streak"), exports);
|
|
@@ -7,4 +7,5 @@ var SUBSCRIPTION_ACTION;
|
|
|
7
7
|
SUBSCRIPTION_ACTION["buy"] = "buy";
|
|
8
8
|
SUBSCRIPTION_ACTION["upgrade"] = "upgrade";
|
|
9
9
|
SUBSCRIPTION_ACTION["possible_upgrade"] = "possible_upgrade";
|
|
10
|
+
SUBSCRIPTION_ACTION["downgrade"] = "downgrade";
|
|
10
11
|
})(SUBSCRIPTION_ACTION || (exports.SUBSCRIPTION_ACTION = SUBSCRIPTION_ACTION = {}));
|
|
@@ -9,4 +9,7 @@ var SUBSCRIPTION_STATUS;
|
|
|
9
9
|
SUBSCRIPTION_STATUS["upgraded"] = "upgraded";
|
|
10
10
|
SUBSCRIPTION_STATUS["rejected"] = "rejected";
|
|
11
11
|
SUBSCRIPTION_STATUS["past_due"] = "past_due";
|
|
12
|
+
SUBSCRIPTION_STATUS["downgraded"] = "downgraded";
|
|
13
|
+
SUBSCRIPTION_STATUS["awaiting_activation"] = "awaiting_activation";
|
|
14
|
+
SUBSCRIPTION_STATUS["awaiting_downgrade"] = "awaiting_downgrade";
|
|
12
15
|
})(SUBSCRIPTION_STATUS || (exports.SUBSCRIPTION_STATUS = SUBSCRIPTION_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-action-pricing-type.enum"), exports);
|
|
20
|
+
__exportStar(require("./writer-ai-action-type.enum"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WRITER_AI_ACTION_PRICING_TYPE = void 0;
|
|
4
|
+
var WRITER_AI_ACTION_PRICING_TYPE;
|
|
5
|
+
(function (WRITER_AI_ACTION_PRICING_TYPE) {
|
|
6
|
+
WRITER_AI_ACTION_PRICING_TYPE["PER_CHARACTER"] = "PER_CHARACTER";
|
|
7
|
+
WRITER_AI_ACTION_PRICING_TYPE["FLAT"] = "FLAT";
|
|
8
|
+
})(WRITER_AI_ACTION_PRICING_TYPE || (exports.WRITER_AI_ACTION_PRICING_TYPE = WRITER_AI_ACTION_PRICING_TYPE = {}));
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WRITER_AI_ACTION_TYPE = void 0;
|
|
4
|
+
var WRITER_AI_ACTION_TYPE;
|
|
5
|
+
(function (WRITER_AI_ACTION_TYPE) {
|
|
6
|
+
WRITER_AI_ACTION_TYPE["PARAPHRASE"] = "PARAPHRASE";
|
|
7
|
+
WRITER_AI_ACTION_TYPE["EXTEND_TEXT"] = "EXTEND_TEXT";
|
|
8
|
+
WRITER_AI_ACTION_TYPE["SHORTEN_TEXT"] = "SHORTEN_TEXT";
|
|
9
|
+
WRITER_AI_ACTION_TYPE["GENERATE_TEXT"] = "GENERATE_TEXT";
|
|
10
|
+
WRITER_AI_ACTION_TYPE["FIX_ERRORS"] = "FIX_ERRORS";
|
|
11
|
+
})(WRITER_AI_ACTION_TYPE || (exports.WRITER_AI_ACTION_TYPE = WRITER_AI_ACTION_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);
|
package/build/helpers/index.js
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CHARACTERS_PER_PAGE = void 0;
|
|
4
|
+
exports.pagesToCharacters = pagesToCharacters;
|
|
5
|
+
exports.charactersToPages = charactersToPages;
|
|
6
|
+
const WORD_FONT_SIZE_PT = 14;
|
|
7
|
+
const WORD_LINE_SPACING = 1.5;
|
|
8
|
+
const A4_WIDTH_MM = 210;
|
|
9
|
+
const A4_HEIGHT_MM = 297;
|
|
10
|
+
const MARGIN_TOP_MM = 20;
|
|
11
|
+
const MARGIN_BOTTOM_MM = 20;
|
|
12
|
+
const MARGIN_LEFT_MM = 30;
|
|
13
|
+
const MARGIN_RIGHT_MM = 10;
|
|
14
|
+
const FIRST_LINE_INDENT_MM = 12.5;
|
|
15
|
+
const MM_PER_POINT = 0.3527777778;
|
|
16
|
+
const TEXT_WIDTH_MM = A4_WIDTH_MM - MARGIN_LEFT_MM - MARGIN_RIGHT_MM;
|
|
17
|
+
const TEXT_HEIGHT_MM = A4_HEIGHT_MM - MARGIN_TOP_MM - MARGIN_BOTTOM_MM;
|
|
18
|
+
const LINE_HEIGHT_MM = WORD_FONT_SIZE_PT * WORD_LINE_SPACING * MM_PER_POINT;
|
|
19
|
+
const LINES_PER_PAGE = Math.floor(TEXT_HEIGHT_MM / LINE_HEIGHT_MM);
|
|
20
|
+
const AVG_CHAR_WIDTH_EM = 0.58;
|
|
21
|
+
const AVG_CHAR_WIDTH_MM = WORD_FONT_SIZE_PT * AVG_CHAR_WIDTH_EM * MM_PER_POINT;
|
|
22
|
+
const CHARS_PER_LINE = Math.floor(TEXT_WIDTH_MM / AVG_CHAR_WIDTH_MM);
|
|
23
|
+
const AVG_PARAGRAPHS_PER_PAGE = 4; // average paragraph count across typical student papers
|
|
24
|
+
const INDENT_CHARS_LOSS = Math.round((FIRST_LINE_INDENT_MM / AVG_CHAR_WIDTH_MM) * AVG_PARAGRAPHS_PER_PAGE);
|
|
25
|
+
const LAYOUT_FUDGE_FACTOR = 0.96;
|
|
26
|
+
exports.CHARACTERS_PER_PAGE = Math.round((LINES_PER_PAGE * CHARS_PER_LINE - INDENT_CHARS_LOSS) * LAYOUT_FUDGE_FACTOR);
|
|
27
|
+
function pagesToCharacters(pages) {
|
|
28
|
+
if (!Number.isFinite(pages) || pages <= 0)
|
|
29
|
+
return 0;
|
|
30
|
+
return Math.max(0, Math.round(pages * exports.CHARACTERS_PER_PAGE));
|
|
31
|
+
}
|
|
32
|
+
function charactersToPages(characters) {
|
|
33
|
+
if (!Number.isFinite(characters) || characters <= 0)
|
|
34
|
+
return 0;
|
|
35
|
+
const raw = characters / exports.CHARACTERS_PER_PAGE;
|
|
36
|
+
return Math.max(0, Math.ceil(raw));
|
|
37
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateWriterAiActionPrice = calculateWriterAiActionPrice;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
function calculateWriterAiActionPrice(pricingRules, selectionText) {
|
|
6
|
+
switch (pricingRules.type) {
|
|
7
|
+
case constants_1.WRITER_AI_ACTION_PRICING_TYPE.PER_CHARACTER:
|
|
8
|
+
const characterCount = selectionText.length;
|
|
9
|
+
const price = characterCount * pricingRules.price;
|
|
10
|
+
return Math.max(1, Math.ceil(price));
|
|
11
|
+
case constants_1.WRITER_AI_ACTION_PRICING_TYPE.FLAT:
|
|
12
|
+
return Math.max(1, Math.ceil(pricingRules.price));
|
|
13
|
+
default:
|
|
14
|
+
throw new Error(`Unknown pricing type`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./calculate-writer-ai-action-price.util"), exports);
|
|
18
|
+
__exportStar(require("./calculate-writer-content-generation-price.util"), exports);
|
|
19
|
+
__exportStar(require("./calculate-page-count.util"), exports);
|
|
@@ -19,4 +19,5 @@ __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);
|
|
22
23
|
__exportStar(require("./image-editor"), 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-action.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.WriterAiActionSchema = exports.WriterAiActionPricingRulesSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../../constants");
|
|
6
|
+
exports.WriterAiActionPricingRulesSchema = zod_1.z.discriminatedUnion('type', [
|
|
7
|
+
zod_1.z.object({
|
|
8
|
+
type: zod_1.z.literal(constants_1.WRITER_AI_ACTION_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_ACTION_PRICING_TYPE.FLAT),
|
|
13
|
+
price: zod_1.z.number(),
|
|
14
|
+
}),
|
|
15
|
+
]);
|
|
16
|
+
exports.WriterAiActionSchema = zod_1.z.object({
|
|
17
|
+
uuid: zod_1.z.string(),
|
|
18
|
+
type: zod_1.z.nativeEnum(constants_1.WRITER_AI_ACTION_TYPE),
|
|
19
|
+
pricingRules: exports.WriterAiActionPricingRulesSchema,
|
|
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,11 @@
|
|
|
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_action_schema_1 = require("./writer-ai-action.schema");
|
|
7
|
+
exports.WriterConfigSchema = zod_1.z.object({
|
|
8
|
+
maxPromptLength: zod_1.z.number(),
|
|
9
|
+
documentTypes: zod_1.z.array(writer_document_type_schema_1.WriterDocumentTypeSchema),
|
|
10
|
+
aiActions: zod_1.z.array(writer_ai_action_schema_1.WriterAiActionSchema),
|
|
11
|
+
});
|
|
@@ -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,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WriterDocumentTypeSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const icon_variants_schema_1 = require("../../icon-variants.schema");
|
|
6
|
+
exports.WriterDocumentTypeSchema = zod_1.z.object({
|
|
7
|
+
uuid: zod_1.z.string().uuid(),
|
|
8
|
+
title: zod_1.z.string(),
|
|
9
|
+
icons: icon_variants_schema_1.IconVariantsSchema,
|
|
10
|
+
order: zod_1.z.number(),
|
|
11
|
+
minPages: zod_1.z.number(),
|
|
12
|
+
maxPages: zod_1.z.number(),
|
|
13
|
+
pageRange: zod_1.z.array(zod_1.z.number()),
|
|
14
|
+
createdAt: zod_1.z.date(),
|
|
15
|
+
updatedAt: zod_1.z.date(),
|
|
16
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
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().uuid(),
|
|
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
|
+
pages: zod_1.z.number(),
|
|
19
|
+
createdAt: zod_1.z.date(),
|
|
20
|
+
updatedAt: zod_1.z.date(),
|
|
21
|
+
completedAt: zod_1.z.date().nullable(),
|
|
22
|
+
});
|
|
@@ -11,6 +11,7 @@ exports.UserToSubscriptionSchema = zod_1.z.object({
|
|
|
11
11
|
active: zod_1.z.boolean(),
|
|
12
12
|
tokenBalance: zod_1.z.number(),
|
|
13
13
|
status: zod_1.z.string(),
|
|
14
|
+
startDate: zod_1.z.date().nullable(),
|
|
14
15
|
endDate: zod_1.z.date().nullable(),
|
|
15
16
|
marks: zod_1.z.array(zod_1.z.string()),
|
|
16
17
|
intervalEndDate: zod_1.z.date().nullable(),
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { UserToSubscriptionSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace DowngradeSubscriptionCommand {
|
|
5
|
+
export const RequestSchema = z.object({
|
|
6
|
+
downgradeSubscriptionId: z.string().uuid(),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export const RequestParamSchema = UserToSubscriptionSchema.pick({
|
|
10
|
+
uuid: true,
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
14
|
+
|
|
15
|
+
const IReceiptOrderSchema = z.object({
|
|
16
|
+
items: z.array(
|
|
17
|
+
z.object({
|
|
18
|
+
label: z.string(),
|
|
19
|
+
price: z.number(),
|
|
20
|
+
quantity: z.number(),
|
|
21
|
+
amount: z.number(),
|
|
22
|
+
vat: z.number(),
|
|
23
|
+
}),
|
|
24
|
+
),
|
|
25
|
+
email: z.string(),
|
|
26
|
+
isBso: z.boolean(),
|
|
27
|
+
amounts: z.object({
|
|
28
|
+
electronic: z.number(),
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
export const ResponseSchema = z.object({
|
|
33
|
+
publicId: z.string(),
|
|
34
|
+
amount: z.number(),
|
|
35
|
+
currency: z.string(),
|
|
36
|
+
accountId: z.string(),
|
|
37
|
+
description: z.string(),
|
|
38
|
+
invoiceId: z.string(),
|
|
39
|
+
email: z.string(),
|
|
40
|
+
skin: z.string(),
|
|
41
|
+
autoClose: z.number(),
|
|
42
|
+
data: z.object({
|
|
43
|
+
CloudPayments: z.object({
|
|
44
|
+
CustomerReceipt: IReceiptOrderSchema,
|
|
45
|
+
}),
|
|
46
|
+
}),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
50
|
+
}
|