@purpleschool/gptbot 0.8.87-stage-2 → 0.8.88
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/community.ts +0 -1
- package/api/controllers/http/user.ts +1 -0
- package/api/routes.ts +2 -2
- package/build/api/controllers/http/community.js +0 -1
- package/build/api/controllers/http/user.js +1 -0
- package/build/api/routes.js +1 -1
- package/build/commands/cabinet/get-user-statistics-by-month.command.js +4 -0
- package/build/commands/cabinet/get-user-statistics-overview.command.js +1 -0
- package/build/commands/chat/get-chats-config.command.js +0 -1
- package/build/commands/community/create-community-post.command.js +1 -1
- package/build/commands/message/create-text-message.command.js +1 -1
- package/build/commands/tools/writer/update-writer-document-outline.command.js +1 -0
- package/build/commands/user/cancel-user-product.command.js +21 -0
- package/build/commands/user/index.js +1 -0
- package/build/constants/errors/errors.js +19 -99
- package/build/constants/file/enums/index.js +0 -1
- package/build/constants/index.js +0 -1
- package/build/constants/tool/enums/tool-type.enum.js +0 -3
- package/build/models/community/community-post-media-data.schema.js +8 -7
- package/build/models/index.js +0 -1
- package/build/models/tools/image-editor/image-editor-model.schema.js +0 -1
- package/build/models/tools/image-generation/image-generation-model.schema.js +1 -1
- package/build/models/tools/music/music-job.schema.js +0 -2
- package/build/models/tools/music/music-model.schema.js +10 -3
- package/build/models/tools/music/music-track.schema.js +2 -0
- package/build/models/tools/stt/stt-model.schema.js +0 -1
- package/build/models/tools/tts/tts-model.schema.js +0 -1
- package/build/models/tools/video/video-job.schema.js +6 -0
- package/build/models/tools/video/video-model.schema.js +15 -3
- package/build/models/tools/video-editor/video-editor-model.schema.js +1 -2
- package/build/models/tools/writer/index.js +1 -0
- package/build/models/tools/writer/writer-document-title-page.schema.js +15 -0
- package/build/models/tools/writer/writer-document.schema.js +2 -0
- package/commands/cabinet/get-user-statistics-by-month.command.ts +7 -0
- package/commands/cabinet/get-user-statistics-overview.command.ts +2 -1
- package/commands/chat/get-chats-config.command.ts +0 -1
- package/commands/community/create-community-post.command.ts +1 -1
- package/commands/message/create-text-message.command.ts +2 -2
- package/commands/tools/writer/update-writer-document-outline.command.ts +6 -1
- package/commands/user/cancel-user-product.command.ts +21 -0
- package/commands/user/index.ts +1 -0
- package/constants/errors/errors.ts +19 -99
- package/constants/file/enums/index.ts +0 -1
- package/constants/index.ts +0 -1
- package/constants/tool/enums/tool-type.enum.ts +0 -3
- package/models/community/community-post-media-data.schema.ts +8 -7
- package/models/index.ts +0 -1
- package/models/tools/image-editor/image-editor-model.schema.ts +0 -1
- package/models/tools/image-generation/image-generation-model.schema.ts +1 -1
- package/models/tools/music/music-job.schema.ts +0 -2
- package/models/tools/music/music-model.schema.ts +15 -2
- package/models/tools/music/music-track.schema.ts +2 -0
- package/models/tools/stt/stt-model.schema.ts +0 -1
- package/models/tools/tts/tts-model.schema.ts +0 -1
- package/models/tools/video/video-job.schema.ts +6 -0
- package/models/tools/video/video-model.schema.ts +15 -3
- package/models/tools/video-editor/video-editor-model.schema.ts +1 -2
- package/models/tools/writer/index.ts +1 -0
- package/models/tools/writer/writer-document-title-page.schema.ts +15 -0
- package/models/tools/writer/writer-document.schema.ts +2 -0
- package/package.json +1 -1
- package/build/constants/file/enums/file-usage-mode.enum.js +0 -8
- package/build/constants/token-reservation/enums/index.js +0 -17
- package/build/constants/token-reservation/enums/token-reservation-status.enum.js +0 -10
- package/build/constants/token-reservation/index.js +0 -17
- package/build/models/file-attachment.schema.js +0 -18
- package/constants/file/enums/file-usage-mode.enum.ts +0 -4
- package/constants/token-reservation/enums/index.ts +0 -1
- package/constants/token-reservation/enums/token-reservation-status.enum.ts +0 -6
- package/constants/token-reservation/index.ts +0 -1
- package/models/file-attachment.schema.ts +0 -24
|
@@ -8,7 +8,7 @@ export namespace CreateCommunityPostCommand {
|
|
|
8
8
|
caption: z.string().max(500).nullable().optional(),
|
|
9
9
|
toolJobId: z.string().uuid(),
|
|
10
10
|
toolType: z.nativeEnum(COMMUNITY_TOOL_TYPE),
|
|
11
|
-
|
|
11
|
+
trackId: z.string().uuid().optional(),
|
|
12
12
|
});
|
|
13
13
|
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
14
14
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AI_MODEL_FEATURE } from '../../constants';
|
|
2
|
-
import { ChatSchema,
|
|
2
|
+
import { ChatSchema, MessageSchema } from '../../models';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
export namespace CreateTextMessageCommand {
|
|
6
6
|
export const RequestSchema = z.object({
|
|
7
7
|
text: z.string(),
|
|
8
|
-
files: z.array(
|
|
8
|
+
files: z.array(z.string().uuid()).optional().default([]),
|
|
9
9
|
features: z.array(z.nativeEnum(AI_MODEL_FEATURE)).optional().default([]),
|
|
10
10
|
});
|
|
11
11
|
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
WriterDocumentOutlineSchema,
|
|
4
|
+
WriterDocumentOutlineSectionSchema,
|
|
5
|
+
WriterDocumentTitlePageSchema,
|
|
6
|
+
} from '../../../models';
|
|
3
7
|
|
|
4
8
|
export namespace UpdateWriterDocumentOutlineCommand {
|
|
5
9
|
export const RequestBodySchema = z.object({
|
|
6
10
|
data: WriterDocumentOutlineSchema,
|
|
11
|
+
titlePage: WriterDocumentTitlePageSchema.optional().nullable(),
|
|
7
12
|
});
|
|
8
13
|
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
9
14
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
|
|
3
|
+
export namespace CancelUserProductCommand {
|
|
4
|
+
export const RequestParamSchema = z.object({
|
|
5
|
+
uuid: z.string().uuid(),
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
export type RequestParam = z.infer<typeof RequestParamSchema>;
|
|
9
|
+
|
|
10
|
+
export const RequestSchema = z.object({
|
|
11
|
+
userToProductId: z.string().uuid(),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const ResponseSchema = z.object({
|
|
15
|
+
data: z.object({
|
|
16
|
+
isCancelled: z.boolean(),
|
|
17
|
+
}),
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
21
|
+
}
|
package/commands/user/index.ts
CHANGED
|
@@ -2645,129 +2645,49 @@ export const ERRORS = {
|
|
|
2645
2645
|
message: 'Произошла ошибка при получении пользователя',
|
|
2646
2646
|
httpCode: 500,
|
|
2647
2647
|
},
|
|
2648
|
-
FILE_CONTENT_EXCEEDS_CONTEXT_LIMIT: {
|
|
2649
|
-
code: 'A538',
|
|
2650
|
-
message: 'Размер файла превышает лимит контекста модели',
|
|
2651
|
-
httpCode: 400,
|
|
2652
|
-
},
|
|
2653
2648
|
IMAGE_GENERATION_MODEL_FIND_ERROR: {
|
|
2654
|
-
code: '
|
|
2649
|
+
code: 'A538',
|
|
2655
2650
|
message: 'Произошла ошибка при получении модели для генерации изображений',
|
|
2656
2651
|
httpCode: 500,
|
|
2657
2652
|
},
|
|
2658
|
-
|
|
2659
|
-
code: '
|
|
2660
|
-
message: '
|
|
2661
|
-
httpCode: 400,
|
|
2662
|
-
},
|
|
2663
|
-
COMMUNITY_POST_TRACK_INDEX_OUT_OF_RANGE: {
|
|
2664
|
-
code: 'A541',
|
|
2665
|
-
message: 'Индекс трека выходит за пределы допустимого диапазона',
|
|
2653
|
+
COMMUNITY_POST_TRACK_ID_REQUIRED: {
|
|
2654
|
+
code: 'A539',
|
|
2655
|
+
message: 'ID трека обязателен для музыкального поста',
|
|
2666
2656
|
httpCode: 400,
|
|
2667
2657
|
},
|
|
2668
|
-
|
|
2669
|
-
code: '
|
|
2670
|
-
message: '
|
|
2671
|
-
httpCode: 500,
|
|
2672
|
-
},
|
|
2673
|
-
TOKEN_RESERVATION_NOT_FOUND: {
|
|
2674
|
-
code: 'A543',
|
|
2675
|
-
message: 'Запись об удержании токенов не найдена',
|
|
2658
|
+
COMMUNITY_POST_TRACK_NOT_FOUND: {
|
|
2659
|
+
code: 'A540',
|
|
2660
|
+
message: 'Трек не найден',
|
|
2676
2661
|
httpCode: 404,
|
|
2677
2662
|
},
|
|
2678
|
-
TOKEN_RESERVATION_COMMIT_ERROR: {
|
|
2679
|
-
code: 'A544',
|
|
2680
|
-
message: 'Произошла ошибка при подтверждении записи об удержании токенов',
|
|
2681
|
-
httpCode: 500,
|
|
2682
|
-
},
|
|
2683
|
-
TOKEN_RESERVATION_RELEASE_ERROR: {
|
|
2684
|
-
code: 'A545',
|
|
2685
|
-
message: 'Произошла ошибка при освобождении записи об удержании токенов',
|
|
2686
|
-
httpCode: 500,
|
|
2687
|
-
},
|
|
2688
|
-
TOKEN_RESERVATION_INSUFFICIENT_BALANCE: {
|
|
2689
|
-
code: 'A546',
|
|
2690
|
-
message: 'Недостаточно токенов для выполнения операции',
|
|
2691
|
-
httpCode: 400,
|
|
2692
|
-
},
|
|
2693
|
-
TOKEN_RESERVATION_INVALID_STATUS: {
|
|
2694
|
-
code: 'A547',
|
|
2695
|
-
message: 'Запись об удержании токенов находится в недопустимом статусе',
|
|
2696
|
-
httpCode: 400,
|
|
2697
|
-
},
|
|
2698
|
-
MUSIC_PRICE_ERROR: {
|
|
2699
|
-
code: 'A548',
|
|
2700
|
-
message: 'Произошла ошибка при получении цены для генерации музыки',
|
|
2701
|
-
httpCode: 500,
|
|
2702
|
-
},
|
|
2703
|
-
IMAGE_GENERATION_PRICE_ERROR: {
|
|
2704
|
-
code: 'A549',
|
|
2705
|
-
message: 'Произошла ошибка при получении цены для генерации изображения',
|
|
2706
|
-
httpCode: 500,
|
|
2707
|
-
},
|
|
2708
|
-
IMAGE_EDITOR_PRICE_ERROR: {
|
|
2709
|
-
code: 'A550',
|
|
2710
|
-
message: 'Произошла ошибка при получении цены для редактирования изображения',
|
|
2711
|
-
httpCode: 500,
|
|
2712
|
-
},
|
|
2713
|
-
STT_PRICE_ERROR: {
|
|
2714
|
-
code: 'A551',
|
|
2715
|
-
message: 'Произошла ошибка при получении цены для транскрибации аудио',
|
|
2716
|
-
httpCode: 500,
|
|
2717
|
-
},
|
|
2718
|
-
TTS_PRICE_ERROR: {
|
|
2719
|
-
code: 'A552',
|
|
2720
|
-
message: 'Произошла ошибка при получении цены для синтеза речи',
|
|
2721
|
-
httpCode: 500,
|
|
2722
|
-
},
|
|
2723
|
-
VIDEO_PRICE_ERROR: {
|
|
2724
|
-
code: 'A553',
|
|
2725
|
-
message: 'Произошла ошибка при получении цены для генерации видео',
|
|
2726
|
-
httpCode: 500,
|
|
2727
|
-
},
|
|
2728
|
-
VIDEO_EDITOR_PRICE_ERROR: {
|
|
2729
|
-
code: 'A554',
|
|
2730
|
-
message: 'Произошла ошибка при получении цены для редактирования видео',
|
|
2731
|
-
httpCode: 500,
|
|
2732
|
-
},
|
|
2733
|
-
PARAPHRASE_PRICE_ERROR: {
|
|
2734
|
-
code: 'A555',
|
|
2735
|
-
message: 'Произошла ошибка при получении цены для парафразирования',
|
|
2736
|
-
httpCode: 500,
|
|
2737
|
-
},
|
|
2738
|
-
PRESENTATION_SLIDES_GENERATION_PRICE_ERROR: {
|
|
2739
|
-
code: 'A556',
|
|
2740
|
-
message: 'Произошла ошибка при получении цены для генерации слайдов презентации',
|
|
2741
|
-
httpCode: 500,
|
|
2742
|
-
},
|
|
2743
|
-
WRITER_CONTENT_GENERATION_PRICE_ERROR: {
|
|
2744
|
-
code: 'A557',
|
|
2745
|
-
message: 'Произошла ошибка при получении цены для генерации текста',
|
|
2746
|
-
httpCode: 500,
|
|
2747
|
-
},
|
|
2748
2663
|
COMMUNITY_POST_EXISTANCE_CHECK_ERROR: {
|
|
2749
|
-
code: '
|
|
2664
|
+
code: 'A561',
|
|
2750
2665
|
message: 'Произошла ошибка при проверке существования поста.',
|
|
2751
2666
|
httpCode: 500,
|
|
2752
2667
|
},
|
|
2753
2668
|
COMMUNITY_POST_ALREADY_EXISTS_ERROR: {
|
|
2754
|
-
code: '
|
|
2669
|
+
code: 'A562',
|
|
2755
2670
|
message: 'Данная работа уже опубликована в сообществе.',
|
|
2756
2671
|
httpCode: 400,
|
|
2757
2672
|
},
|
|
2758
2673
|
MARK_JOB_PUBLISHED_STATUS_ERROR: {
|
|
2759
|
-
code: '
|
|
2674
|
+
code: 'A563',
|
|
2760
2675
|
message: 'Произошла ошибка при отметке работы как опубликованной.',
|
|
2761
2676
|
httpCode: 500,
|
|
2762
2677
|
},
|
|
2763
2678
|
TASK_COMMUNITY_POST_NOT_PUBLISHED: {
|
|
2764
|
-
code: '
|
|
2679
|
+
code: 'A564',
|
|
2765
2680
|
message: 'Для получения награды опубликуйте работу в сообществе',
|
|
2766
2681
|
httpCode: 400,
|
|
2767
2682
|
},
|
|
2768
|
-
|
|
2769
|
-
code: '
|
|
2770
|
-
message: '
|
|
2683
|
+
PRODUCT_OWNERSHIP_ERROR: {
|
|
2684
|
+
code: 'A565',
|
|
2685
|
+
message: 'Пользователь не является владельцем продукта',
|
|
2686
|
+
httpCode: 400,
|
|
2687
|
+
},
|
|
2688
|
+
PRODUCT_CANCEL_ERROR: {
|
|
2689
|
+
code: 'A566',
|
|
2690
|
+
message: 'Нельзя отменить пакет, которым юзер начал пользоваться',
|
|
2771
2691
|
httpCode: 400,
|
|
2772
2692
|
},
|
|
2773
2693
|
};
|
package/constants/index.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { COMMUNITY_POST_TYPE } from '../../constants';
|
|
3
|
-
import { MusicTrackSchema } from '../tools/music/music-track.schema';
|
|
4
3
|
import { VideoJobParamsSchema } from '../tools/video/video-job.schema';
|
|
5
4
|
import { FileSchema } from '../file.schema';
|
|
6
5
|
import { MusicJobParamsSchema } from '../tools';
|
|
@@ -23,6 +22,7 @@ export const VideoCommunityMediaSchema = z.object({
|
|
|
23
22
|
title: z.string(),
|
|
24
23
|
prompt: z.string(),
|
|
25
24
|
videoUrl: z.string().nullable(),
|
|
25
|
+
previewUrl: z.string().nullable(),
|
|
26
26
|
params: VideoJobParamsSchema,
|
|
27
27
|
});
|
|
28
28
|
|
|
@@ -38,12 +38,13 @@ export const MusicCommunityMediaSchema = z.object({
|
|
|
38
38
|
type: z.literal(COMMUNITY_POST_TYPE.MUSIC),
|
|
39
39
|
params: MusicJobParamsSchema,
|
|
40
40
|
prompt: z.string(),
|
|
41
|
-
track:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
track: z.object({
|
|
42
|
+
uuid: z.string().optional(), // Опционально для backward compatibility
|
|
43
|
+
audioUrl: z.string(),
|
|
44
|
+
coverUrl: z.string(),
|
|
45
|
+
duration: z.number(),
|
|
46
|
+
title: z.string(),
|
|
47
|
+
tags: z.string(),
|
|
47
48
|
}),
|
|
48
49
|
});
|
|
49
50
|
|
package/models/index.ts
CHANGED
|
@@ -12,7 +12,6 @@ export * from './course.schema';
|
|
|
12
12
|
export * from './date.schema';
|
|
13
13
|
export * from './feedback.schema';
|
|
14
14
|
export * from './file.schema';
|
|
15
|
-
export * from './file-attachment.schema';
|
|
16
15
|
export * from './key-value.schema';
|
|
17
16
|
export * from './form-submission.schema';
|
|
18
17
|
export * from './icon-variants.schema';
|
|
@@ -39,7 +39,6 @@ export const ImageEditorModelSchema = z.object({
|
|
|
39
39
|
pricingRules: ImageEditorModelPricingRulesSchema,
|
|
40
40
|
unlockedBy: UnlockedBySchema.nullable(),
|
|
41
41
|
canUse: z.boolean(),
|
|
42
|
-
status: z.string(),
|
|
43
42
|
});
|
|
44
43
|
|
|
45
44
|
export type ImageEditorModel = z.infer<typeof ImageEditorModelSchema>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { IMAGE_GENERATION_RESOLUTION } from '../../../constants';
|
|
3
2
|
import { UnlockedBySchema } from '../../unlocked-by-subscription.schema';
|
|
3
|
+
import { IMAGE_GENERATION_RESOLUTION } from '../../../constants';
|
|
4
4
|
|
|
5
5
|
export const ImageGenerationModelParamsSchema = z.object({
|
|
6
6
|
aspectRatio: z.record(
|
|
@@ -37,8 +37,6 @@ export const MusicJobSchema = ToolJobSchema.extend({
|
|
|
37
37
|
params: MusicJobParamsSchema,
|
|
38
38
|
externalId: z.string().nullable(),
|
|
39
39
|
modelId: z.string(),
|
|
40
|
-
isPublished: z.boolean(),
|
|
41
|
-
postId: z.string().nullable(),
|
|
42
40
|
});
|
|
43
41
|
|
|
44
42
|
export type MusicJob = z.infer<typeof MusicJobSchema>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { MUSIC_VOCAL_GENDER } from '../../../constants';
|
|
3
2
|
import { IconVariantsSchema } from '../../icon-variants.schema';
|
|
4
3
|
import { UnlockedBySchema } from '../../unlocked-by-subscription.schema';
|
|
4
|
+
import { MUSIC_VOCAL_GENDER } from '../../../constants';
|
|
5
5
|
|
|
6
6
|
export const MusicModelParamsSchema = z.object({
|
|
7
7
|
vocalGender: z.object({
|
|
@@ -18,6 +18,19 @@ export const MusicModelParamsSchema = z.object({
|
|
|
18
18
|
}),
|
|
19
19
|
});
|
|
20
20
|
|
|
21
|
+
export const MusicModelPricingRuleConditionSchema = z.object({
|
|
22
|
+
withoutSub: z.boolean().optional(),
|
|
23
|
+
});
|
|
24
|
+
export type MusicModelPricingRuleCondition = z.infer<typeof MusicModelPricingRuleConditionSchema>;
|
|
25
|
+
|
|
26
|
+
export const MusicModelPricingRulesSchema = z.array(
|
|
27
|
+
z.object({
|
|
28
|
+
condition: MusicModelPricingRuleConditionSchema,
|
|
29
|
+
value: z.number(),
|
|
30
|
+
}),
|
|
31
|
+
);
|
|
32
|
+
export type MusicModelPricingRules = z.infer<typeof MusicModelPricingRulesSchema>;
|
|
33
|
+
|
|
21
34
|
export const MusicModelSchema = z.object({
|
|
22
35
|
uuid: z.string(),
|
|
23
36
|
title: z.string(),
|
|
@@ -28,7 +41,7 @@ export const MusicModelSchema = z.object({
|
|
|
28
41
|
maxPromptLength: z.number(),
|
|
29
42
|
maxLyricsLength: z.number(),
|
|
30
43
|
params: MusicModelParamsSchema,
|
|
44
|
+
pricingRules: MusicModelPricingRulesSchema,
|
|
31
45
|
unlockedBy: UnlockedBySchema.nullable(),
|
|
32
46
|
canUse: z.boolean(),
|
|
33
|
-
status: z.string(),
|
|
34
47
|
});
|
|
@@ -9,6 +9,8 @@ export const MusicTrackSchema = z.object({
|
|
|
9
9
|
prompt: z.string().nullable(),
|
|
10
10
|
tags: z.string(),
|
|
11
11
|
duration: z.number(),
|
|
12
|
+
isPublished: z.boolean(),
|
|
13
|
+
postId: z.string().nullable(),
|
|
12
14
|
|
|
13
15
|
genJobId: z.string().nullable().optional(),
|
|
14
16
|
editorJobId: z.string().nullable().optional(),
|
|
@@ -23,6 +23,12 @@ export const VideoJobSchema = ToolJobSchema.extend({
|
|
|
23
23
|
url: z.string(),
|
|
24
24
|
})
|
|
25
25
|
.nullable(),
|
|
26
|
+
preview: z
|
|
27
|
+
.object({
|
|
28
|
+
uuid: z.string(),
|
|
29
|
+
url: z.string(),
|
|
30
|
+
})
|
|
31
|
+
.nullable(),
|
|
26
32
|
params: VideoJobParamsSchema,
|
|
27
33
|
modelId: z.string(),
|
|
28
34
|
isPublished: z.boolean(),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { VIDEO_PRICING_RULE_TYPE } from '../../../constants';
|
|
3
|
-
import { VIDEO_GENERATION_MODEL_LIMITATION } from '../../../constants/tool-video/enums/video-generation-model-limitation.enum';
|
|
4
2
|
import { IconVariantsSchema } from '../../icon-variants.schema';
|
|
5
3
|
import { UnlockedBySchema } from '../../unlocked-by-subscription.schema';
|
|
4
|
+
import { VIDEO_PRICING_RULE_TYPE } from '../../../constants';
|
|
5
|
+
import { VIDEO_GENERATION_MODEL_LIMITATION } from '../../../constants/tool-video/enums/video-generation-model-limitation.enum';
|
|
6
6
|
|
|
7
7
|
export const VideoModelParamsSchema = z.object({
|
|
8
8
|
imageAttachment: z.object({
|
|
@@ -23,6 +23,16 @@ export const VideoModelParamsSchema = z.object({
|
|
|
23
23
|
options: z.array(z.string()),
|
|
24
24
|
})
|
|
25
25
|
.optional(),
|
|
26
|
+
sound: z
|
|
27
|
+
.object({
|
|
28
|
+
options: z.array(z.boolean()),
|
|
29
|
+
})
|
|
30
|
+
.optional(),
|
|
31
|
+
multiShots: z
|
|
32
|
+
.object({
|
|
33
|
+
options: z.array(z.boolean()),
|
|
34
|
+
})
|
|
35
|
+
.optional(),
|
|
26
36
|
});
|
|
27
37
|
|
|
28
38
|
export const VideoGenerationRequestParamsSchema = z.object({
|
|
@@ -31,12 +41,15 @@ export const VideoGenerationRequestParamsSchema = z.object({
|
|
|
31
41
|
aspectRatio: z.string().optional(),
|
|
32
42
|
quality: z.string().optional(),
|
|
33
43
|
resolution: z.string().optional(),
|
|
44
|
+
sound: z.boolean().optional(),
|
|
45
|
+
multiShots: z.boolean().optional(),
|
|
34
46
|
});
|
|
35
47
|
export type VideoGenerationRequestParams = z.infer<typeof VideoGenerationRequestParamsSchema>;
|
|
36
48
|
|
|
37
49
|
export const VideoModelPricingRuleConditionSchema = z.object({
|
|
38
50
|
aspectRatio: z.string().optional(),
|
|
39
51
|
resolution: z.string().optional(),
|
|
52
|
+
sound: z.boolean().optional(),
|
|
40
53
|
});
|
|
41
54
|
export type VideoModelPricingRuleCondition = z.infer<typeof VideoModelPricingRuleConditionSchema>;
|
|
42
55
|
|
|
@@ -63,5 +76,4 @@ export const VideoModelSchema = z.object({
|
|
|
63
76
|
unlockedBy: UnlockedBySchema.nullable(),
|
|
64
77
|
limitations: z.array(z.nativeEnum(VIDEO_GENERATION_MODEL_LIMITATION)),
|
|
65
78
|
canUse: z.boolean(),
|
|
66
|
-
status: z.string(),
|
|
67
79
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { VIDEO_EDITOR_MODEL_LIMITATION } from '../../../constants/tool-video-editor/enums/video-editor-model-limitation.enum';
|
|
3
2
|
import { IconVariantsSchema } from '../../icon-variants.schema';
|
|
4
3
|
import { UnlockedBySchema } from '../../unlocked-by-subscription.schema';
|
|
4
|
+
import { VIDEO_EDITOR_MODEL_LIMITATION } from '../../../constants/tool-video-editor/enums/video-editor-model-limitation.enum';
|
|
5
5
|
|
|
6
6
|
export const VideoEditorModelParamsSchema = z.object({
|
|
7
7
|
supportedFormats: z.array(z.string()),
|
|
@@ -24,5 +24,4 @@ export const VideoEditorModelSchema = z.object({
|
|
|
24
24
|
unlockedBy: UnlockedBySchema.nullable(),
|
|
25
25
|
limitations: z.array(z.nativeEnum(VIDEO_EDITOR_MODEL_LIMITATION)),
|
|
26
26
|
canUse: z.boolean(),
|
|
27
|
-
status: z.string(),
|
|
28
27
|
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export const WriterDocumentTitlePageSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
fullName: z.string().min(1).max(200).optional().nullable(),
|
|
6
|
+
city: z.string().min(1).max(200).optional().nullable(),
|
|
7
|
+
institution: z.string().min(1).max(300).optional().nullable(),
|
|
8
|
+
faculty: z.string().min(1).max(200).optional().nullable(),
|
|
9
|
+
specialty: z.string().min(1).max(200).optional().nullable(),
|
|
10
|
+
group: z.string().min(1).max(100).optional().nullable(),
|
|
11
|
+
subject: z.string().min(1).max(200).optional().nullable(),
|
|
12
|
+
})
|
|
13
|
+
.nullable();
|
|
14
|
+
|
|
15
|
+
export type WriterDocumentTitlePage = z.infer<typeof WriterDocumentTitlePageSchema>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { WriterDocumentOutlineSchema } from './writer-document-outline.schema';
|
|
3
3
|
import { USER_REACTION, WRITER_DOCUMENT_STAGE } from '../../../constants';
|
|
4
|
+
import { WriterDocumentTitlePageSchema } from './writer-document-title-page.schema';
|
|
4
5
|
|
|
5
6
|
export const WriterDocumentSchema = z.object({
|
|
6
7
|
uuid: z.string().uuid(),
|
|
@@ -9,6 +10,7 @@ export const WriterDocumentSchema = z.object({
|
|
|
9
10
|
typeId: z.string(),
|
|
10
11
|
stage: z.nativeEnum(WRITER_DOCUMENT_STAGE),
|
|
11
12
|
outline: WriterDocumentOutlineSchema,
|
|
13
|
+
titlePage: WriterDocumentTitlePageSchema,
|
|
12
14
|
sourceMd: z.string().nullable(),
|
|
13
15
|
finalMd: z.string().nullable(),
|
|
14
16
|
userId: z.string().nullable(),
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FILE_USAGE_MODE = void 0;
|
|
4
|
-
var FILE_USAGE_MODE;
|
|
5
|
-
(function (FILE_USAGE_MODE) {
|
|
6
|
-
FILE_USAGE_MODE["SEARCH"] = "search";
|
|
7
|
-
FILE_USAGE_MODE["CONTEXT"] = "context";
|
|
8
|
-
})(FILE_USAGE_MODE || (exports.FILE_USAGE_MODE = FILE_USAGE_MODE = {}));
|
|
@@ -1,17 +0,0 @@
|
|
|
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("./token-reservation-status.enum"), exports);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TOKEN_RESERVATION_STATUS = void 0;
|
|
4
|
-
var TOKEN_RESERVATION_STATUS;
|
|
5
|
-
(function (TOKEN_RESERVATION_STATUS) {
|
|
6
|
-
TOKEN_RESERVATION_STATUS["PENDING"] = "pending";
|
|
7
|
-
TOKEN_RESERVATION_STATUS["COMMITTED"] = "committed";
|
|
8
|
-
TOKEN_RESERVATION_STATUS["RELEASED"] = "released";
|
|
9
|
-
TOKEN_RESERVATION_STATUS["EXPIRED"] = "expired";
|
|
10
|
-
})(TOKEN_RESERVATION_STATUS || (exports.TOKEN_RESERVATION_STATUS = TOKEN_RESERVATION_STATUS = {}));
|
|
@@ -1,17 +0,0 @@
|
|
|
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);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileAttachmentSchema = exports.ImageFileAttachmentSchema = exports.TextFileAttachmentSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
|
-
exports.TextFileAttachmentSchema = zod_1.z.object({
|
|
7
|
-
fileId: zod_1.z.string().uuid(),
|
|
8
|
-
type: zod_1.z.enum([constants_1.FILE_TYPE.TEXT, constants_1.FILE_TYPE.DOCUMENT]),
|
|
9
|
-
usageMode: zod_1.z.nativeEnum(constants_1.FILE_USAGE_MODE),
|
|
10
|
-
});
|
|
11
|
-
exports.ImageFileAttachmentSchema = zod_1.z.object({
|
|
12
|
-
fileId: zod_1.z.string().uuid(),
|
|
13
|
-
type: zod_1.z.literal(constants_1.FILE_TYPE.IMAGE),
|
|
14
|
-
});
|
|
15
|
-
exports.FileAttachmentSchema = zod_1.z.discriminatedUnion('type', [
|
|
16
|
-
exports.TextFileAttachmentSchema,
|
|
17
|
-
exports.ImageFileAttachmentSchema,
|
|
18
|
-
]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './token-reservation-status.enum';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './enums';
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { FILE_TYPE, FILE_USAGE_MODE } from '../constants';
|
|
3
|
-
|
|
4
|
-
export const TextFileAttachmentSchema = z.object({
|
|
5
|
-
fileId: z.string().uuid(),
|
|
6
|
-
type: z.enum([FILE_TYPE.TEXT, FILE_TYPE.DOCUMENT]),
|
|
7
|
-
usageMode: z.nativeEnum(FILE_USAGE_MODE),
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
export type TextFileAttachment = z.infer<typeof TextFileAttachmentSchema>;
|
|
11
|
-
|
|
12
|
-
export const ImageFileAttachmentSchema = z.object({
|
|
13
|
-
fileId: z.string().uuid(),
|
|
14
|
-
type: z.literal(FILE_TYPE.IMAGE),
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
export type ImageFileAttachment = z.infer<typeof ImageFileAttachmentSchema>;
|
|
18
|
-
|
|
19
|
-
export const FileAttachmentSchema = z.discriminatedUnion('type', [
|
|
20
|
-
TextFileAttachmentSchema,
|
|
21
|
-
ImageFileAttachmentSchema,
|
|
22
|
-
]);
|
|
23
|
-
|
|
24
|
-
export type FileAttachment = z.infer<typeof FileAttachmentSchema>;
|