@purpleschool/gptbot 0.14.61-stage2 → 0.14.63-stage2

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 (62) hide show
  1. package/build/api/controllers/http/avatar-studio.d.ts +5 -2
  2. package/build/api/controllers/http/avatar-studio.js +6 -4
  3. package/build/api/routes.d.ts +6 -3
  4. package/build/api/routes.js +6 -3
  5. package/build/commands/avatar-studio/clip/create-avatar-studio-clip.command.d.ts +1 -1
  6. package/build/commands/avatar-studio/clip/find-avatar-studio-clips.query.d.ts +1 -1
  7. package/build/commands/avatar-studio/clip/get-avatar-studio-clip.query.d.ts +1 -1
  8. package/build/commands/avatar-studio/clip/update-avatar-studio-clip.command.d.ts +1 -1
  9. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-scene-voice.command.d.ts +4 -2
  10. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-scene-voice.command.js +4 -2
  11. package/build/commands/avatar-studio/scene/{apply-avatar-studio-voice-sample-to-all-scenes.command.d.ts → apply-avatar-studio-voice-to-all-scenes.command.d.ts} +3 -3
  12. package/build/commands/avatar-studio/scene/apply-avatar-studio-voice-to-all-scenes.command.js +17 -0
  13. package/build/commands/avatar-studio/scene/create-avatar-studio-scene.command.d.ts +1 -1
  14. package/build/commands/avatar-studio/scene/index.d.ts +1 -1
  15. package/build/commands/avatar-studio/scene/index.js +1 -1
  16. package/build/commands/avatar-studio/scene/reorder-avatar-studio-scenes.command.d.ts +1 -1
  17. package/build/commands/avatar-studio/scene/set-avatar-studio-scene-slot.command.d.ts +1 -1
  18. package/build/commands/avatar-studio/scene/update-avatar-studio-scene.command.d.ts +2 -2
  19. package/build/commands/avatar-studio/scriptwriter/apply-avatar-studio-scriptwriter-message.command.d.ts +1 -1
  20. package/build/commands/avatar-studio/shared/avatar-studio-common.schema.d.ts +1 -1
  21. package/build/commands/avatar-studio/shared/get-avatar-studio-config.query.d.ts +5 -6
  22. package/build/commands/avatar-studio/shared/get-avatar-studio-config.query.js +7 -12
  23. package/build/commands/avatar-studio/voice/clone-avatar-studio-voice.command.d.ts +43 -0
  24. package/build/commands/avatar-studio/voice/clone-avatar-studio-voice.command.js +19 -0
  25. package/build/commands/avatar-studio/voice/delete-avatar-studio-voice.command.d.ts +11 -0
  26. package/build/commands/avatar-studio/voice/delete-avatar-studio-voice.command.js +13 -0
  27. package/build/commands/avatar-studio/voice/design-avatar-studio-voice.command.d.ts +26 -56
  28. package/build/commands/avatar-studio/voice/design-avatar-studio-voice.command.js +6 -7
  29. package/build/commands/avatar-studio/voice/find-avatar-studio-voices.query.d.ts +36 -0
  30. package/build/commands/avatar-studio/voice/find-avatar-studio-voices.query.js +11 -0
  31. package/build/commands/avatar-studio/voice/index.d.ts +3 -0
  32. package/build/commands/avatar-studio/voice/index.js +3 -0
  33. package/build/commands/tools/tts/create-voice-clone.command.d.ts +15 -3
  34. package/build/commands/tools/tts/create-voice-clone.command.js +1 -0
  35. package/build/commands/tools/tts/create-voice-design.command.d.ts +2 -0
  36. package/build/commands/tools/tts/create-voice-design.command.js +1 -0
  37. package/build/commands/tools/tts/find-voice-by-uuid.query.d.ts +14 -3
  38. package/build/commands/tools/tts/find-voices.query.d.ts +15 -4
  39. package/build/commands/tools/tts/find-voices.query.js +1 -1
  40. package/build/commands/tools/tts/select-voice-design.command.d.ts +14 -3
  41. package/build/commands/tools/tts/update-voice.command.d.ts +15 -3
  42. package/build/commands/tools/tts/update-voice.command.js +1 -0
  43. package/build/constants/avatar-studio/enums/avatar-studio-job-type.enum.d.ts +1 -0
  44. package/build/constants/avatar-studio/enums/avatar-studio-job-type.enum.js +1 -0
  45. package/build/constants/avatar-studio/enums/avatar-studio-media-kind.enum.d.ts +1 -2
  46. package/build/constants/avatar-studio/enums/avatar-studio-media-kind.enum.js +0 -1
  47. package/build/constants/avatar-studio/enums/avatar-studio-slot.enum.d.ts +1 -1
  48. package/build/constants/avatar-studio/enums/avatar-studio-slot.enum.js +1 -1
  49. package/build/constants/tool/enums/index.d.ts +1 -0
  50. package/build/constants/tool/enums/index.js +1 -0
  51. package/build/constants/tool/enums/job-scope.enum.d.ts +5 -0
  52. package/build/constants/tool/enums/job-scope.enum.js +9 -0
  53. package/build/constants/tool-tts/enums/voice-category.enum.d.ts +6 -1
  54. package/build/constants/tool-tts/enums/voice-category.enum.js +5 -0
  55. package/build/models/avatar-studio/avatar-studio.schema.d.ts +6 -6
  56. package/build/models/avatar-studio/avatar-studio.schema.js +3 -3
  57. package/build/models/tools/tts/voice-design-draft.schema.d.ts +1 -0
  58. package/build/models/tools/tts/voice-design-draft.schema.js +1 -0
  59. package/build/models/tools/tts/voice.schema.d.ts +15 -4
  60. package/build/models/tools/tts/voice.schema.js +16 -3
  61. package/package.json +1 -1
  62. package/build/commands/avatar-studio/scene/apply-avatar-studio-voice-sample-to-all-scenes.command.js +0 -15
