@purpleschool/gptbot 0.14.13-avatar-studio → 0.14.15-avatar-studio

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.
Files changed (35) hide show
  1. package/api/controllers/http/photo-studio.ts +1 -0
  2. package/api/routes.ts +1 -0
  3. package/build/api/controllers/http/photo-studio.js +1 -0
  4. package/build/api/routes.js +1 -0
  5. package/build/commands/photo-studio/execute-photo-studio-action.command.js +6 -15
  6. package/build/commands/photo-studio/get-photo-studio-config.query.js +16 -0
  7. package/build/commands/photo-studio/index.js +1 -0
  8. package/build/constants/photo-studio/enums/index.js +6 -0
  9. package/build/constants/photo-studio/enums/photo-studio-action-alias.enum.js +18 -0
  10. package/build/constants/photo-studio/enums/photo-studio-effect-alias.enum.js +18 -0
  11. package/build/constants/photo-studio/enums/photo-studio-font-style-alias.enum.js +12 -0
  12. package/build/constants/photo-studio/enums/photo-studio-placement-alias.enum.js +9 -0
  13. package/build/constants/photo-studio/enums/photo-studio-upscale-size.enum.js +9 -0
  14. package/build/constants/photo-studio/enums/photo-studio-variation-strength-alias.enum.js +9 -0
  15. package/build/constants/photo-studio/index.js +1 -0
  16. package/build/constants/photo-studio/photo-studio-action-title.constant.js +18 -0
  17. package/build/constants/tool/enums/tool-type.enum.js +1 -0
  18. package/build/models/photo-studio/photo-studio-action.schema.js +2 -1
  19. package/build/models/photo-studio/photo-studio-checkpoint.schema.js +1 -1
  20. package/commands/photo-studio/execute-photo-studio-action.command.ts +15 -16
  21. package/commands/photo-studio/get-photo-studio-config.query.ts +18 -0
  22. package/commands/photo-studio/index.ts +1 -0
  23. package/constants/photo-studio/enums/index.ts +6 -0
  24. package/constants/photo-studio/enums/photo-studio-action-alias.enum.ts +14 -0
  25. package/constants/photo-studio/enums/photo-studio-effect-alias.enum.ts +14 -0
  26. package/constants/photo-studio/enums/photo-studio-font-style-alias.enum.ts +8 -0
  27. package/constants/photo-studio/enums/photo-studio-placement-alias.enum.ts +5 -0
  28. package/constants/photo-studio/enums/photo-studio-upscale-size.enum.ts +5 -0
  29. package/constants/photo-studio/enums/photo-studio-variation-strength-alias.enum.ts +5 -0
  30. package/constants/photo-studio/index.ts +1 -0
  31. package/constants/photo-studio/photo-studio-action-title.constant.ts +18 -0
  32. package/constants/tool/enums/tool-type.enum.ts +1 -0
  33. package/models/photo-studio/photo-studio-action.schema.ts +2 -1
  34. package/models/photo-studio/photo-studio-checkpoint.schema.ts +1 -1
  35. package/package.json +1 -1
@@ -2,6 +2,7 @@ export const PHOTO_STUDIO_PRIVATE_CONTROLLER = 'private/photo-studio' as const;
2
2
 
