@purpleschool/gptbot 0.5.85 → 0.5.87

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/routes.ts CHANGED
@@ -69,9 +69,9 @@ export const REST_API = {
69
69
  FIND_BY_UUID: (uuid: string): string =>
70
70
  `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.FIND_BY_UUID}/${uuid}`,
71
71
  SEND_TEXT_MESSAGE: (uuid: string) =>
72
- `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_TEXT_MESSAGE(uuid)}`,
72
+ `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_TEXT_MESSAGE}/${uuid}`,
73
73
  SEND_IMAGE_MESSAGE: (uuid: string) =>
74
- `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_IMAGE_MESSAGE(uuid)}`,
74
+ `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_IMAGE_MESSAGE}/${uuid}`,
75
75
  ARCHIVE: `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.ARCHIVE}`,
76
76
  DELETE: (uuid: string) => `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
77
77
  UPDATE: (uuid: string) => `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
@@ -96,8 +96,8 @@ exports.REST_API = {
96
96
  CREATE: `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.CREATE}`,
97
97
  FIND_MANY: `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.FIND_MANY}`,
98
98
  FIND_BY_UUID: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.FIND_BY_UUID}/${uuid}`,
99
- SEND_TEXT_MESSAGE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_TEXT_MESSAGE(uuid)}`,
100
- SEND_IMAGE_MESSAGE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_IMAGE_MESSAGE(uuid)}`,
99
+ SEND_TEXT_MESSAGE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_TEXT_MESSAGE}/${uuid}`,
100
+ SEND_IMAGE_MESSAGE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_IMAGE_MESSAGE}/${uuid}`,
101
101
  ARCHIVE: `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.ARCHIVE}`,
102
102
  DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
103
103
  UPDATE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
@@ -9,6 +9,8 @@ var GetChatsConfigCommand;
9
9
  maxFileAttachments: zod_1.z.number(),
10
10
  imageAttachmentCost: zod_1.z.number(),
11
11
  imagePollingInterval: zod_1.z.number(),
12
+ isWebSearchAvailable: zod_1.z.boolean(),
13
+ isAttachmentAvailable: zod_1.z.boolean(),
12
14
  }),
13
15
  });
14
16
  })(GetChatsConfigCommand || (exports.GetChatsConfigCommand = GetChatsConfigCommand = {}));
@@ -32,7 +32,7 @@ var ReceiptCommand;
32
32
  try {
33
33
  return JSON.parse(str);
34
34
  }
35
- catch (e) {
35
+ catch (_a) {
36
36
  ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });
37
37
  return zod_1.z.NEVER;
38
38
  }
@@ -9,4 +9,6 @@ exports.EMAIL_SUBJECTS = {
9
9
  PRODUCT_PURCHASE: 'Спасибо за покупку тарифа',
10
10
  RECURRENT_PAYMENT_FAILED: 'Важно: Не удалось получить оплату по подписке',
11
11
  SUBSCRIPTION_RENEWAL_REMINDER: 'Продление подписки',
12
+ RESTORE_PASSWORD: 'Восстановление пароля',
13
+ FAST_REGISTRATION: 'Быстрая регистрация',
12
14
  };
@@ -1149,4 +1149,14 @@ exports.ERRORS = {
1149
1149
  message: 'ИИ модель не поддерживает поиск в интернете',
1150
1150
  httpCode: 400,
1151
1151
  },
1152
+ WEB_SEARCH_NOT_AVAILABLE_TO_USER: {
1153
+ code: 'A251',
1154
+ message: 'Поиск в интернете не доступен данному пользователю',
1155
+ httpCode: 403,
1156
+ },
1157
+ CHAT_FILE_ATTACHMENT_NOT_ALLOWED: {
1158
+ code: 'A252',
1159
+ message: 'Незарегистрированный юзер не может прикреплять файлы',
1160
+ httpCode: 400,
1161
+ },
1152
1162
  };
@@ -7,4 +7,5 @@ var SUBSCRIPTION_FEATURE_TYPE;
7
7
  SUBSCRIPTION_FEATURE_TYPE["AI_MODEL_ACCESS"] = "ai_model_access";
8
8
  SUBSCRIPTION_FEATURE_TYPE["MAX_INPUT_LENGTH"] = "max_input_length";
9
9
  SUBSCRIPTION_FEATURE_TYPE["INFO"] = "info";
10
+ SUBSCRIPTION_FEATURE_TYPE["WEB_SEARCH"] = "web_search";
10
11
  })(SUBSCRIPTION_FEATURE_TYPE || (exports.SUBSCRIPTION_FEATURE_TYPE = SUBSCRIPTION_FEATURE_TYPE = {}));
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubscriptionFeatureSchema = exports.MaxInputLengthFeatureSchema = exports.RequestsQuotaFeatureSchema = exports.AiModelAccessFeatureSchema = exports.SubscriptionFeatureBaseSchema = void 0;
3
+ exports.SubscriptionFeatureSchema = exports.WebSearchFeatureSchema = exports.MaxInputLengthFeatureSchema = exports.RequestsQuotaFeatureSchema = exports.AiModelAccessFeatureSchema = exports.SubscriptionFeatureBaseSchema = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const zod_1 = require("zod");
6
6
  exports.SubscriptionFeatureBaseSchema = zod_1.z.object({
@@ -38,8 +38,12 @@ exports.MaxInputLengthFeatureSchema = exports.SubscriptionFeatureBaseSchema.exte
38
38
  maxInputLength: zod_1.z.number(),
39
39
  }),
40
40
  });
41
+ exports.WebSearchFeatureSchema = exports.SubscriptionFeatureBaseSchema.extend({
42
+ type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.WEB_SEARCH),
43
+ });
41
44
  exports.SubscriptionFeatureSchema = zod_1.z.union([
42
45
  exports.AiModelAccessFeatureSchema,
43
46
  exports.RequestsQuotaFeatureSchema,
44
47
  exports.MaxInputLengthFeatureSchema,
48
+ exports.WebSearchFeatureSchema,
45
49
  ]);
@@ -6,6 +6,8 @@ export namespace GetChatsConfigCommand {
6
6
  maxFileAttachments: z.number(),
7
7
  imageAttachmentCost: z.number(),
8
8
  imagePollingInterval: z.number(),
9
+ isWebSearchAvailable: z.boolean(),
10
+ isAttachmentAvailable: z.boolean(),
9
11
  }),
10
12
  });
11
13
 
@@ -28,7 +28,7 @@ export namespace ReceiptCommand {
28
28
  .transform((str, ctx) => {
29
29
  try {
30
30
  return JSON.parse(str);
31
- } catch (e) {
31
+ } catch {
32
32
  ctx.addIssue({ code: 'custom', message: 'Invalid JSON' });
33
33
  return z.NEVER;
34
34
  }
@@ -6,4 +6,6 @@ export const EMAIL_SUBJECTS = {
6
6
  PRODUCT_PURCHASE: 'Спасибо за покупку тарифа',
7
7
  RECURRENT_PAYMENT_FAILED: 'Важно: Не удалось получить оплату по подписке',
8
8
  SUBSCRIPTION_RENEWAL_REMINDER: 'Продление подписки',
9
+ RESTORE_PASSWORD: 'Восстановление пароля',
10
+ FAST_REGISTRATION: 'Быстрая регистрация',
9
11
  };
@@ -1155,4 +1155,14 @@ export const ERRORS = {
1155
1155
  message: 'ИИ модель не поддерживает поиск в интернете',
1156
1156
  httpCode: 400,
1157
1157
  },
1158
+ WEB_SEARCH_NOT_AVAILABLE_TO_USER: {
1159
+ code: 'A251',
1160
+ message: 'Поиск в интернете не доступен данному пользователю',
1161
+ httpCode: 403,
1162
+ },
1163
+ CHAT_FILE_ATTACHMENT_NOT_ALLOWED: {
1164
+ code: 'A252',
1165
+ message: 'Незарегистрированный юзер не может прикреплять файлы',
1166
+ httpCode: 400,
1167
+ },
1158
1168
  };
@@ -3,4 +3,5 @@ export enum SUBSCRIPTION_FEATURE_TYPE {
3
3
  AI_MODEL_ACCESS = 'ai_model_access',
4
4
  MAX_INPUT_LENGTH = 'max_input_length',
5
5
  INFO = 'info',
6
+ WEB_SEARCH = 'web_search',
6
7
  }
@@ -40,10 +40,15 @@ export const MaxInputLengthFeatureSchema = SubscriptionFeatureBaseSchema.extend(
40
40
  }),
41
41
  });
42
42
 
43
+ export const WebSearchFeatureSchema = SubscriptionFeatureBaseSchema.extend({
44
+ type: z.literal(SUBSCRIPTION_FEATURE_TYPE.WEB_SEARCH),
45
+ });
46
+
43
47
  export const SubscriptionFeatureSchema = z.union([
44
48
  AiModelAccessFeatureSchema,
45
49
  RequestsQuotaFeatureSchema,
46
50
  MaxInputLengthFeatureSchema,
51
+ WebSearchFeatureSchema,
47
52
  ]);
48
53
 
49
54
  export type SubscriptionFeature = z.infer<typeof SubscriptionFeatureSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.5.85",
3
+ "version": "0.5.87",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",