@purpleschool/gptbot 0.9.18 → 0.9.19-stage-2
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/subscription.ts +1 -1
- package/api/routes.ts +1 -2
- package/build/api/controllers/http/subscription.js +1 -1
- package/build/api/routes.js +1 -2
- package/build/commands/cabinet/get-user-statistics-by-month.command.js +4 -1
- package/build/commands/chat/create-chat.command.js +0 -1
- package/build/commands/chat/get-last-active-chat-command.js +0 -1
- package/build/commands/message/create-text-message.command.js +1 -0
- package/build/commands/subscription/index.js +0 -1
- package/build/constants/ai-model/enums/ai-model-content-type.enum.js +5 -4
- package/build/constants/model/enums/unified-model-content-type.enum.js +0 -1
- package/build/constants/subscription/enums/subscription-feature-type.enum.js +2 -1
- package/build/models/ai-model.schema.js +1 -1
- package/build/models/chat.schema.js +1 -1
- package/build/models/message.schema.js +1 -0
- package/build/models/prompt.schema.js +0 -2
- package/build/models/subscription-feature.schema.js +11 -2
- package/commands/cabinet/get-user-statistics-by-month.command.ts +4 -2
- package/commands/chat/create-chat.command.ts +0 -1
- package/commands/chat/get-last-active-chat-command.ts +0 -1
- package/commands/message/create-text-message.command.ts +1 -0
- package/commands/subscription/index.ts +0 -1
- package/constants/ai-model/enums/ai-model-content-type.enum.ts +4 -7
- package/constants/cabinet/enums/index.ts +1 -1
- package/constants/cabinet/enums/statistics-metric-type.enum.ts +3 -3
- package/constants/model/enums/unified-model-content-type.enum.ts +0 -1
- package/constants/subscription/enums/subscription-feature-type.enum.ts +2 -1
- package/models/ai-model.schema.ts +2 -7
- package/models/chat.schema.ts +1 -1
- package/models/message.schema.ts +1 -0
- package/models/prompt.schema.ts +0 -2
- package/models/subscription-feature.schema.ts +12 -1
- package/package.json +1 -1
- package/build/commands/subscription/create-custom-subscription-plan.command.js +0 -24
- package/commands/subscription/create-custom-subscription-plan.command.ts +0 -26
|
@@ -5,6 +5,7 @@ export const SUBSCRIPTION_PUBLIC_CONTROLLER = 'subscription/public' as const;
|
|
|
5
5
|
export const SUBSCRIPTION_ROUTES = {
|
|
6
6
|
FIND_BY_UUID: 'by/uuid',
|
|
7
7
|
GET_ALL: 'all',
|
|
8
|
+
CUSTOM_ALL: 'custom/all',
|
|
8
9
|
BUY: (uuid: string) => `${uuid}/buy`,
|
|
9
10
|
FAST_BUY: 'fast/buy',
|
|
10
11
|
GET_MY: 'my',
|
|
@@ -14,7 +15,6 @@ export const SUBSCRIPTION_ROUTES = {
|
|
|
14
15
|
GET_AVAILABLE_DOWNGRADES: 'available-downgrades',
|
|
15
16
|
UPGRADE: 'upgrade',
|
|
16
17
|
DOWNGRADE: 'downgrade',
|
|
17
|
-
CREATE_CUSTOM: 'custom',
|
|
18
18
|
FREE: 'free',
|
|
19
19
|
SUMMARY: 'summary',
|
|
20
20
|
RECOVER_PAST_DUE: (uuid: string) => `${uuid}/recover-past-due`,
|
package/api/routes.ts
CHANGED
|
@@ -151,12 +151,12 @@ export const REST_API = {
|
|
|
151
151
|
},
|
|
152
152
|
SUBSCRIPTION_PUBLIC: {
|
|
153
153
|
GET: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
|
|
154
|
+
CUSTOM_ALL: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CUSTOM_ALL}`,
|
|
154
155
|
GET_BY_UUID: (uuid: string): string =>
|
|
155
156
|
`${ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.FIND_BY_UUID}/${uuid}`,
|
|
156
157
|
FAST_BUY: (uuid: string) =>
|
|
157
158
|
`${ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.FAST_BUY}/${uuid}`,
|
|
158
159
|
FREE: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.FREE}`,
|
|
159
|
-
CREATE_CUSTOM: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CREATE_CUSTOM}`,
|
|
160
160
|
},
|
|
161
161
|
SUBSCRIPTION_PRIVATE: {
|
|
162
162
|
GET: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
|
|
@@ -176,7 +176,6 @@ export const REST_API = {
|
|
|
176
176
|
`${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.DOWNGRADE}`,
|
|
177
177
|
GET_AVAILABLE_UPGRADES: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_UPGRADES}`,
|
|
178
178
|
GET_AVAILABLE_DOWNGRADES: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_DOWNGRADES}`,
|
|
179
|
-
CREATE_CUSTOM: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CREATE_CUSTOM}`,
|
|
180
179
|
SUMMARY: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.SUMMARY}`,
|
|
181
180
|
RECOVER_PAST_DUE: (uuid: string) =>
|
|
182
181
|
`${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.RECOVER_PAST_DUE(uuid)}`,
|
|
@@ -6,6 +6,7 @@ exports.SUBSCRIPTION_PUBLIC_CONTROLLER = 'subscription/public';
|
|
|
6
6
|
exports.SUBSCRIPTION_ROUTES = {
|
|
7
7
|
FIND_BY_UUID: 'by/uuid',
|
|
8
8
|
GET_ALL: 'all',
|
|
9
|
+
CUSTOM_ALL: 'custom/all',
|
|
9
10
|
BUY: (uuid) => `${uuid}/buy`,
|
|
10
11
|
FAST_BUY: 'fast/buy',
|
|
11
12
|
GET_MY: 'my',
|
|
@@ -15,7 +16,6 @@ exports.SUBSCRIPTION_ROUTES = {
|
|
|
15
16
|
GET_AVAILABLE_DOWNGRADES: 'available-downgrades',
|
|
16
17
|
UPGRADE: 'upgrade',
|
|
17
18
|
DOWNGRADE: 'downgrade',
|
|
18
|
-
CREATE_CUSTOM: 'custom',
|
|
19
19
|
FREE: 'free',
|
|
20
20
|
SUMMARY: 'summary',
|
|
21
21
|
RECOVER_PAST_DUE: (uuid) => `${uuid}/recover-past-due`,
|
package/build/api/routes.js
CHANGED
|
@@ -159,10 +159,10 @@ exports.REST_API = {
|
|
|
159
159
|
},
|
|
160
160
|
SUBSCRIPTION_PUBLIC: {
|
|
161
161
|
GET: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
|
|
162
|
+
CUSTOM_ALL: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CUSTOM_ALL}`,
|
|
162
163
|
GET_BY_UUID: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.FIND_BY_UUID}/${uuid}`,
|
|
163
164
|
FAST_BUY: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.FAST_BUY}/${uuid}`,
|
|
164
165
|
FREE: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.FREE}`,
|
|
165
|
-
CREATE_CUSTOM: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CREATE_CUSTOM}`,
|
|
166
166
|
},
|
|
167
167
|
SUBSCRIPTION_PRIVATE: {
|
|
168
168
|
GET: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
|
|
@@ -177,7 +177,6 @@ exports.REST_API = {
|
|
|
177
177
|
DOWNGRADE: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.DOWNGRADE}`,
|
|
178
178
|
GET_AVAILABLE_UPGRADES: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_UPGRADES}`,
|
|
179
179
|
GET_AVAILABLE_DOWNGRADES: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_DOWNGRADES}`,
|
|
180
|
-
CREATE_CUSTOM: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CREATE_CUSTOM}`,
|
|
181
180
|
SUMMARY: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.SUMMARY}`,
|
|
182
181
|
RECOVER_PAST_DUE: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.RECOVER_PAST_DUE(uuid)}`,
|
|
183
182
|
REFUND: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.REFUND(uuid)}`,
|
|
@@ -7,7 +7,10 @@ var GetUserStatisticsByMonthCommand;
|
|
|
7
7
|
(function (GetUserStatisticsByMonthCommand) {
|
|
8
8
|
GetUserStatisticsByMonthCommand.RequestSchema = zod_1.z.object({
|
|
9
9
|
origin: zod_1.z.nativeEnum(constants_1.JOB_REQUEST_ORIGIN).default(constants_1.JOB_REQUEST_ORIGIN.API).optional(),
|
|
10
|
-
metric: zod_1.z
|
|
10
|
+
metric: zod_1.z
|
|
11
|
+
.nativeEnum(constants_1.STATISTICS_METRIC_TYPE)
|
|
12
|
+
.default(constants_1.STATISTICS_METRIC_TYPE.REQUESTS)
|
|
13
|
+
.optional(),
|
|
11
14
|
});
|
|
12
15
|
GetUserStatisticsByMonthCommand.UserStatisticsByMonthResponseSchema = zod_1.z.object({
|
|
13
16
|
month: zod_1.z.string(),
|
|
@@ -7,7 +7,6 @@ var GetLastActiveChatCommand;
|
|
|
7
7
|
(function (GetLastActiveChatCommand) {
|
|
8
8
|
GetLastActiveChatCommand.RequestQuerySchema = models_1.ChatSchema.pick({
|
|
9
9
|
categoryId: true,
|
|
10
|
-
aIModelId: true,
|
|
11
10
|
});
|
|
12
11
|
GetLastActiveChatCommand.Response = zod_1.z.object({
|
|
13
12
|
data: models_1.ChatWithMessagesSchema,
|
|
@@ -10,6 +10,7 @@ var CreateTextMessageCommand;
|
|
|
10
10
|
text: zod_1.z.string(),
|
|
11
11
|
files: zod_1.z.array(zod_1.z.string().uuid()).optional().default([]),
|
|
12
12
|
features: zod_1.z.array(zod_1.z.nativeEnum(constants_1.AI_MODEL_FEATURE)).optional().default([]),
|
|
13
|
+
aiModelId: zod_1.z.string().uuid(),
|
|
13
14
|
});
|
|
14
15
|
CreateTextMessageCommand.RequestParamSchema = models_1.ChatSchema.pick({
|
|
15
16
|
uuid: true,
|
|
@@ -16,7 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./buy-subscription.command"), exports);
|
|
18
18
|
__exportStar(require("./cancel-subscription.command"), exports);
|
|
19
|
-
__exportStar(require("./create-custom-subscription-plan.command"), exports);
|
|
20
19
|
__exportStar(require("./create-subscription.command"), exports);
|
|
21
20
|
__exportStar(require("./delete-subscription.command"), exports);
|
|
22
21
|
__exportStar(require("./find-subscription.command"), exports);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AI_MODEL_CONTENT_TYPE = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
var AI_MODEL_CONTENT_TYPE;
|
|
5
|
+
(function (AI_MODEL_CONTENT_TYPE) {
|
|
6
|
+
AI_MODEL_CONTENT_TYPE["TEXT"] = "TEXT";
|
|
7
|
+
AI_MODEL_CONTENT_TYPE["IMAGE"] = "IMAGE";
|
|
8
|
+
})(AI_MODEL_CONTENT_TYPE || (exports.AI_MODEL_CONTENT_TYPE = AI_MODEL_CONTENT_TYPE = {}));
|
|
@@ -5,7 +5,6 @@ var UNIFIED_MODEL_CONTENT_TYPE;
|
|
|
5
5
|
(function (UNIFIED_MODEL_CONTENT_TYPE) {
|
|
6
6
|
// AI Model types
|
|
7
7
|
UNIFIED_MODEL_CONTENT_TYPE["TEXT"] = "TEXT";
|
|
8
|
-
UNIFIED_MODEL_CONTENT_TYPE["IMAGE"] = "IMAGE";
|
|
9
8
|
// Tool types
|
|
10
9
|
UNIFIED_MODEL_CONTENT_TYPE["IMAGE_EDITOR"] = "IMAGE_EDITOR";
|
|
11
10
|
UNIFIED_MODEL_CONTENT_TYPE["TEXT_TO_SPEECH"] = "TEXT_TO_SPEECH";
|
|
@@ -11,6 +11,7 @@ var SUBSCRIPTION_FEATURE_TYPE;
|
|
|
11
11
|
SUBSCRIPTION_FEATURE_TYPE["ADVANCED_TOOLS_ACCESS"] = "advanced_tools_access";
|
|
12
12
|
SUBSCRIPTION_FEATURE_TYPE["STT_MODEL_ACCESS"] = "stt_model_access";
|
|
13
13
|
SUBSCRIPTION_FEATURE_TYPE["TTS_MODEL_ACCESS"] = "tts_model_access";
|
|
14
|
+
SUBSCRIPTION_FEATURE_TYPE["IMAGE_GENERATION_ACCESS"] = "image_generation_access";
|
|
14
15
|
SUBSCRIPTION_FEATURE_TYPE["IMAGE_GENERATION_QUOTA"] = "image_generation_quota";
|
|
15
16
|
SUBSCRIPTION_FEATURE_TYPE["TTS_QUOTA"] = "tts_quota";
|
|
16
17
|
SUBSCRIPTION_FEATURE_TYPE["STT_QUOTA"] = "stt_quota";
|
|
@@ -33,7 +34,7 @@ var SUBSCRIPTION_FEATURE_KIND;
|
|
|
33
34
|
(function (SUBSCRIPTION_FEATURE_KIND) {
|
|
34
35
|
SUBSCRIPTION_FEATURE_KIND["TEXT"] = "text";
|
|
35
36
|
SUBSCRIPTION_FEATURE_KIND["AI_MODEL"] = "ai_model";
|
|
36
|
-
SUBSCRIPTION_FEATURE_KIND["
|
|
37
|
+
SUBSCRIPTION_FEATURE_KIND["IMAGE_GENERATION"] = "image_generation";
|
|
37
38
|
SUBSCRIPTION_FEATURE_KIND["TTS"] = "tts";
|
|
38
39
|
SUBSCRIPTION_FEATURE_KIND["STT"] = "stt";
|
|
39
40
|
SUBSCRIPTION_FEATURE_KIND["PRESENTATIONS"] = "presentations";
|
|
@@ -15,7 +15,7 @@ exports.AiModelSchema = zod_1.z.object({
|
|
|
15
15
|
order: zod_1.z.number(),
|
|
16
16
|
canUse: zod_1.z.optional(zod_1.z.boolean()),
|
|
17
17
|
status: zod_1.z.nativeEnum(constants_1.AI_MODEL_STATUS),
|
|
18
|
-
contentType: zod_1.z.
|
|
18
|
+
contentType: zod_1.z.nativeEnum(constants_1.AI_MODEL_CONTENT_TYPE),
|
|
19
19
|
features: zod_1.z.array(zod_1.z.nativeEnum(constants_1.AI_MODEL_FEATURE)),
|
|
20
20
|
iconVariants: zod_1.z.object({
|
|
21
21
|
light: zod_1.z.object({
|
|
@@ -8,7 +8,7 @@ exports.ChatSchema = zod_1.z.object({
|
|
|
8
8
|
userId: zod_1.z.nullable(zod_1.z.string().uuid()),
|
|
9
9
|
unregisteredUserId: zod_1.z.nullable(zod_1.z.string().uuid()),
|
|
10
10
|
categoryId: zod_1.z.string().uuid(),
|
|
11
|
-
aIModelId: zod_1.z.string().uuid(),
|
|
11
|
+
aIModelId: zod_1.z.string().uuid().nullable(),
|
|
12
12
|
title: zod_1.z.string(),
|
|
13
13
|
chatStatus: zod_1.z.enum(Object.values(constants_1.CHAT_STATUS_ENUM)),
|
|
14
14
|
folderId: zod_1.z.string().nullable(),
|
|
@@ -9,6 +9,7 @@ exports.MessageSchema = zod_1.z.object({
|
|
|
9
9
|
text: zod_1.z.string().max(10000),
|
|
10
10
|
chatId: zod_1.z.nullable(zod_1.z.string().uuid()),
|
|
11
11
|
role: zod_1.z.string(),
|
|
12
|
+
aiModelId: zod_1.z.string().nullable(),
|
|
12
13
|
tokenUsage: zod_1.z.number(),
|
|
13
14
|
userReaction: zod_1.z.nativeEnum(constants_1.USER_REACTION).nullable(),
|
|
14
15
|
files: zod_1.z.array(file_schema_1.FileSchema),
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PromptSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
5
|
exports.PromptSchema = zod_1.z.object({
|
|
7
6
|
uuid: zod_1.z.string().uuid(),
|
|
8
7
|
content: zod_1.z.string(),
|
|
9
|
-
type: zod_1.z.nativeEnum(constants_1.AI_MODEL_CONTENT_TYPE),
|
|
10
8
|
topicId: zod_1.z.string().uuid().nullable(),
|
|
11
9
|
title: zod_1.z.string().nullable(),
|
|
12
10
|
createdAt: zod_1.z.date(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SubscriptionFeatureSchema = exports.InteriorDesignModelAccessFeatureSchema = exports.InteriorDesignQuotaFeatureSchema = exports.ImageEditorModelAccessFeatureSchema = exports.ImageEditorQuotaFeatureSchema = exports.WriterModelAccessFeatureSchema = exports.WriterQuotaFeatureSchema = exports.MusicModelAccessFeatureSchema = exports.MusicQuotaFeatureSchema = exports.PresentationQuotaFeatureSchema = exports.VideoModelAccessFeatureSchema = exports.VideoQuotaFeatureSchema = exports.STTQuotaFeatureSchema = exports.STTModelAccessFeatureSchema = exports.TTSQuotaFeatureSchema = exports.ImageGenerationQuotaFeatureSchema = exports.TtsModelAccessFeatureSchema = exports.AdvancedToolsAccessFeatureSchema = exports.WebSearchFeatureSchema = exports.ExtendedContextFeatureSchema = exports.MaxInputLengthFeatureSchema = exports.RequestsQuotaFeatureSchema = exports.AiModelAccessFeatureSchema = exports.CarryoverBalanceFeatureSchema = exports.TokensFeatureSchema = exports.SubscriptionFeatureBaseSchema = void 0;
|
|
3
|
+
exports.SubscriptionFeatureSchema = exports.InteriorDesignModelAccessFeatureSchema = exports.InteriorDesignQuotaFeatureSchema = exports.ImageEditorModelAccessFeatureSchema = exports.ImageEditorQuotaFeatureSchema = exports.WriterModelAccessFeatureSchema = exports.WriterQuotaFeatureSchema = exports.MusicModelAccessFeatureSchema = exports.MusicQuotaFeatureSchema = exports.PresentationQuotaFeatureSchema = exports.VideoModelAccessFeatureSchema = exports.VideoQuotaFeatureSchema = exports.STTQuotaFeatureSchema = exports.STTModelAccessFeatureSchema = exports.TTSQuotaFeatureSchema = exports.ImageGenerationQuotaFeatureSchema = exports.TtsModelAccessFeatureSchema = exports.AdvancedToolsAccessFeatureSchema = exports.WebSearchFeatureSchema = exports.ExtendedContextFeatureSchema = exports.MaxInputLengthFeatureSchema = exports.RequestsQuotaFeatureSchema = exports.ImageGenerationAccessFeatureSchema = exports.AiModelAccessFeatureSchema = exports.CarryoverBalanceFeatureSchema = exports.TokensFeatureSchema = 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({
|
|
@@ -40,6 +40,14 @@ exports.AiModelAccessFeatureSchema = exports.SubscriptionFeatureBaseSchema.exten
|
|
|
40
40
|
isAvailable: zod_1.z.boolean(),
|
|
41
41
|
maxInputLength: zod_1.z.number(),
|
|
42
42
|
});
|
|
43
|
+
exports.ImageGenerationAccessFeatureSchema = exports.SubscriptionFeatureBaseSchema.extend({
|
|
44
|
+
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.IMAGE_GENERATION_ACCESS),
|
|
45
|
+
kind: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_KIND.IMAGE_GENERATION),
|
|
46
|
+
order: zod_1.z.number(),
|
|
47
|
+
modelId: zod_1.z.string(),
|
|
48
|
+
isAvailable: zod_1.z.boolean(),
|
|
49
|
+
maxInputLength: zod_1.z.number(),
|
|
50
|
+
});
|
|
43
51
|
exports.RequestsQuotaFeatureSchema = exports.SubscriptionFeatureBaseSchema.extend({
|
|
44
52
|
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.TEXT_GENERATION_QUOTA),
|
|
45
53
|
kind: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_KIND.TEXT),
|
|
@@ -74,7 +82,7 @@ exports.TtsModelAccessFeatureSchema = exports.SubscriptionFeatureBaseSchema.exte
|
|
|
74
82
|
modelId: zod_1.z.string(),
|
|
75
83
|
});
|
|
76
84
|
exports.ImageGenerationQuotaFeatureSchema = exports.SubscriptionFeatureBaseSchema.extend({
|
|
77
|
-
kind: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_KIND.
|
|
85
|
+
kind: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_KIND.IMAGE_GENERATION),
|
|
78
86
|
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.IMAGE_GENERATION_QUOTA),
|
|
79
87
|
value: zod_1.z.number(),
|
|
80
88
|
});
|
|
@@ -179,4 +187,5 @@ exports.SubscriptionFeatureSchema = zod_1.z.union([
|
|
|
179
187
|
exports.ImageEditorModelAccessFeatureSchema,
|
|
180
188
|
exports.InteriorDesignQuotaFeatureSchema,
|
|
181
189
|
exports.InteriorDesignModelAccessFeatureSchema,
|
|
190
|
+
exports.ImageGenerationAccessFeatureSchema,
|
|
182
191
|
]);
|
|
@@ -2,10 +2,12 @@ import { z } from 'zod';
|
|
|
2
2
|
import { JOB_REQUEST_ORIGIN, STATISTICS_METRIC_TYPE } from '../../constants';
|
|
3
3
|
|
|
4
4
|
export namespace GetUserStatisticsByMonthCommand {
|
|
5
|
-
|
|
6
5
|
export const RequestSchema = z.object({
|
|
7
6
|
origin: z.nativeEnum(JOB_REQUEST_ORIGIN).default(JOB_REQUEST_ORIGIN.API).optional(),
|
|
8
|
-
metric: z
|
|
7
|
+
metric: z
|
|
8
|
+
.nativeEnum(STATISTICS_METRIC_TYPE)
|
|
9
|
+
.default(STATISTICS_METRIC_TYPE.REQUESTS)
|
|
10
|
+
.optional(),
|
|
9
11
|
});
|
|
10
12
|
|
|
11
13
|
export type Request = z.infer<typeof RequestSchema>;
|
|
@@ -7,6 +7,7 @@ export namespace CreateTextMessageCommand {
|
|
|
7
7
|
text: z.string(),
|
|
8
8
|
files: z.array(z.string().uuid()).optional().default([]),
|
|
9
9
|
features: z.array(z.nativeEnum(AI_MODEL_FEATURE)).optional().default([]),
|
|
10
|
+
aiModelId: z.string().uuid(),
|
|
10
11
|
});
|
|
11
12
|
|
|
12
13
|
export const RequestParamSchema = ChatSchema.pick({
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export * from './buy-subscription.command';
|
|
2
2
|
export * from './cancel-subscription.command';
|
|
3
|
-
export * from './create-custom-subscription-plan.command';
|
|
4
3
|
export * from './create-subscription.command';
|
|
5
4
|
export * from './delete-subscription.command';
|
|
6
5
|
export * from './find-subscription.command';
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
TEXT
|
|
3
|
-
IMAGE
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export type TAIModelContentTypeEnum =
|
|
7
|
-
(typeof AI_MODEL_CONTENT_TYPE)[keyof typeof AI_MODEL_CONTENT_TYPE];
|
|
1
|
+
export enum AI_MODEL_CONTENT_TYPE {
|
|
2
|
+
TEXT = 'TEXT',
|
|
3
|
+
IMAGE = 'IMAGE',
|
|
4
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './group-by.enum';
|
|
2
|
-
export * from './statistics-metric-type.enum';
|
|
2
|
+
export * from './statistics-metric-type.enum';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export enum STATISTICS_METRIC_TYPE {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
2
|
+
REQUESTS = 'requests',
|
|
3
|
+
TOKENS = 'tokens',
|
|
4
|
+
}
|
|
@@ -7,6 +7,7 @@ export enum SUBSCRIPTION_FEATURE_TYPE {
|
|
|
7
7
|
ADVANCED_TOOLS_ACCESS = 'advanced_tools_access',
|
|
8
8
|
STT_MODEL_ACCESS = 'stt_model_access',
|
|
9
9
|
TTS_MODEL_ACCESS = 'tts_model_access',
|
|
10
|
+
IMAGE_GENERATION_ACCESS = 'image_generation_access',
|
|
10
11
|
IMAGE_GENERATION_QUOTA = 'image_generation_quota',
|
|
11
12
|
TTS_QUOTA = 'tts_quota',
|
|
12
13
|
STT_QUOTA = 'stt_quota',
|
|
@@ -29,7 +30,7 @@ export enum SUBSCRIPTION_FEATURE_TYPE {
|
|
|
29
30
|
export enum SUBSCRIPTION_FEATURE_KIND {
|
|
30
31
|
TEXT = 'text',
|
|
31
32
|
AI_MODEL = 'ai_model',
|
|
32
|
-
|
|
33
|
+
IMAGE_GENERATION = 'image_generation',
|
|
33
34
|
TTS = 'tts',
|
|
34
35
|
STT = 'stt',
|
|
35
36
|
PRESENTATIONS = 'presentations',
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
AI_MODEL_CONTENT_TYPE,
|
|
4
|
-
AI_MODEL_FEATURE,
|
|
5
|
-
AI_MODEL_STATUS,
|
|
6
|
-
TAIModelContentTypeEnum,
|
|
7
|
-
} from '../constants';
|
|
2
|
+
import { AI_MODEL_CONTENT_TYPE, AI_MODEL_FEATURE, AI_MODEL_STATUS } from '../constants';
|
|
8
3
|
import { AiModelConfigSchema } from './ai-model-config.schema';
|
|
9
4
|
|
|
10
5
|
export const AiModelSchema = z.object({
|
|
@@ -18,7 +13,7 @@ export const AiModelSchema = z.object({
|
|
|
18
13
|
order: z.number(),
|
|
19
14
|
canUse: z.optional(z.boolean()),
|
|
20
15
|
status: z.nativeEnum(AI_MODEL_STATUS),
|
|
21
|
-
contentType: z.
|
|
16
|
+
contentType: z.nativeEnum(AI_MODEL_CONTENT_TYPE),
|
|
22
17
|
features: z.array(z.nativeEnum(AI_MODEL_FEATURE)),
|
|
23
18
|
iconVariants: z.object({
|
|
24
19
|
light: z.object({
|
package/models/chat.schema.ts
CHANGED
|
@@ -6,7 +6,7 @@ export const ChatSchema = z.object({
|
|
|
6
6
|
userId: z.nullable(z.string().uuid()),
|
|
7
7
|
unregisteredUserId: z.nullable(z.string().uuid()),
|
|
8
8
|
categoryId: z.string().uuid(),
|
|
9
|
-
aIModelId: z.string().uuid(),
|
|
9
|
+
aIModelId: z.string().uuid().nullable(),
|
|
10
10
|
title: z.string(),
|
|
11
11
|
chatStatus: z.enum(Object.values(CHAT_STATUS_ENUM) as [TChatStatusEnum]),
|
|
12
12
|
folderId: z.string().nullable(),
|
package/models/message.schema.ts
CHANGED
|
@@ -7,6 +7,7 @@ export const MessageSchema = z.object({
|
|
|
7
7
|
text: z.string().max(10000),
|
|
8
8
|
chatId: z.nullable(z.string().uuid()),
|
|
9
9
|
role: z.string(),
|
|
10
|
+
aiModelId: z.string().nullable(),
|
|
10
11
|
tokenUsage: z.number(),
|
|
11
12
|
userReaction: z.nativeEnum(USER_REACTION).nullable(),
|
|
12
13
|
files: z.array(FileSchema),
|
package/models/prompt.schema.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { AI_MODEL_CONTENT_TYPE } from '../constants';
|
|
3
2
|
|
|
4
3
|
export const PromptSchema = z.object({
|
|
5
4
|
uuid: z.string().uuid(),
|
|
6
5
|
content: z.string(),
|
|
7
|
-
type: z.nativeEnum(AI_MODEL_CONTENT_TYPE),
|
|
8
6
|
topicId: z.string().uuid().nullable(),
|
|
9
7
|
title: z.string().nullable(),
|
|
10
8
|
|
|
@@ -51,6 +51,16 @@ export const AiModelAccessFeatureSchema = SubscriptionFeatureBaseSchema.extend({
|
|
|
51
51
|
});
|
|
52
52
|
export type AiModelAccessFeature = z.infer<typeof AiModelAccessFeatureSchema>;
|
|
53
53
|
|
|
54
|
+
export const ImageGenerationAccessFeatureSchema = SubscriptionFeatureBaseSchema.extend({
|
|
55
|
+
type: z.literal(SUBSCRIPTION_FEATURE_TYPE.IMAGE_GENERATION_ACCESS),
|
|
56
|
+
kind: z.literal(SUBSCRIPTION_FEATURE_KIND.IMAGE_GENERATION),
|
|
57
|
+
order: z.number(),
|
|
58
|
+
modelId: z.string(),
|
|
59
|
+
isAvailable: z.boolean(),
|
|
60
|
+
maxInputLength: z.number(),
|
|
61
|
+
});
|
|
62
|
+
export type ImageGenerationAccessFeature = z.infer<typeof ImageGenerationAccessFeatureSchema>;
|
|
63
|
+
|
|
54
64
|
export const RequestsQuotaFeatureSchema = SubscriptionFeatureBaseSchema.extend({
|
|
55
65
|
type: z.literal(SUBSCRIPTION_FEATURE_TYPE.TEXT_GENERATION_QUOTA),
|
|
56
66
|
kind: z.literal(SUBSCRIPTION_FEATURE_KIND.TEXT),
|
|
@@ -97,7 +107,7 @@ export const TtsModelAccessFeatureSchema = SubscriptionFeatureBaseSchema.extend(
|
|
|
97
107
|
export type TtsModelAccessFeature = z.infer<typeof TtsModelAccessFeatureSchema>;
|
|
98
108
|
|
|
99
109
|
export const ImageGenerationQuotaFeatureSchema = SubscriptionFeatureBaseSchema.extend({
|
|
100
|
-
kind: z.literal(SUBSCRIPTION_FEATURE_KIND.
|
|
110
|
+
kind: z.literal(SUBSCRIPTION_FEATURE_KIND.IMAGE_GENERATION),
|
|
101
111
|
type: z.literal(SUBSCRIPTION_FEATURE_TYPE.IMAGE_GENERATION_QUOTA),
|
|
102
112
|
value: z.number(),
|
|
103
113
|
});
|
|
@@ -234,6 +244,7 @@ export const SubscriptionFeatureSchema = z.union([
|
|
|
234
244
|
ImageEditorModelAccessFeatureSchema,
|
|
235
245
|
InteriorDesignQuotaFeatureSchema,
|
|
236
246
|
InteriorDesignModelAccessFeatureSchema,
|
|
247
|
+
ImageGenerationAccessFeatureSchema,
|
|
237
248
|
]);
|
|
238
249
|
|
|
239
250
|
export type SubscriptionFeature = z.infer<typeof SubscriptionFeatureSchema>;
|
package/package.json
CHANGED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CreateCustomSubscriptionPlanCommand = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const models_1 = require("../../models");
|
|
6
|
-
var CreateCustomSubscriptionPlanCommand;
|
|
7
|
-
(function (CreateCustomSubscriptionPlanCommand) {
|
|
8
|
-
CreateCustomSubscriptionPlanCommand.RequestSchema = zod_1.z.object({
|
|
9
|
-
tokens: zod_1.z
|
|
10
|
-
.number()
|
|
11
|
-
.refine((val) => val % 500 === 0, {
|
|
12
|
-
message: 'tokens must be a multiple of 500',
|
|
13
|
-
})
|
|
14
|
-
.refine((val) => val > 1000, {
|
|
15
|
-
message: 'tokens must be greater than 1000',
|
|
16
|
-
})
|
|
17
|
-
.refine((val) => val <= 10000, {
|
|
18
|
-
message: 'tokens must be equal or less than 10000',
|
|
19
|
-
}),
|
|
20
|
-
});
|
|
21
|
-
CreateCustomSubscriptionPlanCommand.ResponseSchema = zod_1.z.object({
|
|
22
|
-
data: zod_1.z.array(models_1.SubscriptionSchema),
|
|
23
|
-
});
|
|
24
|
-
})(CreateCustomSubscriptionPlanCommand || (exports.CreateCustomSubscriptionPlanCommand = CreateCustomSubscriptionPlanCommand = {}));
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { SubscriptionSchema } from '../../models';
|
|
3
|
-
|
|
4
|
-
export namespace CreateCustomSubscriptionPlanCommand {
|
|
5
|
-
export const RequestSchema = z.object({
|
|
6
|
-
tokens: z
|
|
7
|
-
.number()
|
|
8
|
-
.refine((val) => val % 500 === 0, {
|
|
9
|
-
message: 'tokens must be a multiple of 500',
|
|
10
|
-
})
|
|
11
|
-
.refine((val) => val > 1000, {
|
|
12
|
-
message: 'tokens must be greater than 1000',
|
|
13
|
-
})
|
|
14
|
-
.refine((val) => val <= 10000, {
|
|
15
|
-
message: 'tokens must be equal or less than 10000',
|
|
16
|
-
}),
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
export type Request = z.infer<typeof RequestSchema>;
|
|
20
|
-
|
|
21
|
-
export const ResponseSchema = z.object({
|
|
22
|
-
data: z.array(SubscriptionSchema),
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
export type Response = z.infer<typeof ResponseSchema>;
|
|
26
|
-
}
|