3
3
  export const PHOTO_STUDIO_ROUTES = {
4
4
  ACTIONS: 'actions',
5
+ CONFIG: 'config',
5
6
  EXECUTE: (canvasId: string) => `canvases/${canvasId}/execute`,
6
7
  CREATE_CANVAS: 'canvases',
7
8
  GET_CANVASES: 'canvases',
package/api/routes.ts CHANGED
@@ -1717,6 +1717,7 @@ export const REST_API = {
1717
1717
  },
1718
1718
  PHOTO_STUDIO_PRIVATE: {
1719
1719
  ACTIONS: `${ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.ACTIONS}`,
1720
+ CONFIG: `${ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.CONFIG}`,
1720
1721
  CREATE_CANVAS: `${ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.CREATE_CANVAS}`,
1721
1722
  GET_CANVASES: `${ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.GET_CANVASES}`,
1722
1723
  GET_CANVAS: (canvasId: string) =>
@@ -4,6 +4,7 @@ exports.PHOTO_STUDIO_ROUTES = exports.PHOTO_STUDIO_PRIVATE_CONTROLLER = void 0;
4
4
  exports.PHOTO_STUDIO_PRIVATE_CONTROLLER = 'private/photo-studio';
5
5
  exports.PHOTO_STUDIO_ROUTES = {
6
6
  ACTIONS: 'actions',
7
+ CONFIG: 'config',
7
8
  EXECUTE: (canvasId) => `canvases/${canvasId}/execute`,
8
9
  CREATE_CANVAS: 'canvases',
9
10
  GET_CANVASES: 'canvases',
@@ -1230,6 +1230,7 @@ exports.REST_API = {
1230
1230
  },
1231
1231
  PHOTO_STUDIO_PRIVATE: {
1232
1232
  ACTIONS: `${exports.ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.ACTIONS}`,
1233
+ CONFIG: `${exports.ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.CONFIG}`,
1233
1234
  CREATE_CANVAS: `${exports.ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.CREATE_CANVAS}`,
1234
1235
  GET_CANVASES: `${exports.ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.GET_CANVASES}`,
1235
1236
  GET_CANVAS: (canvasId) => `${exports.ROOT}/${CONTROLLERS.PHOTO_STUDIO_PRIVATE_CONTROLLER}/${CONTROLLERS.PHOTO_STUDIO_ROUTES.GET_CANVAS(canvasId)}`,
@@ -8,7 +8,7 @@ const models_1 = require("../../models");
8
8
  var ExecutePhotoStudioActionCommand;
9
9
  (function (ExecutePhotoStudioActionCommand) {
10
10
  ExecutePhotoStudioActionCommand.RequestSchema = zod_1.z.object({
11
- actionAlias: zod_1.z.string().min(1),
11
+ actionAlias: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_ACTION_ALIAS),
12
12
  modelId: zod_1.z.string().uuid(),
13
13
  prompt: zod_1.z.string().optional(),
14
14
  params: zod_1.z
@@ -17,21 +17,12 @@ var ExecutePhotoStudioActionCommand;
17
17
  enhancePrompt: zod_1.z.boolean().optional(),
18
18
  resolution: zod_1.z.nativeEnum(image_generation_resolution_enum_1.IMAGE_GENERATION_RESOLUTION).optional(),
19
19
  aspectRatio: zod_1.z.string().optional(),
20
- effect: zod_1.z.string().optional(),
21
- size: zod_1.z.enum(['2x', '4x', '8x']).optional(),
20
+ effect: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_EFFECT_ALIAS).optional(),
21
+ size: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_UPSCALE_SIZE).optional(),
22
22
  variationsCount: zod_1.z.union([zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)]).optional(),
23
- variationStrength: zod_1.z.enum(['light', 'medium', 'high']).optional(),
24
- fontStyle: zod_1.z
25
- .enum([
26
- 'calligraphy',
27
- 'handwritten',
28
- 'elegant',
29
- 'decorative',
30
- 'poster',
31
- 'engraving',
32
- ])
33
- .optional(),
34
- placement: zod_1.z.enum(['top', 'center', 'bottom']).optional(),
23
+ variationStrength: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS).optional(),
24
+ fontStyle: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_FONT_STYLE_ALIAS).optional(),
25
+ placement: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_PLACEMENT_ALIAS).optional(),
35
26
  color: zod_1.z.string().optional(),
36
27
  })