@@ -2,21 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DesignAvatarStudioVoiceCommand = void 0;
4
4
  const zod_1 = require("zod");
5
+ const constants_1 = require("../../../constants");
5
6
  const models_1 = require("../../../models");
6
7
  var DesignAvatarStudioVoiceCommand;
7
8
  (function (DesignAvatarStudioVoiceCommand) {
8
9
  DesignAvatarStudioVoiceCommand.RequestSchema = zod_1.z
9
10
  .object({
10
- title: zod_1.z.string().trim().min(1).optional(),
11
+ title: zod_1.z.string().trim().min(1).max(255),
12
+ gender: zod_1.z.nativeEnum(constants_1.VOICE_GENDER),
11
13
  instruction: zod_1.z.string().trim().min(1),
12
- language: zod_1.z.string().trim().min(2).optional(),
13
14
  })
14
15
  .strict();
15
- /**
16
- * Отдаём job, как и все остальные генерации: созданный голос лежит в job.resultMedia.
17
- * Отдельного поля media нет — форма ответа одинакова у всех роутов генерации.
18
- */
16
+ // Дизайн — синхронная операция инструмента: кандидата выбирает сервер, поэтому
17
+ // ответ — сразу готовый голос, а не job на отслеживание.
19
18
  DesignAvatarStudioVoiceCommand.ResponseSchema = zod_1.z.object({
20
- data: models_1.AvatarStudioGenerationJobSchema,
19
+ data: models_1.VoiceSchema,
21
20
  });
22
21
  })(DesignAvatarStudioVoiceCommand || (exports.DesignAvatarStudioVoiceCommand = DesignAvatarStudioVoiceCommand = {}));
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ export declare namespace FindAvatarStudioVoicesQuery {
3
+ const ResponseSchema: z.ZodObject<{
4
+ data: z.ZodArray<z.ZodObject<{
5
+ uuid: z.ZodString;
6
+ scope: z.ZodEnum<typeof import("../../..").JOB_SCOPE>;
7
+ source: z.ZodObject<{
8
+ id: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
9
+ label: z.ZodString;
10
+ }, z.core.$strip>;
11
+ title: z.ZodString;
12
+ description: z.ZodString;
13
+ gender: z.ZodNullable<z.ZodObject<{
14
+ id: z.ZodEnum<typeof import("../../..").VOICE_GENDER>;
15
+ label: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ trait: z.ZodNullable<z.ZodString>;
18
+ ageRange: z.ZodNullable<z.ZodString>;
19
+ categories: z.ZodArray<z.ZodObject<{
20
+ id: z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>;
21
+ label: z.ZodString;
22
+ }, z.core.$strip>>;
23
+ previewUrl: z.ZodString;
24
+ imageUrl: z.ZodNullable<z.ZodString>;
25
+ status: z.ZodEnum<typeof import("../../..").VOICE_STATUS>;
26
+ error: z.ZodNullable<z.ZodString>;
27
+ order: z.ZodNumber;
28
+ isDeleted: z.ZodBoolean;
29
+ userId: z.ZodNullable<z.ZodString>;
30
+ unregisteredUserId: z.ZodNullable<z.ZodString>;
31
+ createdAt: z.ZodDate;
32
+ updatedAt: z.ZodDate;
33
+ }, z.core.$strip>>;
34
+ }, z.core.$strip>;
35
+ type Response = z.infer<typeof ResponseSchema>;
36
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FindAvatarStudioVoicesQuery = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var FindAvatarStudioVoicesQuery;
7
+ (function (FindAvatarStudioVoicesQuery) {
8
+ FindAvatarStudioVoicesQuery.ResponseSchema = zod_1.z.object({
9
+ data: zod_1.z.array(models_1.VoiceSchema),
10
+ });
11
+ })(FindAvatarStudioVoicesQuery || (exports.FindAvatarStudioVoicesQuery = FindAvatarStudioVoicesQuery = {}));
@@ -1 +1,4 @@
1
1
  export * from './design-avatar-studio-voice.command';
2
+ export * from './find-avatar-studio-voices.query';
3
+ export * from './clone-avatar-studio-voice.command';
4
+ export * from './delete-avatar-studio-voice.command';
@@ -15,3 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./design-avatar-studio-voice.command"), exports);
18
+ __exportStar(require("./find-avatar-studio-voices.query"), exports);
19
+ __exportStar(require("./clone-avatar-studio-voice.command"), exports);
20
+ __exportStar(require("./delete-avatar-studio-voice.command"), exports);
@@ -5,19 +5,31 @@ export declare namespace CreateVoiceCloneCommand {
5
5
  fileId: z.ZodString;
6
6
  title: z.ZodString;
7
7
  gender: z.ZodOptional<z.ZodEnum<typeof VOICE_GENDER>>;
8
+ imageFileId: z.ZodOptional<z.ZodString>;
8
9
  }, z.core.$strip>;
9
10
  type Request = z.infer<typeof RequestSchema>;
10
11
  const ResponseSchema: z.ZodObject<{
11
12
  data: z.ZodObject<{
12
13
  uuid: z.ZodString;
13
- source: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
14
+ scope: z.ZodEnum<typeof import("../../..").JOB_SCOPE>;
15
+ source: z.ZodObject<{
16
+ id: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
17
+ label: z.ZodString;
18
+ }, z.core.$strip>;
14
19
  title: z.ZodString;
15
20
  description: z.ZodString;
16
- gender: z.ZodNullable<z.ZodEnum<typeof VOICE_GENDER>>;
21
+ gender: z.ZodNullable<z.ZodObject<{
22
+ id: z.ZodEnum<typeof VOICE_GENDER>;
23
+ label: z.ZodString;
24
+ }, z.core.$strip>>;
17
25
  trait: z.ZodNullable<z.ZodString>;
18
26
  ageRange: z.ZodNullable<z.ZodString>;
19
- categories: z.ZodArray<z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>>;
27
+ categories: z.ZodArray<z.ZodObject<{
28
+ id: z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>;
29
+ label: z.ZodString;
30
+ }, z.core.$strip>>;
20
31
  previewUrl: z.ZodString;
32
+ imageUrl: z.ZodNullable<z.ZodString>;
21
33
  status: z.ZodEnum<typeof import("../../..").VOICE_STATUS>;
22
34
  error: z.ZodNullable<z.ZodString>;
23
35
  order: z.ZodNumber;
@@ -10,6 +10,7 @@ var CreateVoiceCloneCommand;
10
10
  fileId: zod_1.z.string().uuid(),
11
11
  title: zod_1.z.string().min(1),
12
12
  gender: zod_1.z.nativeEnum(constants_1.VOICE_GENDER).optional(),
13
+ imageFileId: zod_1.z.string().uuid().optional(),
13
14
  });
14
15
  CreateVoiceCloneCommand.ResponseSchema = zod_1.z.object({
15
16
  data: models_1.VoiceSchema,
@@ -5,6 +5,7 @@ export declare namespace CreateVoiceDesignCommand {
5
5
  title: z.ZodString;
6
6
  gender: z.ZodEnum<typeof VOICE_GENDER>;
7
7
  instruction: z.ZodString;
8
+ imageFileId: z.ZodOptional<z.ZodString>;
8
9
  }, z.core.$strip>;
9
10
  type Request = z.infer<typeof RequestSchema>;
10
11
  const ResponseSchema: z.ZodObject<{
@@ -12,6 +13,7 @@ export declare namespace CreateVoiceDesignCommand {
12
13
  designId: z.ZodString;
13
14
  title: z.ZodString;
14
15
  gender: z.ZodEnum<typeof VOICE_GENDER>;
16
+ imageUrl: z.ZodNullable<z.ZodString>;
15
17
  samples: z.ZodArray<z.ZodObject<{
16
18
  sampleId: z.ZodString;
17
19
  previewUrl: z.ZodString;
@@ -10,6 +10,7 @@ var CreateVoiceDesignCommand;
10
10
  title: zod_1.z.string().min(1),
11
11
  gender: zod_1.z.nativeEnum(constants_1.VOICE_GENDER),
12
12
  instruction: zod_1.z.string().min(1),
13
+ imageFileId: zod_1.z.string().uuid().optional(),
13
14
  });
14
15
  CreateVoiceDesignCommand.ResponseSchema = zod_1.z.object({
15
16
  data: models_1.VoiceDesignDraftSchema,
@@ -7,14 +7,25 @@ export declare namespace FindVoiceByUuidQuery {
7
7
  const ResponseSchema: z.ZodObject<{
8
8
  data: z.ZodObject<{
9
9
  uuid: z.ZodString;
10
- source: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
10
+ scope: z.ZodEnum<typeof import("../../..").JOB_SCOPE>;
11
+ source: z.ZodObject<{
12
+ id: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
13
+ label: z.ZodString;
14
+ }, z.core.$strip>;
11
15
  title: z.ZodString;
12
16
  description: z.ZodString;
13
- gender: z.ZodNullable<z.ZodEnum<typeof import("../../..").VOICE_GENDER>>;
17
+ gender: z.ZodNullable<z.ZodObject<{
18
+ id: z.ZodEnum<typeof import("../../..").VOICE_GENDER>;
19
+ label: z.ZodString;
20
+ }, z.core.$strip>>;
14
21
  trait: z.ZodNullable<z.ZodString>;
15
22
  ageRange: z.ZodNullable<z.ZodString>;
16
- categories: z.ZodArray<z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>>;
23
+ categories: z.ZodArray<z.ZodObject<{
24
+ id: z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>;
25
+ label: z.ZodString;
26
+ }, z.core.$strip>>;
17
27
  previewUrl: z.ZodString;
28
+ imageUrl: z.ZodNullable<z.ZodString>;
18
29
  status: z.ZodEnum<typeof import("../../..").VOICE_STATUS>;
19
30
  error: z.ZodNullable<z.ZodString>;
20
31
  order: z.ZodNumber;
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  import { VOICE_CATEGORY, VOICE_GENDER } from '../../../constants';
3
3
  export declare namespace FindVoicesQuery {
4
4
  const RequestQuerySchema: z.ZodObject<{
5
- scope: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
5
+ ownership: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
6
6
  all: "all";
7
7
  library: "library";
8
8
  mine: "mine";
@@ -15,14 +15,25 @@ export declare namespace FindVoicesQuery {
15
15
  const ResponseSchema: z.ZodObject<{
16
16
  data: z.ZodArray<z.ZodObject<{
17
17
  uuid: z.ZodString;
18
- source: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
18
+ scope: z.ZodEnum<typeof import("../../..").JOB_SCOPE>;
19
+ source: z.ZodObject<{
20
+ id: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
21
+ label: z.ZodString;
22
+ }, z.core.$strip>;
19
23
  title: z.ZodString;
20
24
  description: z.ZodString;
21
- gender: z.ZodNullable<z.ZodEnum<typeof VOICE_GENDER>>;
25
+ gender: z.ZodNullable<z.ZodObject<{
26
+ id: z.ZodEnum<typeof VOICE_GENDER>;
27
+ label: z.ZodString;
28
+ }, z.core.$strip>>;
22
29
  trait: z.ZodNullable<z.ZodString>;
23
30
  ageRange: z.ZodNullable<z.ZodString>;
24
- categories: z.ZodArray<z.ZodEnum<typeof VOICE_CATEGORY>>;
31
+ categories: z.ZodArray<z.ZodObject<{
32
+ id: z.ZodEnum<typeof VOICE_CATEGORY>;
33
+ label: z.ZodString;
34
+ }, z.core.$strip>>;
25
35
  previewUrl: z.ZodString;
36
+ imageUrl: z.ZodNullable<z.ZodString>;
26
37
  status: z.ZodEnum<typeof import("../../..").VOICE_STATUS>;
27
38
  error: z.ZodNullable<z.ZodString>;
28
39
  order: z.ZodNumber;
@@ -7,7 +7,7 @@ const models_1 = require("../../../models");
7
7
  var FindVoicesQuery;
8
8
  (function (FindVoicesQuery) {
9
9
  FindVoicesQuery.RequestQuerySchema = zod_1.z.object({
10
- scope: zod_1.z.enum(['all', 'library', 'mine']).optional().default('all'),
10
+ ownership: zod_1.z.enum(['all', 'library', 'mine']).optional().default('all'),
11
11
  category: zod_1.z.nativeEnum(constants_1.VOICE_CATEGORY).optional(),
12
12
  gender: zod_1.z.nativeEnum(constants_1.VOICE_GENDER).optional(),
13
13
  query: zod_1.z.string().optional(),
@@ -11,14 +11,25 @@ export declare namespace SelectVoiceDesignCommand {
11
11
  const ResponseSchema: z.ZodObject<{
12
12
  data: z.ZodObject<{
13
13
  uuid: z.ZodString;
14
- source: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
14
+ scope: z.ZodEnum<typeof import("../../..").JOB_SCOPE>;
15
+ source: z.ZodObject<{
16
+ id: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
17
+ label: z.ZodString;
18
+ }, z.core.$strip>;
15
19
  title: z.ZodString;
16
20
  description: z.ZodString;
17
- gender: z.ZodNullable<z.ZodEnum<typeof import("../../..").VOICE_GENDER>>;
21
+ gender: z.ZodNullable<z.ZodObject<{
22
+ id: z.ZodEnum<typeof import("../../..").VOICE_GENDER>;
23
+ label: z.ZodString;
24
+ }, z.core.$strip>>;
18
25
  trait: z.ZodNullable<z.ZodString>;
19
26
  ageRange: z.ZodNullable<z.ZodString>;
20
- categories: z.ZodArray<z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>>;
27
+ categories: z.ZodArray<z.ZodObject<{
28
+ id: z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>;
29
+ label: z.ZodString;
30
+ }, z.core.$strip>>;
21
31
  previewUrl: z.ZodString;
32
+ imageUrl: z.ZodNullable<z.ZodString>;
22
33
  status: z.ZodEnum<typeof import("../../..").VOICE_STATUS>;
23
34
  error: z.ZodNullable<z.ZodString>;
24
35
  order: z.ZodNumber;
@@ -6,19 +6,31 @@ export declare namespace UpdateVoiceCommand {
6
6
  type RequestParams = z.infer<typeof RequestParamsSchema>;
7
7
  const RequestSchema: z.ZodObject<{
8
8
  title: z.ZodString;
9
+ imageFileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
10
  }, z.core.$strip>;
10
11
  type Request = z.infer<typeof RequestSchema>;
11
12
  const ResponseSchema: z.ZodObject<{
12
13
  data: z.ZodObject<{
13
14
  uuid: z.ZodString;
14
- source: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
15
+ scope: z.ZodEnum<typeof import("../../..").JOB_SCOPE>;
16
+ source: z.ZodObject<{
17
+ id: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
18
+ label: z.ZodString;
19
+ }, z.core.$strip>;
15
20
  title: z.ZodString;
16
21
  description: z.ZodString;
17
- gender: z.ZodNullable<z.ZodEnum<typeof import("../../..").VOICE_GENDER>>;
22
+ gender: z.ZodNullable<z.ZodObject<{
23
+ id: z.ZodEnum<typeof import("../../..").VOICE_GENDER>;
24
+ label: z.ZodString;
25
+ }, z.core.$strip>>;
18
26
  trait: z.ZodNullable<z.ZodString>;
19
27
  ageRange: z.ZodNullable<z.ZodString>;
20
- categories: z.ZodArray<z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>>;
28
+ categories: z.ZodArray<z.ZodObject<{
29
+ id: z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>;
30
+ label: z.ZodString;
31
+ }, z.core.$strip>>;
21
32
  previewUrl: z.ZodString;
33
+ imageUrl: z.ZodNullable<z.ZodString>;
22
34
  status: z.ZodEnum<typeof import("../../..").VOICE_STATUS>;
23
35
  error: z.ZodNullable<z.ZodString>;
24
36
  order: z.ZodNumber;
@@ -10,6 +10,7 @@ var UpdateVoiceCommand;
10
10
  });
11
11
  UpdateVoiceCommand.RequestSchema = zod_1.z.object({
12
12
  title: zod_1.z.string().min(1),
13
+ imageFileId: zod_1.z.string().uuid().nullable().optional(),
13
14
  });
14
15
  UpdateVoiceCommand.ResponseSchema = zod_1.z.object({
15
16
  data: models_1.VoiceSchema,
@@ -5,5 +5,6 @@ export declare enum AVATAR_STUDIO_JOB_TYPE {
5
5
  VOICE_TTS = "voice_tts",
6
6
  VOICE_STT = "voice_stt",
7
7
  TALKING_AVATAR = "talking_avatar",
8
+ /** legacy: новые job'ы этого типа не создаются, значение остаётся ради чтения продовой истории. */
8
9
  VOICE_DESIGN = "voice_design"
9
10
  }
@@ -9,5 +9,6 @@ var AVATAR_STUDIO_JOB_TYPE;
9
9
  AVATAR_STUDIO_JOB_TYPE["VOICE_TTS"] = "voice_tts";
10
10
  AVATAR_STUDIO_JOB_TYPE["VOICE_STT"] = "voice_stt";
11
11
  AVATAR_STUDIO_JOB_TYPE["TALKING_AVATAR"] = "talking_avatar";
12
+ /** legacy: новые job'ы этого типа не создаются, значение остаётся ради чтения продовой истории. */
12
13
  AVATAR_STUDIO_JOB_TYPE["VOICE_DESIGN"] = "voice_design";
13
14
  })(AVATAR_STUDIO_JOB_TYPE || (exports.AVATAR_STUDIO_JOB_TYPE = AVATAR_STUDIO_JOB_TYPE = {}));
@@ -1,6 +1,5 @@
1
1
  export declare enum AVATAR_STUDIO_MEDIA_KIND {
2
2
  IMAGE = "image",
3
3
  VIDEO = "video",
4
- AUDIO = "audio",
5
- VOICE_SAMPLE = "voice_sample"
4
+ AUDIO = "audio"
6
5
  }
@@ -6,5 +6,4 @@ var AVATAR_STUDIO_MEDIA_KIND;
6
6
  AVATAR_STUDIO_MEDIA_KIND["IMAGE"] = "image";
7
7
  AVATAR_STUDIO_MEDIA_KIND["VIDEO"] = "video";
8
8
  AVATAR_STUDIO_MEDIA_KIND["AUDIO"] = "audio";
9
- AVATAR_STUDIO_MEDIA_KIND["VOICE_SAMPLE"] = "voice_sample";
10
9
  })(AVATAR_STUDIO_MEDIA_KIND || (exports.AVATAR_STUDIO_MEDIA_KIND = AVATAR_STUDIO_MEDIA_KIND = {}));
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Здесь только то, что действительно является слотом сцены:
5
5
  * - аватар и b-roll — два способа получить VIDEO, а не два слота (режим в videoConfig.videoMode);
6
- * - образец голоса — вход сцены (scene.voiceSampleMediaId), а не её результат;
6
+ * - голос — вход сцены (scene.voiceConfig.voiceId), а не её результат;
7
7
  * - референсы — несколько упорядоченных медиа, у них своя join-таблица;
8
8
  * - «медиатека» слотом никогда не была: у таких job'ов targetSlot = null.
9
9
  */
@@ -6,7 +6,7 @@ exports.AVATAR_STUDIO_SLOT = void 0;
6
6
  *
7
7
  * Здесь только то, что действительно является слотом сцены:
8
8
  * - аватар и b-roll — два способа получить VIDEO, а не два слота (режим в videoConfig.videoMode);
9
- * - образец голоса — вход сцены (scene.voiceSampleMediaId), а не её результат;
9
+ * - голос — вход сцены (scene.voiceConfig.voiceId), а не её результат;
10
10
  * - референсы — несколько упорядоченных медиа, у них своя join-таблица;
11
11
  * - «медиатека» слотом никогда не была: у таких job'ов targetSlot = null.
12
12
  */
@@ -5,3 +5,4 @@ export * from './tool-type.enum';
5
5
  export * from './tool-workspace-item-slot.enum';
6
6
  export * from './tool-workspace-status.enum';
7
7
  export * from './job-sort.enum';
8
+ export * from './job-scope.enum';
@@ -21,3 +21,4 @@ __exportStar(require("./tool-type.enum"), exports);
21
21
  __exportStar(require("./tool-workspace-item-slot.enum"), exports);
22
22
  __exportStar(require("./tool-workspace-status.enum"), exports);
23
23
  __exportStar(require("./job-sort.enum"), exports);
24
+ __exportStar(require("./job-scope.enum"), exports);
@@ -0,0 +1,5 @@
1
+ export declare enum JOB_SCOPE {
2
+ TOOL = "tool",
3
+ CANVAS = "canvas",
4
+ AVATAR_STUDIO = "avatar_studio"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JOB_SCOPE = void 0;
4
+ var JOB_SCOPE;
5
+ (function (JOB_SCOPE) {
6
+ JOB_SCOPE["TOOL"] = "tool";
7
+ JOB_SCOPE["CANVAS"] = "canvas";
8
+ JOB_SCOPE["AVATAR_STUDIO"] = "avatar_studio";
9
+ })(JOB_SCOPE || (exports.JOB_SCOPE = JOB_SCOPE = {}));
@@ -10,5 +10,10 @@ export declare enum VOICE_CATEGORY {
10
10
  FAIRY_TALES = "FAIRY_TALES",
11
11
  HORROR = "HORROR",
12
12
  WHISPER = "WHISPER",
13
- ROMANCE = "ROMANCE"
13
+ ROMANCE = "ROMANCE",
14
+ BUSINESS = "BUSINESS",
15
+ WELLNESS = "WELLNESS",
16
+ SPORTS = "SPORTS",
17
+ AMBIENCE = "AMBIENCE",
18
+ TRAVEL = "TRAVEL"
14
19
  }
@@ -15,4 +15,9 @@ var VOICE_CATEGORY;
15
15
  VOICE_CATEGORY["HORROR"] = "HORROR";
16
16
  VOICE_CATEGORY["WHISPER"] = "WHISPER";
17
17
  VOICE_CATEGORY["ROMANCE"] = "ROMANCE";
18
+ VOICE_CATEGORY["BUSINESS"] = "BUSINESS";
19
+ VOICE_CATEGORY["WELLNESS"] = "WELLNESS";
20
+ VOICE_CATEGORY["SPORTS"] = "SPORTS";
21
+ VOICE_CATEGORY["AMBIENCE"] = "AMBIENCE";
22
+ VOICE_CATEGORY["TRAVEL"] = "TRAVEL";
18
23
  })(VOICE_CATEGORY || (exports.VOICE_CATEGORY = VOICE_CATEGORY = {}));
@@ -69,20 +69,20 @@ export declare const validateAvatarStudioTrim: ({ trimStart, trimEnd }: {
69
69
  trimEnd?: number | null;
70
70
  }, ctx: z.RefinementCtx) => void;
71
71
  /**
72
- * Образец голоса — вход генерации наравне с текстом, поэтому лежит здесь, а не колонкой
73
- * сцены: колонки сцены хранят результаты в слотах, конфиги — то, из чего их делают.
72
+ * Голос — вход генерации наравне с текстом, поэтому лежит здесь, а не колонкой сцены:
73
+ * колонки сцены хранят результаты в слотах, конфиги — то, из чего их делают.
74
74
  */
75
75
  export declare const AvatarStudioSceneVoiceConfigBaseSchema: z.ZodObject<{
76
76
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
77
77
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
78
78
  text: z.ZodDefault<z.ZodString>;
79
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
79
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
80
80
  }, z.core.$strip>;
81
81
  export declare const AvatarStudioSceneVoiceConfigSchema: z.ZodObject<{
82
82
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
83
83
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
84
84
  text: z.ZodDefault<z.ZodString>;
85
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
85
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
86
86
  }, z.core.$strip>;
87
87
  export type AvatarStudioSceneVoiceConfig = z.infer<typeof AvatarStudioSceneVoiceConfigSchema>;
88
88
  /**
@@ -150,7 +150,7 @@ export declare const AvatarStudioSceneSchema: z.ZodObject<{
150
150
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
151
151
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
152
152
  text: z.ZodDefault<z.ZodString>;
153
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
153
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
154
154
  }, z.core.$strip>;
155
155
  imageConfig: z.ZodObject<{
156
156
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -547,7 +547,7 @@ export declare const AvatarStudioClipSchema: z.ZodObject<{
547
547
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
548
548
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
549
549
  text: z.ZodDefault<z.ZodString>;
550
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
550
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
551
551
  }, z.core.$strip>;
552
552
  imageConfig: z.ZodObject<{
553
553
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -62,10 +62,10 @@ const validateAvatarStudioTrim = ({ trimStart, trimEnd }, ctx) => {
62
62
  };
63
63
  exports.validateAvatarStudioTrim = validateAvatarStudioTrim;
64
64
  /**
65
- * Образец голоса — вход генерации наравне с текстом, поэтому лежит здесь, а не колонкой
66
- * сцены: колонки сцены хранят результаты в слотах, конфиги — то, из чего их делают.
65
+ * Голос — вход генерации наравне с текстом, поэтому лежит здесь, а не колонкой сцены:
66
+ * колонки сцены хранят результаты в слотах, конфиги — то, из чего их делают.
67
67
  */
68
- exports.AvatarStudioSceneVoiceConfigBaseSchema = zod_1.z.object(Object.assign({ text: zod_1.z.string().default(''), voiceSampleMediaId: zod_1.z.string().uuid().nullable().default(null) }, exports.AvatarStudioTrimConfigFields));
68
+ exports.AvatarStudioSceneVoiceConfigBaseSchema = zod_1.z.object(Object.assign({ text: zod_1.z.string().default(''), voiceId: zod_1.z.string().uuid().nullable().default(null) }, exports.AvatarStudioTrimConfigFields));
69
69
  exports.AvatarStudioSceneVoiceConfigSchema = exports.AvatarStudioSceneVoiceConfigBaseSchema.superRefine(exports.validateAvatarStudioTrim);
70
70
  /**
71
71
  * Референсы — вход генерации кадра, наравне с prompt и style, поэтому лежат здесь,
@@ -4,6 +4,7 @@ export declare const VoiceDesignDraftSchema: z.ZodObject<{
4
4
  designId: z.ZodString;
5
5
  title: z.ZodString;
6
6
  gender: z.ZodEnum<typeof VOICE_GENDER>;
7
+ imageUrl: z.ZodNullable<z.ZodString>;
7
8
  samples: z.ZodArray<z.ZodObject<{
8
9
  sampleId: z.ZodString;
9
10
  previewUrl: z.ZodString;
@@ -8,5 +8,6 @@ exports.VoiceDesignDraftSchema = zod_1.z.object({
8
8
  designId: zod_1.z.string().uuid(),
9
9
  title: zod_1.z.string(),
10
10
  gender: zod_1.z.nativeEnum(constants_1.VOICE_GENDER),
11
+ imageUrl: zod_1.z.string().nullable(),
11
12
  samples: zod_1.z.array(voice_design_sample_schema_1.VoiceDesignSampleSchema),
12
13
  });
@@ -1,15 +1,26 @@
1
1
  import { z } from 'zod';
2
- import { VOICE_CATEGORY, VOICE_GENDER, VOICE_SOURCE, VOICE_STATUS } from '../../../constants';
2
+ import { JOB_SCOPE, VOICE_CATEGORY, VOICE_GENDER, VOICE_SOURCE, VOICE_STATUS } from '../../../constants';
3
3
  export declare const VoiceSchema: z.ZodObject<{
4
4
  uuid: z.ZodString;
5
- source: z.ZodEnum<typeof VOICE_SOURCE>;
5
+ scope: z.ZodEnum<typeof JOB_SCOPE>;
6
+ source: z.ZodObject<{
7
+ id: z.ZodEnum<typeof VOICE_SOURCE>;
8
+ label: z.ZodString;
9
+ }, z.core.$strip>;
6
10
  title: z.ZodString;
7
11
  description: z.ZodString;
8
- gender: z.ZodNullable<z.ZodEnum<typeof VOICE_GENDER>>;
12
+ gender: z.ZodNullable<z.ZodObject<{
13
+ id: z.ZodEnum<typeof VOICE_GENDER>;
14
+ label: z.ZodString;
15
+ }, z.core.$strip>>;
9
16
  trait: z.ZodNullable<z.ZodString>;
10
17
  ageRange: z.ZodNullable<z.ZodString>;
11
- categories: z.ZodArray<z.ZodEnum<typeof VOICE_CATEGORY>>;
18
+ categories: z.ZodArray<z.ZodObject<{
19
+ id: z.ZodEnum<typeof VOICE_CATEGORY>;
20
+ label: z.ZodString;
21
+ }, z.core.$strip>>;
12
22
  previewUrl: z.ZodString;
23
+ imageUrl: z.ZodNullable<z.ZodString>;
13
24
  status: z.ZodEnum<typeof VOICE_STATUS>;
14
25
  error: z.ZodNullable<z.ZodString>;
15
26
  order: z.ZodNumber;
@@ -5,14 +5,27 @@ const zod_1 = require("zod");
5
5
  const constants_1 = require("../../../constants");
6
6
  exports.VoiceSchema = zod_1.z.object({
7
7
  uuid: zod_1.z.string().uuid(),
8
- source: zod_1.z.nativeEnum(constants_1.VOICE_SOURCE),
8
+ scope: zod_1.z.nativeEnum(constants_1.JOB_SCOPE),
9
+ source: zod_1.z.object({
10
+ id: zod_1.z.nativeEnum(constants_1.VOICE_SOURCE),
11
+ label: zod_1.z.string(),
12
+ }),
9
13
  title: zod_1.z.string(),
10
14
  description: zod_1.z.string(),
11
- gender: zod_1.z.nativeEnum(constants_1.VOICE_GENDER).nullable(),
15
+ gender: zod_1.z
16
+ .object({
17
+ id: zod_1.z.nativeEnum(constants_1.VOICE_GENDER),
18
+ label: zod_1.z.string(),
19
+ })
20
+ .nullable(),
12
21
  trait: zod_1.z.string().nullable(),
13
22
  ageRange: zod_1.z.string().nullable(),
14
- categories: zod_1.z.array(zod_1.z.nativeEnum(constants_1.VOICE_CATEGORY)),
23
+ categories: zod_1.z.array(zod_1.z.object({
24
+ id: zod_1.z.nativeEnum(constants_1.VOICE_CATEGORY),
25
+ label: zod_1.z.string(),
26
+ })),
15
27
  previewUrl: zod_1.z.string(),
28
+ imageUrl: zod_1.z.string().nullable(),
16
29
  status: zod_1.z.nativeEnum(constants_1.VOICE_STATUS),
17
30
  error: zod_1.z.string().nullable(),
18
31
  order: zod_1.z.number(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.14.61-stage2",
3
+ "version": "0.14.63-stage2",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplyAvatarStudioVoiceSampleToAllScenesCommand = void 0;
4
- const zod_1 = require("zod");
5
- const models_1 = require("../../../models");
6
- const avatar_studio_common_schema_1 = require("../shared/avatar-studio-common.schema");
7
- var ApplyAvatarStudioVoiceSampleToAllScenesCommand;
8
- (function (ApplyAvatarStudioVoiceSampleToAllScenesCommand) {
9
- ApplyAvatarStudioVoiceSampleToAllScenesCommand.ParamsSchema = avatar_studio_common_schema_1.AvatarStudioClipIdParamsSchema.merge(avatar_studio_common_schema_1.AvatarStudioMediaIdParamsSchema);
10
- // Ответ — клип со сценами, а не список сцен: фронт перерисовывает клип целиком
11
- // и не ходит следом за GET /clips/:clipId.
12
- ApplyAvatarStudioVoiceSampleToAllScenesCommand.ResponseSchema = zod_1.z.object({
13
- data: models_1.AvatarStudioClipSchema,
14
- });
15
- })(ApplyAvatarStudioVoiceSampleToAllScenesCommand || (exports.ApplyAvatarStudioVoiceSampleToAllScenesCommand = ApplyAvatarStudioVoiceSampleToAllScenesCommand = {}));