@purpleschool/gptbot 0.14.24 → 0.14.26
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/image-recognition.ts +15 -0
- package/api/controllers/http/index.ts +1 -0
- package/api/controllers/http/photo-studio.ts +4 -0
- package/api/routes.ts +52 -0
- package/build/api/controllers/http/image-recognition.js +17 -0
- package/build/api/controllers/http/index.js +1 -0
- package/build/api/controllers/http/photo-studio.js +4 -0
- package/build/api/routes.js +32 -0
- package/build/commands/photo-studio/add-photo-studio-image.command.js +33 -0
- package/build/commands/photo-studio/delete-photo-studio-image.command.js +18 -0
- package/build/commands/photo-studio/delete-photo-studio-job.command.js +14 -0
- package/build/commands/photo-studio/execute-photo-studio-action.command.js +1 -0
- package/build/commands/photo-studio/index.js +4 -0
- package/build/commands/photo-studio/retry-photo-studio-job.command.js +13 -0
- package/build/commands/tools/image-recognition/delete-all-image-recognition-jobs.command.js +8 -0
- package/build/commands/tools/image-recognition/delete-image-recognition-job-by-uuid.command.js +11 -0
- package/build/commands/tools/image-recognition/find-image-recognition-job-by-uuid.command.js +14 -0
- package/build/commands/tools/image-recognition/find-image-recognition-jobs.command.js +24 -0
- package/build/commands/tools/image-recognition/get-image-recognition-tool-config.command.js +11 -0
- package/build/commands/tools/image-recognition/image-recognition.command.js +19 -0
- package/build/commands/tools/image-recognition/index.js +26 -0
- package/build/commands/tools/image-recognition/retry-image-recognition-job.command.js +24 -0
- package/build/commands/tools/image-recognition/set-reaction-to-image-recognition-job.command.js +28 -0
- package/build/commands/tools/image-recognition/update-image-recognition-job-favorite.command.js +17 -0
- package/build/commands/tools/image-recognition/update-image-recognition-job-title.command.js +17 -0
- package/build/commands/tools/index.js +1 -0
- package/build/constants/cabinet/enums/statistics-request-type.enum.js +1 -0
- package/build/constants/index.js +0 -1
- package/build/constants/photo-studio/index.js +1 -0
- package/build/constants/photo-studio/photo-studio-checkpoint-action-title.constant.js +11 -0
- package/build/models/tools/image-recognition/image-recognition-category.schema.js +14 -0
- package/build/models/tools/image-recognition/image-recognition-config.schema.js +10 -0
- package/build/models/tools/image-recognition/image-recognition-job.schema.js +22 -0
- package/build/models/tools/image-recognition/image-recognition-model.schema.js +25 -0
- package/build/{constants/domains → models/tools/image-recognition}/index.js +4 -1
- package/build/models/tools/index.js +1 -0
- package/commands/photo-studio/add-photo-studio-image.command.ts +37 -0
- package/commands/photo-studio/delete-photo-studio-image.command.ts +20 -0
- package/commands/photo-studio/delete-photo-studio-job.command.ts +14 -0
- package/commands/photo-studio/execute-photo-studio-action.command.ts +1 -0
- package/commands/photo-studio/index.ts +4 -0
- package/commands/photo-studio/retry-photo-studio-job.command.ts +13 -0
- package/commands/tools/image-recognition/delete-all-image-recognition-jobs.command.ts +6 -0
- package/commands/tools/image-recognition/delete-image-recognition-job-by-uuid.command.ts +11 -0
- package/commands/tools/image-recognition/find-image-recognition-job-by-uuid.command.ts +16 -0
- package/commands/tools/image-recognition/find-image-recognition-jobs.command.ts +24 -0
- package/commands/tools/image-recognition/get-image-recognition-tool-config.command.ts +10 -0
- package/commands/tools/image-recognition/image-recognition.command.ts +20 -0
- package/commands/tools/image-recognition/index.ts +10 -0
- package/commands/tools/image-recognition/retry-image-recognition-job.command.ts +26 -0
- package/commands/tools/image-recognition/set-reaction-to-image-recognition-job.command.ts +33 -0
- package/commands/tools/image-recognition/update-image-recognition-job-favorite.command.ts +19 -0
- package/commands/tools/image-recognition/update-image-recognition-job-title.command.ts +19 -0
- package/commands/tools/index.ts +1 -0
- package/constants/cabinet/enums/statistics-request-type.enum.ts +1 -0
- package/constants/index.ts +0 -1
- package/constants/photo-studio/index.ts +1 -0
- package/constants/photo-studio/photo-studio-checkpoint-action-title.constant.ts +9 -0
- package/models/tools/image-recognition/image-recognition-category.schema.ts +14 -0
- package/models/tools/image-recognition/image-recognition-config.schema.ts +10 -0
- package/models/tools/image-recognition/image-recognition-job.schema.ts +25 -0
- package/models/tools/image-recognition/image-recognition-model.schema.ts +28 -0
- package/models/tools/image-recognition/index.ts +4 -0
- package/models/tools/index.ts +1 -0
- package/package.json +1 -1
- package/build/constants/domains/white-list.js +0 -57
- package/constants/domains/index.ts +0 -1
- package/constants/domains/white-list.ts +0 -55
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageRecognitionCategorySchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.ImageRecognitionCategorySchema = zod_1.z.object({
|
|
6
|
+
uuid: zod_1.z.string(),
|
|
7
|
+
parentId: zod_1.z.string().nullable(),
|
|
8
|
+
title: zod_1.z.string(),
|
|
9
|
+
systemPrompt: zod_1.z.string(),
|
|
10
|
+
order: zod_1.z.number(),
|
|
11
|
+
status: zod_1.z.string(),
|
|
12
|
+
createdAt: zod_1.z.date(),
|
|
13
|
+
updatedAt: zod_1.z.date(),
|
|
14
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageRecognitionConfigSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const image_recognition_model_schema_1 = require("./image-recognition-model.schema");
|
|
6
|
+
const image_recognition_category_schema_1 = require("./image-recognition-category.schema");
|
|
7
|
+
exports.ImageRecognitionConfigSchema = zod_1.z.object({
|
|
8
|
+
models: zod_1.z.array(image_recognition_model_schema_1.ImageRecognitionModelSchema),
|
|
9
|
+
categories: zod_1.z.array(image_recognition_category_schema_1.ImageRecognitionCategorySchema),
|
|
10
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageRecognitionJobSchema = exports.ImageRecognitionJobParamsSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../../constants");
|
|
6
|
+
const tool_job_schema_1 = require("../../tool-job.schema");
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
exports.ImageRecognitionJobParamsSchema = zod_1.z.object({
|
|
9
|
+
attachedFiles: zod_1.z.array(common_1.AttachedToolFileSchema),
|
|
10
|
+
});
|
|
11
|
+
exports.ImageRecognitionJobSchema = tool_job_schema_1.ToolJobSchema.extend({
|
|
12
|
+
title: zod_1.z.string(),
|
|
13
|
+
prompt: zod_1.z.string().nullable(),
|
|
14
|
+
categoryId: zod_1.z.string(),
|
|
15
|
+
aiOutput: zod_1.z.string().nullable(),
|
|
16
|
+
reaction: zod_1.z.nativeEnum(constants_1.USER_REACTION).nullable(),
|
|
17
|
+
dislikeReason: zod_1.z.string().nullable(),
|
|
18
|
+
modelId: zod_1.z.string(),
|
|
19
|
+
price: zod_1.z.number(),
|
|
20
|
+
params: exports.ImageRecognitionJobParamsSchema,
|
|
21
|
+
completedAt: zod_1.z.date().nullable().optional(),
|
|
22
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageRecognitionModelSchema = exports.ImageRecognitionModelParamsSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const icon_variants_schema_1 = require("../../icon-variants.schema");
|
|
6
|
+
exports.ImageRecognitionModelParamsSchema = zod_1.z.object({
|
|
7
|
+
imageAttachment: zod_1.z.object({
|
|
8
|
+
supported: zod_1.z.boolean(),
|
|
9
|
+
maxImages: zod_1.z.number(),
|
|
10
|
+
acceptedTypes: zod_1.z.array(zod_1.z.string()),
|
|
11
|
+
}),
|
|
12
|
+
});
|
|
13
|
+
exports.ImageRecognitionModelSchema = zod_1.z.object({
|
|
14
|
+
uuid: zod_1.z.string(),
|
|
15
|
+
title: zod_1.z.string(),
|
|
16
|
+
description: zod_1.z.string(),
|
|
17
|
+
aiModel: zod_1.z.string(),
|
|
18
|
+
price: zod_1.z.number(),
|
|
19
|
+
order: zod_1.z.number(),
|
|
20
|
+
status: zod_1.z.string(),
|
|
21
|
+
icons: icon_variants_schema_1.IconVariantsSchema,
|
|
22
|
+
params: exports.ImageRecognitionModelParamsSchema,
|
|
23
|
+
createdAt: zod_1.z.date(),
|
|
24
|
+
updatedAt: zod_1.z.date(),
|
|
25
|
+
});
|
|
@@ -14,4 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./image-recognition-category.schema"), exports);
|
|
18
|
+
__exportStar(require("./image-recognition-config.schema"), exports);
|
|
19
|
+
__exportStar(require("./image-recognition-job.schema"), exports);
|
|
20
|
+
__exportStar(require("./image-recognition-model.schema"), exports);
|
|
@@ -23,6 +23,7 @@ __exportStar(require("./tts"), exports);
|
|
|
23
23
|
__exportStar(require("./video"), exports);
|
|
24
24
|
__exportStar(require("./writer"), exports);
|
|
25
25
|
__exportStar(require("./image-editor"), exports);
|
|
26
|
+
__exportStar(require("./image-recognition"), exports);
|
|
26
27
|
__exportStar(require("./video-editor"), exports);
|
|
27
28
|
__exportStar(require("./music"), exports);
|
|
28
29
|
__exportStar(require("./image-generation"), exports);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import {
|
|
3
|
+
CanvasNodePositionSchema,
|
|
4
|
+
PhotoStudioCheckpointSchema,
|
|
5
|
+
PhotoStudioImageInputSchema,
|
|
6
|
+
} from '../../models';
|
|
7
|
+
|
|
8
|
+
export namespace AddPhotoStudioImageCommand {
|
|
9
|
+
export const RequestParamSchema = z.object({
|
|
10
|
+
canvasId: z.string().uuid(),
|
|
11
|
+
});
|
|
12
|
+
export type RequestParam = z.infer<typeof RequestParamSchema>;
|
|
13
|
+
|
|
14
|
+
export const RequestSchema = z
|
|
15
|
+
.object({
|
|
16
|
+
fileId: z.string().uuid().optional(),
|
|
17
|
+
displayName: z.string().nullable().optional(),
|
|
18
|
+
position: CanvasNodePositionSchema.optional(),
|
|
19
|
+
images: z.array(PhotoStudioImageInputSchema).min(1).optional(),
|
|
20
|
+
baseCheckpointSequence: z.number().int().min(0),
|
|
21
|
+
})
|
|
22
|
+
.superRefine((data, ctx) => {
|
|
23
|
+
if (data.images?.length) return;
|
|
24
|
+
if (data.fileId && data.position) return;
|
|
25
|
+
|
|
26
|
+
ctx.addIssue({
|
|
27
|
+
code: z.ZodIssueCode.custom,
|
|
28
|
+
message: 'Either images or fileId with position is required',
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
32
|
+
|
|
33
|
+
export const ResponseSchema = z.object({
|
|
34
|
+
data: PhotoStudioCheckpointSchema,
|
|
35
|
+
});
|
|
36
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PhotoStudioCheckpointSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace DeletePhotoStudioImageCommand {
|
|
5
|
+
export const RequestParamSchema = z.object({
|
|
6
|
+
canvasId: z.string().uuid(),
|
|
7
|
+
imageId: z.string().uuid(),
|
|
8
|
+
});
|
|
9
|
+
export type RequestParam = z.infer<typeof RequestParamSchema>;
|
|
10
|
+
|
|
11
|
+
export const RequestSchema = z.object({
|
|
12
|
+
baseCheckpointSequence: z.number().int().positive(),
|
|
13
|
+
});
|
|
14
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
15
|
+
|
|
16
|
+
export const ResponseSchema = z.object({
|
|
17
|
+
data: PhotoStudioCheckpointSchema,
|
|
18
|
+
});
|
|
19
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { FindPhotoStudioJobByIdQuery } from './find-photo-studio-job-by-id.query';
|
|
3
|
+
|
|
4
|
+
export namespace DeletePhotoStudioJobCommand {
|
|
5
|
+
export const RequestParamSchema = FindPhotoStudioJobByIdQuery.RequestParamSchema;
|
|
6
|
+
export type RequestParam = z.infer<typeof RequestParamSchema>;
|
|
7
|
+
|
|
8
|
+
export const ResponseSchema = z.object({
|
|
9
|
+
data: z.object({
|
|
10
|
+
isDeleted: z.boolean(),
|
|
11
|
+
}),
|
|
12
|
+
});
|
|
13
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
14
|
+
}
|
|
@@ -56,6 +56,7 @@ export namespace ExecutePhotoStudioActionCommand {
|
|
|
56
56
|
fontStyle: z.nativeEnum(PHOTO_STUDIO_FONT_STYLE_ALIAS),
|
|
57
57
|
placement: z.nativeEnum(PHOTO_STUDIO_PLACEMENT_ALIAS),
|
|
58
58
|
color: z.string().optional(),
|
|
59
|
+
aspectRatio: z.string().optional(),
|
|
59
60
|
})
|
|
60
61
|
.strict();
|
|
61
62
|
const UpscaleParamsSchema = z
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
export * from './add-photo-studio-checkpoint.command';
|
|
2
|
+
export * from './add-photo-studio-image.command';
|
|
2
3
|
export * from './clear-photo-studio-checkpoints.command';
|
|
3
4
|
export * from './create-photo-studio-canvas.command';
|
|
4
5
|
export * from './delete-photo-studio-canvas.command';
|
|
5
6
|
export * from './delete-photo-studio-checkpoint.command';
|
|
7
|
+
export * from './delete-photo-studio-image.command';
|
|
8
|
+
export * from './delete-photo-studio-job.command';
|
|
6
9
|
export * from './execute-photo-studio-action.command';
|
|
7
10
|
export * from './find-photo-studio-canvas-by-uuid.query';
|
|
8
11
|
export * from './find-photo-studio-canvases.query';
|
|
@@ -13,6 +16,7 @@ export * from './get-photo-studio-actions.query';
|
|
|
13
16
|
export * from './get-photo-studio-config.query';
|
|
14
17
|
export * from './move-photo-studio-image.command';
|
|
15
18
|
export * from './rename-photo-studio-image.command';
|
|
19
|
+
export * from './retry-photo-studio-job.command';
|
|
16
20
|
export * from './save-photo-studio-canvas.command';
|
|
17
21
|
export * from './update-photo-studio-canvas.command';
|
|
18
22
|
export * from './update-photo-studio-checkpoint.command';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ExecutePhotoStudioActionCommand } from './execute-photo-studio-action.command';
|
|
3
|
+
import { FindPhotoStudioJobByIdQuery } from './find-photo-studio-job-by-id.query';
|
|
4
|
+
|
|
5
|
+
export namespace RetryPhotoStudioJobCommand {
|
|
6
|
+
export const RequestParamSchema = FindPhotoStudioJobByIdQuery.RequestParamSchema;
|
|
7
|
+
export type RequestParam = z.infer<typeof RequestParamSchema>;
|
|
8
|
+
|
|
9
|
+
export const ResponseSchema = z.object({
|
|
10
|
+
data: ExecutePhotoStudioActionCommand.PhotoStudioExecuteJobSchema,
|
|
11
|
+
});
|
|
12
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export namespace DeleteImageRecognitionJobByUuidCommand {
|
|
4
|
+
export const RequestParamsSchema = z.object({
|
|
5
|
+
uuid: z.string().uuid(),
|
|
6
|
+
});
|
|
7
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
8
|
+
|
|
9
|
+
export const ResponseSchema = z.void();
|
|
10
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionJobSchema, ToolJobSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace FindImageRecognitionJobByUUIDCommand {
|
|
5
|
+
export const RequestParamsSchema = ToolJobSchema.pick({
|
|
6
|
+
uuid: true,
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type Request = z.infer<typeof RequestParamsSchema>;
|
|
10
|
+
|
|
11
|
+
export const ResponseSchema = z.object({
|
|
12
|
+
data: ImageRecognitionJobSchema,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { QueryBooleanSchema } from '../../../helpers';
|
|
3
|
+
import { JOB_SORT, TOOL_JOB_STATUS } from '../../../constants';
|
|
4
|
+
import { ImageRecognitionJobSchema } from '../../../models';
|
|
5
|
+
|
|
6
|
+
export namespace FindImageRecognitionJobsCommand {
|
|
7
|
+
export const RequestQuerySchema = z.object({
|
|
8
|
+
limit: z.coerce.number().min(1).optional(),
|
|
9
|
+
offset: z.coerce.number().min(0).default(0).optional(),
|
|
10
|
+
title: z.string().optional(),
|
|
11
|
+
isFavorite: QueryBooleanSchema.optional(),
|
|
12
|
+
createdAtSortOrder: z.nativeEnum(JOB_SORT).optional().default(JOB_SORT.DESC),
|
|
13
|
+
status: z.nativeEnum(TOOL_JOB_STATUS).optional(),
|
|
14
|
+
});
|
|
15
|
+
export type RequestQuery = z.infer<typeof RequestQuerySchema>;
|
|
16
|
+
|
|
17
|
+
export const ResponseSchema = z.object({
|
|
18
|
+
data: z.array(ImageRecognitionJobSchema),
|
|
19
|
+
totalPages: z.number(),
|
|
20
|
+
total: z.number(),
|
|
21
|
+
page: z.number(),
|
|
22
|
+
});
|
|
23
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionConfigSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace GetImageRecognitionToolConfigCommand {
|
|
5
|
+
export const ResponseSchema = z.object({
|
|
6
|
+
data: ImageRecognitionConfigSchema,
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionJobSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace ImageRecognitionCommand {
|
|
5
|
+
export const RequestSchema = z.object({
|
|
6
|
+
modelId: z.string().uuid(),
|
|
7
|
+
categoryId: z.string().uuid(),
|
|
8
|
+
prompt: z.string().optional(),
|
|
9
|
+
params: z.object({
|
|
10
|
+
attachedFiles: z.array(z.string()).min(1),
|
|
11
|
+
}),
|
|
12
|
+
});
|
|
13
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
14
|
+
|
|
15
|
+
export const ResponseSchema = z.object({
|
|
16
|
+
data: ImageRecognitionJobSchema,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './delete-all-image-recognition-jobs.command';
|
|
2
|
+
export * from './delete-image-recognition-job-by-uuid.command';
|
|
3
|
+
export * from './find-image-recognition-job-by-uuid.command';
|
|
4
|
+
export * from './find-image-recognition-jobs.command';
|
|
5
|
+
export * from './get-image-recognition-tool-config.command';
|
|
6
|
+
export * from './image-recognition.command';
|
|
7
|
+
export * from './retry-image-recognition-job.command';
|
|
8
|
+
export * from './set-reaction-to-image-recognition-job.command';
|
|
9
|
+
export * from './update-image-recognition-job-favorite.command';
|
|
10
|
+
export * from './update-image-recognition-job-title.command';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionJobSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace RetryImageRecognitionJobCommand {
|
|
5
|
+
export const RequestParamsSchema = z.object({
|
|
6
|
+
uuid: z.string().uuid(),
|
|
7
|
+
});
|
|
8
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
9
|
+
|
|
10
|
+
export const RequestBodySchema = z.object({
|
|
11
|
+
modelId: z.string().uuid().optional(),
|
|
12
|
+
categoryId: z.string().uuid().optional(),
|
|
13
|
+
prompt: z.string().optional(),
|
|
14
|
+
params: z
|
|
15
|
+
.object({
|
|
16
|
+
attachedFiles: z.array(z.string()).min(1),
|
|
17
|
+
})
|
|
18
|
+
.optional(),
|
|
19
|
+
});
|
|
20
|
+
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
21
|
+
|
|
22
|
+
export const ResponseSchema = z.object({
|
|
23
|
+
data: ImageRecognitionJobSchema,
|
|
24
|
+
});
|
|
25
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionJobSchema } from '../../../models';
|
|
3
|
+
import { USER_REACTION } from '../../../constants';
|
|
4
|
+
|
|
5
|
+
export namespace SetReactionToImageRecognitionJobCommand {
|
|
6
|
+
export const RequestSchema = z
|
|
7
|
+
.object({
|
|
8
|
+
reaction: z.nativeEnum(USER_REACTION).nullable(),
|
|
9
|
+
dislikeReason: z.string().nullable().default(null),
|
|
10
|
+
})
|
|
11
|
+
.refine(
|
|
12
|
+
(data) => {
|
|
13
|
+
if (data.reaction !== USER_REACTION.DISLIKED && data.dislikeReason) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
message: 'Dislike reason is not allowed when reaction is not DISLIKED',
|
|
20
|
+
},
|
|
21
|
+
);
|
|
22
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
23
|
+
|
|
24
|
+
export const RequestParamsSchema = z.object({
|
|
25
|
+
uuid: z.string().uuid(),
|
|
26
|
+
});
|
|
27
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
28
|
+
|
|
29
|
+
export const ResponseSchema = z.object({
|
|
30
|
+
data: ImageRecognitionJobSchema,
|
|
31
|
+
});
|
|
32
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionJobSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace UpdateImageRecognitionJobFavoriteCommand {
|
|
5
|
+
export const RequestSchema = z.object({
|
|
6
|
+
isFavorite: z.boolean(),
|
|
7
|
+
});
|
|
8
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
9
|
+
|
|
10
|
+
export const RequestParamsSchema = z.object({
|
|
11
|
+
uuid: z.string().uuid(),
|
|
12
|
+
});
|
|
13
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
14
|
+
|
|
15
|
+
export const ResponseSchema = z.object({
|
|
16
|
+
data: ImageRecognitionJobSchema,
|
|
17
|
+
});
|
|
18
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionJobSchema } from '../../../models';
|
|
3
|
+
|
|
4
|
+
export namespace UpdateImageRecognitionJobTitleCommand {
|
|
5
|
+
export const RequestSchema = z.object({
|
|
6
|
+
title: z.string().min(1).max(40).trim(),
|
|
7
|
+
});
|
|
8
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
9
|
+
|
|
10
|
+
export const RequestParamsSchema = z.object({
|
|
11
|
+
uuid: z.string().uuid(),
|
|
12
|
+
});
|
|
13
|
+
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
14
|
+
|
|
15
|
+
export const ResponseSchema = z.object({
|
|
16
|
+
data: ImageRecognitionJobSchema,
|
|
17
|
+
});
|
|
18
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
19
|
+
}
|
package/commands/tools/index.ts
CHANGED
package/constants/index.ts
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE } from './enums';
|
|
2
|
+
|
|
3
|
+
export const PHOTO_STUDIO_CHECKPOINT_ACTION_TITLES_BY_TYPE = {
|
|
4
|
+
[PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE.ACTION]: 'Действие',
|
|
5
|
+
[PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE.IMAGE_GENERATED]: 'Изображение сгенерировано',
|
|
6
|
+
[PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE.IMAGE_ADDED]: 'Изображение добавлено',
|
|
7
|
+
[PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE.IMAGE_DELETED]: 'Изображение удалено',
|
|
8
|
+
[PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE.CANVAS_SAVED]: 'Canvas сохранён',
|
|
9
|
+
} as const satisfies Record<PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE, string>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export const ImageRecognitionCategorySchema = z.object({
|
|
4
|
+
uuid: z.string(),
|
|
5
|
+
parentId: z.string().nullable(),
|
|
6
|
+
title: z.string(),
|
|
7
|
+
systemPrompt: z.string(),
|
|
8
|
+
order: z.number(),
|
|
9
|
+
status: z.string(),
|
|
10
|
+
createdAt: z.date(),
|
|
11
|
+
updatedAt: z.date(),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export type ImageRecognitionCategory = z.infer<typeof ImageRecognitionCategorySchema>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImageRecognitionModelSchema } from './image-recognition-model.schema';
|
|
3
|
+
import { ImageRecognitionCategorySchema } from './image-recognition-category.schema';
|
|
4
|
+
|
|
5
|
+
export const ImageRecognitionConfigSchema = z.object({
|
|
6
|
+
models: z.array(ImageRecognitionModelSchema),
|
|
7
|
+
categories: z.array(ImageRecognitionCategorySchema),
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export type ImageRecognitionConfig = z.infer<typeof ImageRecognitionConfigSchema>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { USER_REACTION } from '../../../constants';
|
|
3
|
+
import { ToolJobSchema } from '../../tool-job.schema';
|
|
4
|
+
import { AttachedToolFileSchema } from '../common';
|
|
5
|
+
|
|
6
|
+
export const ImageRecognitionJobParamsSchema = z.object({
|
|
7
|
+
attachedFiles: z.array(AttachedToolFileSchema),
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export type ImageRecognitionJobParams = z.infer<typeof ImageRecognitionJobParamsSchema>;
|
|
11
|
+
|
|
12
|
+
export const ImageRecognitionJobSchema = ToolJobSchema.extend({
|
|
13
|
+
title: z.string(),
|
|
14
|
+
prompt: z.string().nullable(),
|
|
15
|
+
categoryId: z.string(),
|
|
16
|
+
aiOutput: z.string().nullable(),
|
|
17
|
+
reaction: z.nativeEnum(USER_REACTION).nullable(),
|
|
18
|
+
dislikeReason: z.string().nullable(),
|
|
19
|
+
modelId: z.string(),
|
|
20
|
+
price: z.number(),
|
|
21
|
+
params: ImageRecognitionJobParamsSchema,
|
|
22
|
+
completedAt: z.date().nullable().optional(),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export type ImageRecognitionJob = z.infer<typeof ImageRecognitionJobSchema>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { IconVariantsSchema } from '../../icon-variants.schema';
|
|
3
|
+
|
|
4
|
+
export const ImageRecognitionModelParamsSchema = z.object({
|
|
5
|
+
imageAttachment: z.object({
|
|
6
|
+
supported: z.boolean(),
|
|
7
|
+
maxImages: z.number(),
|
|
8
|
+
acceptedTypes: z.array(z.string()),
|
|
9
|
+
}),
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export type ImageRecognitionModelParams = z.infer<typeof ImageRecognitionModelParamsSchema>;
|
|
13
|
+
|
|
14
|
+
export const ImageRecognitionModelSchema = z.object({
|
|
15
|
+
uuid: z.string(),
|
|
16
|
+
title: z.string(),
|
|
17
|
+
description: z.string(),
|
|
18
|
+
aiModel: z.string(),
|
|
19
|
+
price: z.number(),
|
|
20
|
+
order: z.number(),
|
|
21
|
+
status: z.string(),
|
|
22
|
+
icons: IconVariantsSchema,
|
|
23
|
+
params: ImageRecognitionModelParamsSchema,
|
|
24
|
+
createdAt: z.date(),
|
|
25
|
+
updatedAt: z.date(),
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export type ImageRecognitionModel = z.infer<typeof ImageRecognitionModelSchema>;
|
package/models/tools/index.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EMAIL_STUDENT_DOMAINS = exports.WHITE_LIST = void 0;
|
|
4
|
-
exports.WHITE_LIST = [
|
|
5
|
-
'mail.ru',
|
|
6
|
-
'yandex.ru',
|
|
7
|
-
'gmail.com',
|
|
8
|
-
'rambler.ru',
|
|
9
|
-
'bk.ru',
|
|
10
|
-
'inbox.ru',
|
|
11
|
-
'list.ru',
|
|
12
|
-
'ya.ru',
|
|
13
|
-
'hotmail.com',
|
|
14
|
-
'outlook.com',
|
|
15
|
-
'msn.com',
|
|
16
|
-
'live.com',
|
|
17
|
-
'qip.ru',
|
|
18
|
-
'pochta.ru',
|
|
19
|
-
'icloud.com',
|
|
20
|
-
'mail.com',
|
|
21
|
-
'tut.by',
|
|
22
|
-
'ukr.net',
|
|
23
|
-
'vk.com',
|
|
24
|
-
'e1.ru',
|
|
25
|
-
'online.ua',
|
|
26
|
-
'bigmir.net',
|
|
27
|
-
'meta.ua',
|
|
28
|
-
'me.com',
|
|
29
|
-
'yandex.com',
|
|
30
|
-
'yandex.kz',
|
|
31
|
-
'mail.ua',
|
|
32
|
-
'protonmail.com',
|
|
33
|
-
'zoho.com',
|
|
34
|
-
'gmx.com',
|
|
35
|
-
'web.de',
|
|
36
|
-
'aol.com',
|
|
37
|
-
'gmx.net',
|
|
38
|
-
'yandex.by',
|
|
39
|
-
'live.ru',
|
|
40
|
-
'inbox.lv',
|
|
41
|
-
'mail.kz',
|
|
42
|
-
'outlook.ru',
|
|
43
|
-
'yandex.ua',
|
|
44
|
-
'email.com',
|
|
45
|
-
'fastmail.com',
|
|
46
|
-
'hinet.net',
|
|
47
|
-
'zohomail.com',
|
|
48
|
-
'tut.net',
|
|
49
|
-
'yahoo.com',
|
|
50
|
-
'rocketmail.com',
|
|
51
|
-
'live.fr',
|
|
52
|
-
'yahoo.co.jp',
|
|
53
|
-
'rediffmail.com',
|
|
54
|
-
'ymail.com',
|
|
55
|
-
'hushmail.com',
|
|
56
|
-
];
|
|
57
|
-
exports.EMAIL_STUDENT_DOMAINS = ['edu', 'study', 'student'];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './white-list';
|