37
28
  .default({}),
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetPhotoStudioConfigQuery = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../constants");
6
+ const models_1 = require("../../models");
7
+ var GetPhotoStudioConfigQuery;
8
+ (function (GetPhotoStudioConfigQuery) {
9
+ GetPhotoStudioConfigQuery.ConfigSchema = zod_1.z.object({
10
+ [constants_1.TOOL_TYPE.IMAGE_GENERATION]: models_1.ImageGenerationConfigSchema,
11
+ [constants_1.TOOL_TYPE.IMAGE]: models_1.ImageEditorConfigSchema,
12
+ });
13
+ GetPhotoStudioConfigQuery.ResponseSchema = zod_1.z.object({
14
+ data: GetPhotoStudioConfigQuery.ConfigSchema,
15
+ });
16
+ })(GetPhotoStudioConfigQuery || (exports.GetPhotoStudioConfigQuery = GetPhotoStudioConfigQuery = {}));
@@ -26,6 +26,7 @@ __exportStar(require("./find-photo-studio-checkpoints.query"), exports);
26
26
  __exportStar(require("./find-photo-studio-job-by-id.query"), exports);
27
27
  __exportStar(require("./find-photo-studio-jobs.query"), exports);
28
28
  __exportStar(require("./get-photo-studio-actions.query"), exports);
29
+ __exportStar(require("./get-photo-studio-config.query"), exports);
29
30
  __exportStar(require("./save-photo-studio-canvas.command"), exports);
30
31
  __exportStar(require("./update-photo-studio-canvas.command"), exports);
31
32
  __exportStar(require("./update-photo-studio-checkpoint.command"), exports);
@@ -14,4 +14,10 @@ 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("./photo-studio-action-alias.enum"), exports);
17
18
  __exportStar(require("./photo-studio-checkpoint-action-type.enum"), exports);
