@purpleschool/gptbot 0.8.69 → 0.8.70-stage-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,7 @@ export const B2B_ROUTES = {
5
5
  REFRESH_API_TOKEN: 'token/refresh',
6
6
  SEND_TEXT_REQUEST: 'completions',
7
7
  SEND_IMAGE_REQUEST: 'image/generation',
8
+ GET_B2B_IMAGE_JOB: (uuid: string) => `image/generation/jobs/${uuid}`,
8
9
  FILE_UPLOAD: 'file/upload',
9
10
  BALANCE_TOP_UP: 'balance/top-up',
10
11
  } as const;
package/api/routes.ts CHANGED
@@ -856,6 +856,8 @@ export const REST_API = {
856
856
  REFRESH_API_TOKEN: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.REFRESH_API_TOKEN}`,
857
857
  SEND_TEXT_REQUEST: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.SEND_TEXT_REQUEST}`,
858
858
  SEND_IMAGE_REQUEST: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.SEND_IMAGE_REQUEST}`,
859
+ GET_B2B_IMAGE_JOB: (uuid: string) =>
860
+ `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.GET_B2B_IMAGE_JOB(uuid)}`,
859
861
  FILE_UPLOAD: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.FILE_UPLOAD}`,
860
862
  BALANCE_TOP_UP: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.BALANCE_TOP_UP}`,
861
863
  },
@@ -7,6 +7,7 @@ exports.B2B_ROUTES = {
7
7
  REFRESH_API_TOKEN: 'token/refresh',
8
8
  SEND_TEXT_REQUEST: 'completions',
9
9
  SEND_IMAGE_REQUEST: 'image/generation',
10
+ GET_B2B_IMAGE_JOB: (uuid) => `image/generation/jobs/${uuid}`,
10
11
  FILE_UPLOAD: 'file/upload',
11
12
  BALANCE_TOP_UP: 'balance/top-up',
12
13
  };
@@ -662,6 +662,7 @@ exports.REST_API = {
662
662
  REFRESH_API_TOKEN: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.REFRESH_API_TOKEN}`,
663
663
  SEND_TEXT_REQUEST: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.SEND_TEXT_REQUEST}`,
664
664
  SEND_IMAGE_REQUEST: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.SEND_IMAGE_REQUEST}`,
665
+ GET_B2B_IMAGE_JOB: (uuid) => `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.GET_B2B_IMAGE_JOB(uuid)}`,
665
666
  FILE_UPLOAD: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.FILE_UPLOAD}`,
666
667
  BALANCE_TOP_UP: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.BALANCE_TOP_UP}`,
667
668
  },
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FindB2bImageGenerationJobByUUIDCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../constants");
6
+ var FindB2bImageGenerationJobByUUIDCommand;
7
+ (function (FindB2bImageGenerationJobByUUIDCommand) {
8
+ FindB2bImageGenerationJobByUUIDCommand.RequestParamsSchema = zod_1.z.object({
9
+ uuid: zod_1.z.string().uuid(),
10
+ });
11
+ FindB2bImageGenerationJobByUUIDCommand.ResponseSchema = zod_1.z.object({
12
+ data: zod_1.z.object({
13
+ urls: zod_1.z.array(zod_1.z.string()).nullable(),
14
+ status: zod_1.z.nativeEnum(constants_1.TOOL_JOB_STATUS),
15
+ price: zod_1.z.number().nullable(),
16
+ error: zod_1.z.string().nullable(),
17
+ }),
18
+ });
19
+ })(FindB2bImageGenerationJobByUUIDCommand || (exports.FindB2bImageGenerationJobByUUIDCommand = FindB2bImageGenerationJobByUUIDCommand = {}));
@@ -19,3 +19,4 @@ __exportStar(require("./refresh-api-key.command"), exports);
19
19
  __exportStar(require("./send-text-request.command"), exports);
20
20
  __exportStar(require("./send-image-request.command"), exports);
21
21
  __exportStar(require("./submit-balance-top-up-form.command"), exports);
22
+ __exportStar(require("./find-b2b-image-generation-job-by-uuid.command"), exports);
@@ -3,22 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SendImageRequestCommand = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../../constants");
6
+ const models_1 = require("../../models");
6
7
  var SendImageRequestCommand;
7
8
  (function (SendImageRequestCommand) {
8
9
  SendImageRequestCommand.RequestSchema = zod_1.z.object({
9
10
  model: zod_1.z.string(),
10
11
  prompt: zod_1.z.string(),
11
- params: zod_1.z.array(zod_1.z.object({
12
- type: zod_1.z.nativeEnum(constants_1.AI_MODEL_CONFIG_PARAM),
13
- option: zod_1.z.string().uuid(),
14
- })),
15
- refinePrompt: zod_1.z.boolean().default(false),
16
- features: zod_1.z.array(zod_1.z.nativeEnum(constants_1.AI_MODEL_FEATURE)).optional().default([]),
17
- files: zod_1.z.array(zod_1.z.string().uuid()).optional().default([]),
12
+ params: zod_1.z.object({
13
+ aspectRatio: zod_1.z.string(),
14
+ attachedFiles: zod_1.z.string().array(),
15
+ enhancePrompt: zod_1.z.boolean(),
16
+ resolution: zod_1.z.nativeEnum(constants_1.IMAGE_GENERATION_RESOLUTION).optional(),
17
+ }),
18
18
  });
19
19
  SendImageRequestCommand.ResponseSchema = zod_1.z.object({
20
- data: zod_1.z.object({
21
- urls: zod_1.z.array(zod_1.z.string()),
20
+ data: models_1.ToolJobSchema.pick({
21
+ uuid: true,
22
+ status: true,
23
+ error: true,
22
24
  }),
23
25
  });
24
26
  })(SendImageRequestCommand || (exports.SendImageRequestCommand = SendImageRequestCommand = {}));
@@ -2652,4 +2652,94 @@ exports.ERRORS = {
2652
2652
  message: 'Индекс трека выходит за пределы допустимого диапазона',
2653
2653
  httpCode: 400,
2654
2654
  },
2655
+ TOKEN_RESERVATION_CREATE_ERROR: {
2656
+ code: 'A536',
2657
+ message: 'Произошла ошибка при создании записи об удержании токенов',
2658
+ httpCode: 500,
2659
+ },
2660
+ TOKEN_RESERVATION_NOT_FOUND: {
2661
+ code: 'A537',
2662
+ message: 'Запись об удержании токенов не найдена',
2663
+ httpCode: 404,
2664
+ },
2665
+ TOKEN_RESERVATION_COMMIT_ERROR: {
2666
+ code: 'A538',
2667
+ message: 'Произошла ошибка при подтверждении записи об удержании токенов',
2668
+ httpCode: 500,
2669
+ },
2670
+ TOKEN_RESERVATION_RELEASE_ERROR: {
2671
+ code: 'A539',
2672
+ message: 'Произошла ошибка при освобождении записи об удержании токенов',
2673
+ httpCode: 500,
2674
+ },
2675
+ TOKEN_RESERVATION_INSUFFICIENT_BALANCE: {
2676
+ code: 'A540',
2677
+ message: 'Недостаточно токенов для выполнения операции',
2678
+ httpCode: 400,
2679
+ },
2680
+ TOKEN_RESERVATION_INVALID_STATUS: {
2681
+ code: 'A541',
2682
+ message: 'Запись об удержании токенов находится в недопустимом статусе',
2683
+ httpCode: 400,
2684
+ },
2685
+ MUSIC_PRICE_ERROR: {
2686
+ code: 'A542',
2687
+ message: 'Произошла ошибка при получении цены для генерации музыки',
2688
+ httpCode: 500,
2689
+ },
2690
+ IMAGE_GENERATION_PRICE_ERROR: {
2691
+ code: 'A543',
2692
+ message: 'Произошла ошибка при получении цены для генерации изображения',
2693
+ httpCode: 500,
2694
+ },
2695
+ IMAGE_EDITOR_PRICE_ERROR: {
2696
+ code: 'A544',
2697
+ message: 'Произошла ошибка при получении цены для редактирования изображения',
2698
+ httpCode: 500,
2699
+ },
2700
+ STT_PRICE_ERROR: {
2701
+ code: 'A545',
2702
+ message: 'Произошла ошибка при получении цены для транскрибации аудио',
2703
+ httpCode: 500,
2704
+ },
2705
+ TTS_PRICE_ERROR: {
2706
+ code: 'A546',
2707
+ message: 'Произошла ошибка при получении цены для синтеза речи',
2708
+ httpCode: 500,
2709
+ },
2710
+ VIDEO_PRICE_ERROR: {
2711
+ code: 'A547',
2712
+ message: 'Произошла ошибка при получении цены для генерации видео',
2713
+ httpCode: 500,
2714
+ },
2715
+ VIDEO_EDITOR_PRICE_ERROR: {
2716
+ code: 'A548',
2717
+ message: 'Произошла ошибка при получении цены для редактирования видео',
2718
+ httpCode: 500,
2719
+ },
2720
+ PARAPHRASE_PRICE_ERROR: {
2721
+ code: 'A549',
2722
+ message: 'Произошла ошибка при получении цены для парафразирования',
2723
+ httpCode: 500,
2724
+ },
2725
+ PRESENTATION_SLIDES_GENERATION_PRICE_ERROR: {
2726
+ code: 'A550',
2727
+ message: 'Произошла ошибка при получении цены для генерации слайдов презентации',
2728
+ httpCode: 500,
2729
+ },
2730
+ WRITER_CONTENT_GENERATION_PRICE_ERROR: {
2731
+ code: 'A551',
2732
+ message: 'Произошла ошибка при получении цены для генерации текста',
2733
+ httpCode: 500,
2734
+ },
2735
+ COMMUNITY_POST_EXISTANCE_CHECK_ERROR: {
2736
+ code: 'A561',
2737
+ message: 'Произошла ошибка при проверке существования поста.',
2738
+ httpCode: 500,
2739
+ },
2740
+ COMMUNITY_POST_ALREADY_EXISTS_ERROR: {
2741
+ code: 'A562',
2742
+ message: 'Данная работа уже опубликована в сообществе.',
2743
+ httpCode: 400,
2744
+ },
2655
2745
  };
@@ -60,3 +60,4 @@ __exportStar(require("./tool-music"), exports);
60
60
  __exportStar(require("./community"), exports);
61
61
  __exportStar(require("./user-profile"), exports);
62
62
  __exportStar(require("./model"), exports);
63
+ __exportStar(require("./token-reservation"), exports);
@@ -0,0 +1,17 @@
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);
@@ -0,0 +1,10 @@
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 = {}));
@@ -0,0 +1,17 @@
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);
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./tool-content-type.enum"), exports);
18
18
  __exportStar(require("./tool-job-status.enum"), exports);