19
+ __exportStar(require("./photo-studio-effect-alias.enum"), exports);
20
+ __exportStar(require("./photo-studio-font-style-alias.enum"), exports);
21
+ __exportStar(require("./photo-studio-placement-alias.enum"), exports);
22
+ __exportStar(require("./photo-studio-upscale-size.enum"), exports);
23
+ __exportStar(require("./photo-studio-variation-strength-alias.enum"), exports);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHOTO_STUDIO_ACTION_ALIAS = void 0;
4
+ var PHOTO_STUDIO_ACTION_ALIAS;
5
+ (function (PHOTO_STUDIO_ACTION_ALIAS) {
6
+ PHOTO_STUDIO_ACTION_ALIAS["GENERATE"] = "generate";
7
+ PHOTO_STUDIO_ACTION_ALIAS["EDIT"] = "edit";
8
+ PHOTO_STUDIO_ACTION_ALIAS["EFFECTS"] = "effects";
9
+ PHOTO_STUDIO_ACTION_ALIAS["OUTPAINT"] = "outpaint";
10
+ PHOTO_STUDIO_ACTION_ALIAS["REPLACE_BACKGROUND"] = "replace_background";
11
+ PHOTO_STUDIO_ACTION_ALIAS["REMOVE_BACKGROUND"] = "remove_background";
12
+ PHOTO_STUDIO_ACTION_ALIAS["VARIATIONS"] = "variations";
13
+ PHOTO_STUDIO_ACTION_ALIAS["TEXT"] = "text";
14
+ PHOTO_STUDIO_ACTION_ALIAS["UPSCALE"] = "upscale";
15
+ PHOTO_STUDIO_ACTION_ALIAS["BRUSH"] = "brush";
16
+ PHOTO_STUDIO_ACTION_ALIAS["MERGE"] = "merge";
17
+ PHOTO_STUDIO_ACTION_ALIAS["STYLE"] = "style";
18
+ })(PHOTO_STUDIO_ACTION_ALIAS || (exports.PHOTO_STUDIO_ACTION_ALIAS = PHOTO_STUDIO_ACTION_ALIAS = {}));
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHOTO_STUDIO_EFFECT_ALIAS = void 0;
4
+ var PHOTO_STUDIO_EFFECT_ALIAS;
5
+ (function (PHOTO_STUDIO_EFFECT_ALIAS) {
6
+ PHOTO_STUDIO_EFFECT_ALIAS["ORIGINAL"] = "original";
7
+ PHOTO_STUDIO_EFFECT_ALIAS["BLACK_WHITE_CONTRAST"] = "black_white_contrast";
8
+ PHOTO_STUDIO_EFFECT_ALIAS["WARM_DAILY"] = "warm_daily";
9
+ PHOTO_STUDIO_EFFECT_ALIAS["SOCIAL_BRIGHT"] = "social_bright";
10
+ PHOTO_STUDIO_EFFECT_ALIAS["VINTAGE_FILM"] = "vintage_film";
11
+ PHOTO_STUDIO_EFFECT_ALIAS["BASIC_CORRECTION"] = "basic_correction";
12
+ PHOTO_STUDIO_EFFECT_ALIAS["PORTRAIT_RETOUCH"] = "portrait_retouch";
13
+ PHOTO_STUDIO_EFFECT_ALIAS["JUICY_COLORS"] = "juicy_colors";
14
+ PHOTO_STUDIO_EFFECT_ALIAS["URBAN_CONTRAST"] = "urban_contrast";
15
+ PHOTO_STUDIO_EFFECT_ALIAS["NATURE_COLORS"] = "nature_colors";
16
+ PHOTO_STUDIO_EFFECT_ALIAS["CINEMATIC"] = "cinematic";
17
+ PHOTO_STUDIO_EFFECT_ALIAS["SKETCH"] = "sketch";
18
+ })(PHOTO_STUDIO_EFFECT_ALIAS || (exports.PHOTO_STUDIO_EFFECT_ALIAS = PHOTO_STUDIO_EFFECT_ALIAS = {}));
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHOTO_STUDIO_FONT_STYLE_ALIAS = void 0;
4
+ var PHOTO_STUDIO_FONT_STYLE_ALIAS;
5
+ (function (PHOTO_STUDIO_FONT_STYLE_ALIAS) {
6
+ PHOTO_STUDIO_FONT_STYLE_ALIAS["CALLIGRAPHY"] = "calligraphy";
7
+ PHOTO_STUDIO_FONT_STYLE_ALIAS["HANDWRITTEN"] = "handwritten";
8
+ PHOTO_STUDIO_FONT_STYLE_ALIAS["ELEGANT"] = "elegant";
9
+ PHOTO_STUDIO_FONT_STYLE_ALIAS["DECORATIVE"] = "decorative";
10
+ PHOTO_STUDIO_FONT_STYLE_ALIAS["POSTER"] = "poster";
11
+ PHOTO_STUDIO_FONT_STYLE_ALIAS["ENGRAVING"] = "engraving";
12
+ })(PHOTO_STUDIO_FONT_STYLE_ALIAS || (exports.PHOTO_STUDIO_FONT_STYLE_ALIAS = PHOTO_STUDIO_FONT_STYLE_ALIAS = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHOTO_STUDIO_PLACEMENT_ALIAS = void 0;
4
+ var PHOTO_STUDIO_PLACEMENT_ALIAS;
5
+ (function (PHOTO_STUDIO_PLACEMENT_ALIAS) {
6
+ PHOTO_STUDIO_PLACEMENT_ALIAS["TOP"] = "top";
7
+ PHOTO_STUDIO_PLACEMENT_ALIAS["CENTER"] = "center";
8
+ PHOTO_STUDIO_PLACEMENT_ALIAS["BOTTOM"] = "bottom";
9
+ })(PHOTO_STUDIO_PLACEMENT_ALIAS || (exports.PHOTO_STUDIO_PLACEMENT_ALIAS = PHOTO_STUDIO_PLACEMENT_ALIAS = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHOTO_STUDIO_UPSCALE_SIZE = void 0;
4
+ var PHOTO_STUDIO_UPSCALE_SIZE;
5
+ (function (PHOTO_STUDIO_UPSCALE_SIZE) {
6
+ PHOTO_STUDIO_UPSCALE_SIZE["TWO_X"] = "2x";
7
+ PHOTO_STUDIO_UPSCALE_SIZE["FOUR_X"] = "4x";
8
+ PHOTO_STUDIO_UPSCALE_SIZE["EIGHT_X"] = "8x";
9
+ })(PHOTO_STUDIO_UPSCALE_SIZE || (exports.PHOTO_STUDIO_UPSCALE_SIZE = PHOTO_STUDIO_UPSCALE_SIZE = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS = void 0;
4
+ var PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS;
5
+ (function (PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS) {
6
+ PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS["LIGHT"] = "light";
7
+ PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS["MEDIUM"] = "medium";
8
+ PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS["HIGH"] = "high";
9
+ })(PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS || (exports.PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS = PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS = {}));
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./enums"), exports);
18
+ __exportStar(require("./photo-studio-action-title.constant"), exports);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHOTO_STUDIO_ACTION_TITLES_BY_ALIAS = void 0;
4
+ const enums_1 = require("./enums");
5
+ exports.PHOTO_STUDIO_ACTION_TITLES_BY_ALIAS = {
6
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.GENERATE]: 'Обычная генерация',
7
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.EDIT]: 'Правка',
8
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.EFFECTS]: 'Эффекты',
9
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.OUTPAINT]: 'Дорисовать',
10
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.REPLACE_BACKGROUND]: 'Изменить фон',
11
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.REMOVE_BACKGROUND]: 'Удалить фон',
12
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.VARIATIONS]: 'Вариации',
13
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.TEXT]: 'Текст',
14
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.UPSCALE]: 'Upscale',
15
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.BRUSH]: 'AI Кисть',
16
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.MERGE]: 'Слияние',
17
+ [enums_1.PHOTO_STUDIO_ACTION_ALIAS.STYLE]: 'Стиль',
18
+ };
@@ -21,4 +21,5 @@ var TOOL_TYPE;
21
21
  TOOL_TYPE["SPELL_CORRECTOR"] = "SPELL_CORRECTOR";