19
19
  __exportStar(require("./tool-type.enum"), exports);
20
+ __exportStar(require("./job-request-origin.enum"), exports);
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JOB_REQUEST_ORIGIN = void 0;
4
+ var JOB_REQUEST_ORIGIN;
5
+ (function (JOB_REQUEST_ORIGIN) {
6
+ JOB_REQUEST_ORIGIN["API"] = "api";
7
+ JOB_REQUEST_ORIGIN["B2B"] = "b2b";
8
+ })(JOB_REQUEST_ORIGIN || (exports.JOB_REQUEST_ORIGIN = JOB_REQUEST_ORIGIN = {}));
@@ -6,4 +6,7 @@ var TOOL_TYPE;
6
6
  TOOL_TYPE["PARAPHRASE"] = "paraphrase";
7
7
  TOOL_TYPE["TTS"] = "tts";
8
8
  TOOL_TYPE["STT"] = "stt";
9
+ TOOL_TYPE["IMAGE_GENERATION"] = "image_generation";
10
+ TOOL_TYPE["IMAGE_EDITOR"] = "image_editor";
11
+ TOOL_TYPE["MUSIC"] = "music";
9
12
  })(TOOL_TYPE || (exports.TOOL_TYPE = TOOL_TYPE = {}));
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import { TOOL_JOB_STATUS } from '../../constants';
3
+
4
+ export namespace FindB2bImageGenerationJobByUUIDCommand {
5
+ export const RequestParamsSchema = z.object({
6
+ uuid: z.string().uuid(),
7
+ });
8
+
9
+ export type Request = z.infer<typeof RequestParamsSchema>;
10
+
11
+ export const ResponseSchema = z.object({
12
+ data: z.object({
13
+ urls: z.array(z.string()).nullable(),
14
+ status: z.nativeEnum(TOOL_JOB_STATUS),
15
+ price: z.number().nullable(),
16
+ error: z.string().nullable(),
17
+ }),
18
+ });
19
+
20
+ export type Response = z.infer<typeof ResponseSchema>;
21
+ }
@@ -3,3 +3,4 @@ export * from './refresh-api-key.command';
3
3
  export * from './send-text-request.command';
4
4
  export * from './send-image-request.command';
5
5
  export * from './submit-balance-top-up-form.command';
6
+ export * from './find-b2b-image-generation-job-by-uuid.command';
@@ -1,26 +1,26 @@
1
1
  import { z } from 'zod';
2
- import { AI_MODEL_CONFIG_PARAM, AI_MODEL_FEATURE } from '../../constants';
2
+ import { IMAGE_GENERATION_RESOLUTION } from '../../constants';
3
+ import { ToolJobSchema } from '../../models';
3
4
 
4
5
  export namespace SendImageRequestCommand {
5
6
  export const RequestSchema = z.object({
6
7
  model: z.string(),
7
8
  prompt: z.string(),
8
- params: z.array(
9
- z.object({
10
- type: z.nativeEnum(AI_MODEL_CONFIG_PARAM),
11
- option: z.string().uuid(),
12
- }),
13
- ),
14
- refinePrompt: z.boolean().default(false),
15
- features: z.array(z.nativeEnum(AI_MODEL_FEATURE)).optional().default([]),
16
- files: z.array(z.string().uuid()).optional().default([]),
9
+ params: z.object({
10
+ aspectRatio: z.string(),
11
+ attachedFiles: z.string().array(),
12
+ enhancePrompt: z.boolean(),
13
+ resolution: z.nativeEnum(IMAGE_GENERATION_RESOLUTION).optional(),
14
+ }),
17
15
  });
18
16
 
19
17
  export type Request = z.infer<typeof RequestSchema>;
20
18
 
21
19
  export const ResponseSchema = z.object({
22
- data: z.object({
23
- urls: z.array(z.string()),
20
+ data: ToolJobSchema.pick({
21
+ uuid: true,
22
+ status: true,
23
+ error: true,
24
24
  }),
25
25
  });
26
26
 
@@ -2660,4 +2660,94 @@ export const ERRORS = {
2660
2660
  message: 'Индекс трека выходит за пределы допустимого диапазона',
2661
2661
  httpCode: 400,
2662
2662
  },
2663
+ TOKEN_RESERVATION_CREATE_ERROR: {
2664
+ code: 'A536',
2665
+ message: 'Произошла ошибка при создании записи об удержании токенов',
2666
+ httpCode: 500,
2667
+ },
2668
+ TOKEN_RESERVATION_NOT_FOUND: {
2669
+ code: 'A537',
2670
+ message: 'Запись об удержании токенов не найдена',
2671
+ httpCode: 404,
2672
+ },
2673
+ TOKEN_RESERVATION_COMMIT_ERROR: {
2674
+ code: 'A538',
2675
+ message: 'Произошла ошибка при подтверждении записи об удержании токенов',
2676
+ httpCode: 500,
2677
+ },
2678
+ TOKEN_RESERVATION_RELEASE_ERROR: {
2679
+ code: 'A539',
2680
+ message: 'Произошла ошибка при освобождении записи об удержании токенов',
2681
+ httpCode: 500,
2682
+ },
2683
+ TOKEN_RESERVATION_INSUFFICIENT_BALANCE: {
2684
+ code: 'A540',
2685
+ message: 'Недостаточно токенов для выполнения операции',
2686
+ httpCode: 400,
2687
+ },
2688
+ TOKEN_RESERVATION_INVALID_STATUS: {
2689
+ code: 'A541',
2690
+ message: 'Запись об удержании токенов находится в недопустимом статусе',
2691
+ httpCode: 400,
2692
+ },
2693
+ MUSIC_PRICE_ERROR: {
2694
+ code: 'A542',
2695
+ message: 'Произошла ошибка при получении цены для генерации музыки',
2696
+ httpCode: 500,
2697
+ },
2698
+ IMAGE_GENERATION_PRICE_ERROR: {
2699
+ code: 'A543',
2700
+ message: 'Произошла ошибка при получении цены для генерации изображения',
2701
+ httpCode: 500,
2702
+ },
2703
+ IMAGE_EDITOR_PRICE_ERROR: {
2704
+ code: 'A544',
2705
+ message: 'Произошла ошибка при получении цены для редактирования изображения',
2706
+ httpCode: 500,
2707
+ },
2708
+ STT_PRICE_ERROR: {
2709
+ code: 'A545',
2710
+ message: 'Произошла ошибка при получении цены для транскрибации аудио',
2711
+ httpCode: 500,
2712
+ },
2713
+ TTS_PRICE_ERROR: {
2714
+ code: 'A546',
2715
+ message: 'Произошла ошибка при получении цены для синтеза речи',
2716
+ httpCode: 500,
2717
+ },
2718
+ VIDEO_PRICE_ERROR: {
2719
+ code: 'A547',
2720
+ message: 'Произошла ошибка при получении цены для генерации видео',
2721
+ httpCode: 500,
2722
+ },
2723
+ VIDEO_EDITOR_PRICE_ERROR: {
2724
+ code: 'A548',
2725
+ message: 'Произошла ошибка при получении цены для редактирования видео',
2726
+ httpCode: 500,
2727
+ },
2728
+ PARAPHRASE_PRICE_ERROR: {
2729
+ code: 'A549',
2730
+ message: 'Произошла ошибка при получении цены для парафразирования',
2731
+ httpCode: 500,
2732
+ },
2733
+ PRESENTATION_SLIDES_GENERATION_PRICE_ERROR: {
2734
+ code: 'A550',
2735
+ message: 'Произошла ошибка при получении цены для генерации слайдов презентации',
2736
+ httpCode: 500,
2737
+ },
2738
+ WRITER_CONTENT_GENERATION_PRICE_ERROR: {
2739
+ code: 'A551',
2740
+ message: 'Произошла ошибка при получении цены для генерации текста',
2741
+ httpCode: 500,
2742
+ },
2743
+ COMMUNITY_POST_EXISTANCE_CHECK_ERROR: {
2744
+ code: 'A561',
2745
+ message: 'Произошла ошибка при проверке существования поста.',
2746
+ httpCode: 500,
2747
+ },
2748
+ COMMUNITY_POST_ALREADY_EXISTS_ERROR: {
2749
+ code: 'A562',
2750
+ message: 'Данная работа уже опубликована в сообществе.',
2751
+ httpCode: 400,
2752
+ },
2663
2753
  };
@@ -44,3 +44,4 @@ export * from './tool-music';
44
44
  export * from './community';
45
45
  export * from './user-profile';
46
46
  export * from './model';
47
+ export * from './token-reservation';
@@ -0,0 +1 @@
1
+ export * from './token-reservation-status.enum';
@@ -0,0 +1,6 @@
1
+ export enum TOKEN_RESERVATION_STATUS {
2
+ PENDING = 'pending',
3
+ COMMITTED = 'committed',
4
+ RELEASED = 'released',
5
+ EXPIRED = 'expired',
6
+ }
@@ -0,0 +1 @@
1
+ export * from './enums';
@@ -1,3 +1,4 @@
1
1
  export * from './tool-content-type.enum';
2
2
  export * from './tool-job-status.enum';
3
3
  export * from './tool-type.enum';
4
+ export * from './job-request-origin.enum';
@@ -0,0 +1,4 @@
1
+ export enum JOB_REQUEST_ORIGIN {
2
+ API = 'api',
3
+ B2B = 'b2b',
4
+ }
@@ -2,4 +2,7 @@ export enum TOOL_TYPE {
2
2
  PARAPHRASE = 'paraphrase',
3
3
  TTS = 'tts',
4
4
  STT = 'stt',
5
+ IMAGE_GENERATION = 'image_generation',
6
+ IMAGE_EDITOR = 'image_editor',
7
+ MUSIC = 'music',
5
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.8.69",
3
+ "version": "0.8.70-stage-2",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",