22
22
  TOOL_TYPE["SOLVING_EDU_TASK"] = "SOLVING_EDU_TASK";
23
23
  TOOL_TYPE["HTML_PAGE_BUILDER"] = "HTML_PAGE_BUILDER";
24
+ TOOL_TYPE["DIAGRAMS"] = "DIAGRAMS";
24
25
  })(TOOL_TYPE || (exports.TOOL_TYPE = TOOL_TYPE = {}));
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PhotoStudioActionSchema = exports.PhotoStudioImageSettingsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const constants_1 = require("../../constants");
5
6
  exports.PhotoStudioImageSettingsSchema = zod_1.z.object({
6
7
  minImages: zod_1.z.number().int().min(0),
7
8
  maxImages: zod_1.z.number().int().min(1),
8
9
  });
9
10
  exports.PhotoStudioActionSchema = zod_1.z.object({
10
- alias: zod_1.z.string().min(1),
11
+ alias: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_ACTION_ALIAS),
11
12
  title: zod_1.z.string().min(1),
12
13
  icon: zod_1.z.string().min(1),
13
14
  allowUserPrompt: zod_1.z.boolean(),
@@ -7,11 +7,11 @@ const photo_studio_image_node_schema_1 = require("./photo-studio-image-node.sche
7
7
  exports.PhotoStudioCheckpointActionSchema = zod_1.z.object({
8
8
  type: zod_1.z.nativeEnum(constants_1.PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE),
9
9
  actionAlias: zod_1.z.string().nullable().optional(),
10
- title: zod_1.z.string().nullable().optional(),
11
10
  params: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).nullable().optional(),
12
11
  });
13
12
  exports.PhotoStudioCheckpointSchema = zod_1.z.object({
14
13
  uuid: zod_1.z.string().uuid(),
14
+ title: zod_1.z.string(),
15
15
  canvasId: zod_1.z.string().uuid(),
16
16
  sequence: zod_1.z.number().int().positive(),
17
17
  action: exports.PhotoStudioCheckpointActionSchema,
@@ -1,11 +1,19 @@
1
1
  import { z } from 'zod';
2
- import { TOOL_CONTENT_TYPE } from '../../constants';
2
+ import {
3
+ PHOTO_STUDIO_ACTION_ALIAS,
4
+ PHOTO_STUDIO_EFFECT_ALIAS,
5
+ PHOTO_STUDIO_FONT_STYLE_ALIAS,
6
+ PHOTO_STUDIO_PLACEMENT_ALIAS,
7
+ PHOTO_STUDIO_UPSCALE_SIZE,
8
+ PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS,
9
+ TOOL_CONTENT_TYPE,
10
+ } from '../../constants';
3
11
  import { IMAGE_GENERATION_RESOLUTION } from '../../constants/tool-image-generation/enums/image-generation-resolution.enum';
4
12
  import { CanvasNodePositionSchema, ToolJobSchema } from '../../models';
5
13
 
6
14
  export namespace ExecutePhotoStudioActionCommand {
7
15
  export const RequestSchema = z.object({
8
- actionAlias: z.string().min(1),
16
+ actionAlias: z.nativeEnum(PHOTO_STUDIO_ACTION_ALIAS),
9
17
  modelId: z.string().uuid(),
10
18
  prompt: z.string().optional(),
11
19
  params: z
@@ -14,21 +22,12 @@ export namespace ExecutePhotoStudioActionCommand {
14
22
  enhancePrompt: z.boolean().optional(),
15
23
  resolution: z.nativeEnum(IMAGE_GENERATION_RESOLUTION).optional(),
16
24
  aspectRatio: z.string().optional(),
17
- effect: z.string().optional(),
18
- size: z.enum(['2x', '4x', '8x']).optional(),
25
+ effect: z.nativeEnum(PHOTO_STUDIO_EFFECT_ALIAS).optional(),
26
+ size: z.nativeEnum(PHOTO_STUDIO_UPSCALE_SIZE).optional(),
19
27
  variationsCount: z.union([z.literal(2), z.literal(3), z.literal(4)]).optional(),
20
- variationStrength: z.enum(['light', 'medium', 'high']).optional(),
21
- fontStyle: z
22
- .enum([
23
- 'calligraphy',
24
- 'handwritten',
25
- 'elegant',
26
- 'decorative',
27
- 'poster',
28
- 'engraving',
29
- ])
30
- .optional(),
31
- placement: z.enum(['top', 'center', 'bottom']).optional(),
28
+ variationStrength: z.nativeEnum(PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS).optional(),
29
+ fontStyle: z.nativeEnum(PHOTO_STUDIO_FONT_STYLE_ALIAS).optional(),
30
+ placement: z.nativeEnum(PHOTO_STUDIO_PLACEMENT_ALIAS).optional(),
32
31
  color: z.string().optional(),
33
32
  })
34
33
  .default({}),
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { TOOL_TYPE } from '../../constants';
3
+ import { ImageEditorConfigSchema, ImageGenerationConfigSchema } from '../../models';
4
+
5
+ export namespace GetPhotoStudioConfigQuery {
6
+ export const ConfigSchema = z.object({
7
+ [TOOL_TYPE.IMAGE_GENERATION]: ImageGenerationConfigSchema,
8
+ [TOOL_TYPE.IMAGE]: ImageEditorConfigSchema,
9
+ });
10
+
11
+ export type Config = z.infer<typeof ConfigSchema>;
12
+
13
+ export const ResponseSchema = z.object({
14
+ data: ConfigSchema,
15
+ });
16
+
17
+ export type Response = z.infer<typeof ResponseSchema>;
18
+ }
@@ -10,6 +10,7 @@ export * from './find-photo-studio-checkpoints.query';
10
10
  export * from './find-photo-studio-job-by-id.query';
11
11
  export * from './find-photo-studio-jobs.query';
12
12
  export * from './get-photo-studio-actions.query';
13
+ export * from './get-photo-studio-config.query';
13
14
  export * from './save-photo-studio-canvas.command';
14
15
  export * from './update-photo-studio-canvas.command';
15
16
  export * from './update-photo-studio-checkpoint.command';
@@ -1 +1,7 @@
1
+ export * from './photo-studio-action-alias.enum';
1
2
  export * from './photo-studio-checkpoint-action-type.enum';
3
+ export * from './photo-studio-effect-alias.enum';
4
+ export * from './photo-studio-font-style-alias.enum';
5
+ export * from './photo-studio-placement-alias.enum';
6
+ export * from './photo-studio-upscale-size.enum';
7
+ export * from './photo-studio-variation-strength-alias.enum';
@@ -0,0 +1,14 @@
1
+ export enum PHOTO_STUDIO_ACTION_ALIAS {
2
+ GENERATE = 'generate',
3
+ EDIT = 'edit',
4
+ EFFECTS = 'effects',
5
+ OUTPAINT = 'outpaint',
6
+ REPLACE_BACKGROUND = 'replace_background',
7
+ REMOVE_BACKGROUND = 'remove_background',
8
+ VARIATIONS = 'variations',
9
+ TEXT = 'text',
10
+ UPSCALE = 'upscale',
11
+ BRUSH = 'brush',
12
+ MERGE = 'merge',
13
+ STYLE = 'style',
14
+ }
@@ -0,0 +1,14 @@
1
+ export enum PHOTO_STUDIO_EFFECT_ALIAS {
2
+ ORIGINAL = 'original',
3
+ BLACK_WHITE_CONTRAST = 'black_white_contrast',
4
+ WARM_DAILY = 'warm_daily',
5
+ SOCIAL_BRIGHT = 'social_bright',
6
+ VINTAGE_FILM = 'vintage_film',
7
+ BASIC_CORRECTION = 'basic_correction',
8
+ PORTRAIT_RETOUCH = 'portrait_retouch',
9
+ JUICY_COLORS = 'juicy_colors',
10
+ URBAN_CONTRAST = 'urban_contrast',
11
+ NATURE_COLORS = 'nature_colors',
12
+ CINEMATIC = 'cinematic',
13
+ SKETCH = 'sketch',
14
+ }
@@ -0,0 +1,8 @@
1
+ export enum PHOTO_STUDIO_FONT_STYLE_ALIAS {
2
+ CALLIGRAPHY = 'calligraphy',
3
+ HANDWRITTEN = 'handwritten',
4
+ ELEGANT = 'elegant',
5
+ DECORATIVE = 'decorative',
6
+ POSTER = 'poster',
7
+ ENGRAVING = 'engraving',
8
+ }
@@ -0,0 +1,5 @@
1
+ export enum PHOTO_STUDIO_PLACEMENT_ALIAS {
2
+ TOP = 'top',
3
+ CENTER = 'center',
4
+ BOTTOM = 'bottom',
5
+ }
@@ -0,0 +1,5 @@
1
+ export enum PHOTO_STUDIO_UPSCALE_SIZE {
2
+ TWO_X = '2x',
3
+ FOUR_X = '4x',
4
+ EIGHT_X = '8x',
5
+ }
@@ -0,0 +1,5 @@
1
+ export enum PHOTO_STUDIO_VARIATION_STRENGTH_ALIAS {
2
+ LIGHT = 'light',
3
+ MEDIUM = 'medium',
4
+ HIGH = 'high',
5
+ }
@@ -1 +1,2 @@
1
1
  export * from './enums';
2
+ export * from './photo-studio-action-title.constant';
@@ -0,0 +1,18 @@
1
+ import { PHOTO_STUDIO_ACTION_ALIAS } from './enums';
2
+
3
+ export const PHOTO_STUDIO_ACTION_TITLES_BY_ALIAS = {
4
+ [PHOTO_STUDIO_ACTION_ALIAS.GENERATE]: 'Обычная генерация',
5
+ [PHOTO_STUDIO_ACTION_ALIAS.EDIT]: 'Правка',
6
+ [PHOTO_STUDIO_ACTION_ALIAS.EFFECTS]: 'Эффекты',
7
+ [PHOTO_STUDIO_ACTION_ALIAS.OUTPAINT]: 'Дорисовать',
8
+ [PHOTO_STUDIO_ACTION_ALIAS.REPLACE_BACKGROUND]: 'Изменить фон',
9
+ [PHOTO_STUDIO_ACTION_ALIAS.REMOVE_BACKGROUND]: 'Удалить фон',
10
+ [PHOTO_STUDIO_ACTION_ALIAS.VARIATIONS]: 'Вариации',
11
+ [PHOTO_STUDIO_ACTION_ALIAS.TEXT]: 'Текст',
12
+ [PHOTO_STUDIO_ACTION_ALIAS.UPSCALE]: 'Upscale',
13
+ [PHOTO_STUDIO_ACTION_ALIAS.BRUSH]: 'AI Кисть',
14
+ [PHOTO_STUDIO_ACTION_ALIAS.MERGE]: 'Слияние',
15
+ [PHOTO_STUDIO_ACTION_ALIAS.STYLE]: 'Стиль',
16
+ } as const satisfies Record<PHOTO_STUDIO_ACTION_ALIAS, string>;
17
+
18
+ export type PhotoStudioActionTitleAlias = keyof typeof PHOTO_STUDIO_ACTION_TITLES_BY_ALIAS;
@@ -17,4 +17,5 @@ export enum TOOL_TYPE {
17
17
  SPELL_CORRECTOR = 'SPELL_CORRECTOR',
18
18
  SOLVING_EDU_TASK = 'SOLVING_EDU_TASK',
19
19
  HTML_PAGE_BUILDER = 'HTML_PAGE_BUILDER',
20
+ DIAGRAMS = 'DIAGRAMS',
20
21
  }
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { PHOTO_STUDIO_ACTION_ALIAS } from '../../constants';
2
3
 
3
4
  export const PhotoStudioImageSettingsSchema = z.object({
4
5
  minImages: z.number().int().min(0),
@@ -7,7 +8,7 @@ export const PhotoStudioImageSettingsSchema = z.object({
7
8
  export type PhotoStudioImageSettings = z.infer<typeof PhotoStudioImageSettingsSchema>;
8
9
 
9
10
  export const PhotoStudioActionSchema = z.object({
10
- alias: z.string().min(1),
11
+ alias: z.nativeEnum(PHOTO_STUDIO_ACTION_ALIAS),
11
12
  title: z.string().min(1),
12
13
  icon: z.string().min(1),
13
14
  allowUserPrompt: z.boolean(),
@@ -5,13 +5,13 @@ import { PhotoStudioImageNodeSchema } from './photo-studio-image-node.schema';
5
5
  export const PhotoStudioCheckpointActionSchema = z.object({
6
6
  type: z.nativeEnum(PHOTO_STUDIO_CHECKPOINT_ACTION_TYPE),
7
7
  actionAlias: z.string().nullable().optional(),
8
- title: z.string().nullable().optional(),
9
8
  params: z.record(z.string(), z.unknown()).nullable().optional(),
10
9
  });
11
10
  export type PhotoStudioCheckpointAction = z.infer<typeof PhotoStudioCheckpointActionSchema>;
12
11
 
13
12
  export const PhotoStudioCheckpointSchema = z.object({
14
13
  uuid: z.string().uuid(),
14
+ title: z.string(),
15
15
  canvasId: z.string().uuid(),
16
16
  sequence: z.number().int().positive(),
17
17
  action: PhotoStudioCheckpointActionSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.14.13-avatar-studio",
3
+ "version": "0.14.15-avatar-studio",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",