@purpleschool/gptbot-tools 0.0.96 → 0.0.98

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.
@@ -16,6 +16,7 @@ var ImageEditorCommand;
16
16
  imageUrls: zod_1.z.array(zod_1.z.string()),
17
17
  systemPromptId: zod_1.z.string().optional(),
18
18
  }),
19
+ userHasActiveSubscriptionOrProduct: zod_1.z.boolean(),
19
20
  });
20
21
  ImageEditorCommand.ResponseSchema = (0, command_response_schema_1.ICommandResponseSchema)(models_1.ImageEditorJobSchema);
21
22
  })(ImageEditorCommand || (exports.ImageEditorCommand = ImageEditorCommand = {}));
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageEditorModelSchema = exports.ImageEditorModelParamsSchema = void 0;
3
+ exports.ImageEditorModelSchema = exports.ImageEditorModelPricingRulesSchema = exports.ImageEditorModelPricingRuleConditionSchema = exports.ImageEditorModelParamsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_1 = require("../../common");
6
6
  const enums_1 = require("../enums");
@@ -11,6 +11,13 @@ exports.ImageEditorModelParamsSchema = zod_1.z.object({
11
11
  acceptedTypes: zod_1.z.array(zod_1.z.string()),
12
12
  }),
13
13
  });
14
+ exports.ImageEditorModelPricingRuleConditionSchema = zod_1.z.object({
15
+ withoutSub: zod_1.z.boolean().optional(),
16
+ });
17
+ exports.ImageEditorModelPricingRulesSchema = zod_1.z.array(zod_1.z.object({
18
+ condition: exports.ImageEditorModelPricingRuleConditionSchema,
19
+ value: zod_1.z.number(),
20
+ }));
14
21
  exports.ImageEditorModelSchema = zod_1.z.object({
15
22
  uuid: zod_1.z.string(),
16
23
  title: zod_1.z.string(),
@@ -23,6 +30,7 @@ exports.ImageEditorModelSchema = zod_1.z.object({
23
30
  strategy: zod_1.z.nativeEnum(enums_1.IMAGE_EDITING_STRATEGY),
24
31
  maxInputLength: zod_1.z.number(),
25
32
  params: exports.ImageEditorModelParamsSchema,
33
+ pricingRules: exports.ImageEditorModelPricingRulesSchema,
26
34
  createdAt: zod_1.z.date(),
27
35
  updatedAt: zod_1.z.date(),
28
36
  });
@@ -14,6 +14,7 @@ var ExecuteImageGenerationCommand;
14
14
  modelId: zod_1.z.string().uuid(),
15
15
  params: models_1.ImageGenerationRequestParamsSchema,
16
16
  presetId: zod_1.z.string().uuid().nullable().optional(),
17
+ userHasActiveSubscriptionOrProduct: zod_1.z.boolean(),
17
18
  });
18
19
  ExecuteImageGenerationCommand.ResponseSchema = (0, command_response_schema_1.ICommandResponseSchema)(models_1.ImageGenerationJobSchema);
19
20
  })(ExecuteImageGenerationCommand || (exports.ExecuteImageGenerationCommand = ExecuteImageGenerationCommand = {}));
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ForwardImageGenerationJobCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const command_response_schema_1 = require("../../common/models/command-response.schema");
6
+ const models_1 = require("../models");
7
+ const job_status_enum_1 = require("../../tools/enums/job-status.enum");
8
+ const user_reaction_enum_1 = require("../../common/enums/user-reaction.enum");
9
+ var ForwardImageGenerationJobCommand;
10
+ (function (ForwardImageGenerationJobCommand) {
11
+ ForwardImageGenerationJobCommand.RequestSchema = zod_1.z.object({
12
+ uuid: zod_1.z.string().uuid(),
13
+ prompt: zod_1.z.string(),
14
+ title: zod_1.z.string(),
15
+ status: zod_1.z.nativeEnum(job_status_enum_1.JOB_STATUS),
16
+ error: zod_1.z.string().nullable(),
17
+ price: zod_1.z.number(),
18
+ reaction: zod_1.z.nativeEnum(user_reaction_enum_1.USER_REACTION).nullable(),
19
+ externalId: zod_1.z.string().nullable(),
20
+ output: zod_1.z.array(zod_1.z.string()),
21
+ params: models_1.ImageGenerationJobParamsSchema,
22
+ modelId: zod_1.z.string().uuid(),
23
+ presetId: zod_1.z.string().uuid().nullable().optional(),
24
+ userId: zod_1.z.string().uuid().nullable().optional(),
25
+ unregisteredUserId: zod_1.z.string().uuid().nullable().optional(),
26
+ isDeleted: zod_1.z.boolean(),
27
+ internalError: zod_1.z.string().nullable(),
28
+ createdAt: zod_1.z.coerce.date(),
29
+ updatedAt: zod_1.z.coerce.date(),
30
+ });
31
+ ForwardImageGenerationJobCommand.ResponseSchema = (0, command_response_schema_1.ICommandResponseSchema)(models_1.ImageGenerationJobSchema);
32
+ })(ForwardImageGenerationJobCommand || (exports.ForwardImageGenerationJobCommand = ForwardImageGenerationJobCommand = {}));
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./execute-image-generation.command"), exports);
18
+ __exportStar(require("./forward-image-generation-job.command"), exports);
18
19
  __exportStar(require("./save-image-generation-job.command"), exports);
19
20
  __exportStar(require("./soft-delete-image-generation-job-by-uuid.command"), exports);
20
21
  __exportStar(require("./soft-delete-image-generation-jobs-by-criteria.command"), exports);
@@ -23,6 +23,7 @@ exports.ImageGenerationModelParamsSchema = zod_1.z.object({
23
23
  });
24
24
  exports.ImageModelPricingRuleConditionSchema = zod_1.z.object({
25
25
  resolution: zod_1.z.string().optional(),
26
+ withoutSub: zod_1.z.boolean().optional(),
26
27
  });
27
28
  exports.ImageModelPricingRulesSchema = zod_1.z.array(zod_1.z.object({
28
29
  condition: exports.ImageModelPricingRuleConditionSchema,
@@ -4,6 +4,7 @@ exports.IMAGE_GENERATION_AMQP_ROUTES = void 0;
4
4
  exports.IMAGE_GENERATION_AMQP_ROUTES = {
5
5
  EXECUTE: 'tools.image-generation.execute.rpc',
6
6
  CONFIG: 'tools.image-generation.config.rpc',
7
+ FORWARD_JOB: 'tools.image-generation.jobs.forward.rpc',
7
8
  GET_JOB: 'tools.image-generation.jobs.get.rpc',
8
9
  LIST_JOBS: 'tools.image-generation.jobs.list.rpc',
9
10
  SET_REACTION: 'tools.image-generation.jobs.set-reaction.rpc',
@@ -4,6 +4,7 @@ exports.TOOL_CONTENT_TYPE = void 0;
4
4
  var TOOL_CONTENT_TYPE;
5
5
  (function (TOOL_CONTENT_TYPE) {
6
6
  TOOL_CONTENT_TYPE["IMAGE_EDITOR"] = "IMAGE_EDITOR";
7
+ TOOL_CONTENT_TYPE["IMAGE_GENERATION"] = "IMAGE_GENERATION";
7
8
  TOOL_CONTENT_TYPE["TEXT_TO_SPEECH"] = "TEXT_TO_SPEECH";
8
9
  TOOL_CONTENT_TYPE["SPEECH_TO_TEXT"] = "SPEECH_TO_TEXT";
9
10
  TOOL_CONTENT_TYPE["REPHRASE"] = "REPHRASE";
@@ -7,6 +7,7 @@ const video_1 = require("../../video");
7
7
  const music_1 = require("../../music");
8
8
  const writer_1 = require("../../writer");
9
9
  const image_editor_1 = require("../../image-editor");
10
+ const image_generation_1 = require("../../image-generation");
10
11
  const paraphrase_1 = require("../../paraphrase");
11
12
  const presentation_1 = require("../../presentation");
12
13
  const video_editor_1 = require("../../video-editor");
@@ -17,6 +18,7 @@ exports.GlobalToolsConfigSchema = zod_1.z.object({
17
18
  [enums_1.TOOL_CONTENT_TYPE.MUSIC]: music_1.MusicConfigSchema,
18
19
  [enums_1.TOOL_CONTENT_TYPE.WRITER]: writer_1.WriterConfigSchema,
19
20
  [enums_1.TOOL_CONTENT_TYPE.IMAGE_EDITOR]: image_editor_1.ImageEditorConfigSchema,
21
+ [enums_1.TOOL_CONTENT_TYPE.IMAGE_GENERATION]: image_generation_1.ImageGenerationConfigSchema,
20
22
  [enums_1.TOOL_CONTENT_TYPE.REPHRASE]: paraphrase_1.ParaphraseToolConfigSchema,
21
23
  [enums_1.TOOL_CONTENT_TYPE.PRESENTATION]: presentation_1.PresentationConfigSchema,
22
24
  [enums_1.TOOL_CONTENT_TYPE.VIDEO_EDITOR]: video_editor_1.VideoEditorConfigSchema,
@@ -7,6 +7,7 @@ const video_1 = require("../../video");
7
7
  const music_1 = require("../../music");
8
8
  const writer_1 = require("../../writer");
9
9
  const image_editor_1 = require("../../image-editor");
10
+ const image_generation_1 = require("../../image-generation");
10
11
  const paraphrase_1 = require("../../paraphrase");
11
12
  const presentation_1 = require("../../presentation");
12
13
  const video_editor_1 = require("../../video-editor");
@@ -31,6 +32,10 @@ exports.ToolWithConfigSchema = zod_1.z.discriminatedUnion('contentType', [
31
32
  contentType: zod_1.z.literal(enums_1.TOOL_CONTENT_TYPE.IMAGE_EDITOR),
32
33
  config: image_editor_1.ImageEditorConfigSchema,
33
34
  })),
35
+ tool_schema_1.ToolSchema.merge(zod_1.z.object({
36
+ contentType: zod_1.z.literal(enums_1.TOOL_CONTENT_TYPE.IMAGE_GENERATION),
37
+ config: image_generation_1.ImageGenerationConfigSchema,
38
+ })),
34
39
  tool_schema_1.ToolSchema.merge(zod_1.z.object({
35
40
  contentType: zod_1.z.literal(enums_1.TOOL_CONTENT_TYPE.REPHRASE),
36
41
  config: paraphrase_1.ParaphraseToolConfigSchema,
@@ -13,6 +13,7 @@ export namespace ImageEditorCommand {
13
13
  imageUrls: z.array(z.string()),
14
14
  systemPromptId: z.string().optional(),
15
15
  }),
16
+ userHasActiveSubscriptionOrProduct: z.boolean(),
16
17
  });
17
18
  export type Request = z.infer<typeof RequestSchema>;
18
19
 
@@ -12,6 +12,21 @@ export const ImageEditorModelParamsSchema = z.object({
12
12
 
13
13
  export type ImageEditorModelParams = z.infer<typeof ImageEditorModelParamsSchema>;
14
14
 
15
+ export const ImageEditorModelPricingRuleConditionSchema = z.object({
16
+ withoutSub: z.boolean().optional(),
17
+ });
18
+ export type ImageEditorModelPricingRuleCondition = z.infer<
19
+ typeof ImageEditorModelPricingRuleConditionSchema
20
+ >;
21
+
22
+ export const ImageEditorModelPricingRulesSchema = z.array(
23
+ z.object({
24
+ condition: ImageEditorModelPricingRuleConditionSchema,
25
+ value: z.number(),
26
+ }),
27
+ );
28
+ export type ImageEditorModelPricingRules = z.infer<typeof ImageEditorModelPricingRulesSchema>;
29
+
15
30
  export const ImageEditorModelSchema = z.object({
16
31
  uuid: z.string(),
17
32
  title: z.string(),
@@ -24,6 +39,7 @@ export const ImageEditorModelSchema = z.object({
24
39
  strategy: z.nativeEnum(IMAGE_EDITING_STRATEGY),
25
40
  maxInputLength: z.number(),
26
41
  params: ImageEditorModelParamsSchema,
42
+ pricingRules: ImageEditorModelPricingRulesSchema,
27
43
  createdAt: z.date(),
28
44
  updatedAt: z.date(),
29
45
  });
@@ -11,6 +11,7 @@ export namespace ExecuteImageGenerationCommand {
11
11
  modelId: z.string().uuid(),
12
12
  params: ImageGenerationRequestParamsSchema,
13
13
  presetId: z.string().uuid().nullable().optional(),
14
+ userHasActiveSubscriptionOrProduct: z.boolean(),
14
15
  });
15
16
  export type Request = z.infer<typeof RequestSchema>;
16
17
 
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ import { ICommandResponseSchema } from '../../common/models/command-response.schema';
3
+ import { ImageGenerationJobSchema, ImageGenerationJobParamsSchema } from '../models';
4
+ import { JOB_STATUS } from '../../tools/enums/job-status.enum';
5
+ import { USER_REACTION } from '../../common/enums/user-reaction.enum';
6
+
7
+ export namespace ForwardImageGenerationJobCommand {
8
+ export const RequestSchema = z.object({
9
+ uuid: z.string().uuid(),
10
+ prompt: z.string(),
11
+ title: z.string(),
12
+ status: z.nativeEnum(JOB_STATUS),
13
+ error: z.string().nullable(),
14
+ price: z.number(),
15
+ reaction: z.nativeEnum(USER_REACTION).nullable(),
16
+ externalId: z.string().nullable(),
17
+ output: z.array(z.string()),
18
+ params: ImageGenerationJobParamsSchema,
19
+ modelId: z.string().uuid(),
20
+ presetId: z.string().uuid().nullable().optional(),
21
+ userId: z.string().uuid().nullable().optional(),
22
+ unregisteredUserId: z.string().uuid().nullable().optional(),
23
+ isDeleted: z.boolean(),
24
+ internalError: z.string().nullable(),
25
+ createdAt: z.coerce.date(),
26
+ updatedAt: z.coerce.date(),
27
+ });
28
+ export type Request = z.infer<typeof RequestSchema>;
29
+
30
+ export const ResponseSchema = ICommandResponseSchema(ImageGenerationJobSchema);
31
+ export type Response = z.infer<typeof ResponseSchema>;
32
+ }
@@ -1,4 +1,5 @@
1
1
  export * from './execute-image-generation.command';
2
+ export * from './forward-image-generation-job.command';
2
3
  export * from './save-image-generation-job.command';
3
4
  export * from './soft-delete-image-generation-job-by-uuid.command';
4
5
  export * from './soft-delete-image-generation-jobs-by-criteria.command';
@@ -28,6 +28,7 @@ export type ImageGenerationModelParams = z.infer<typeof ImageGenerationModelPara
28
28
 
29
29
  export const ImageModelPricingRuleConditionSchema = z.object({
30
30
  resolution: z.string().optional(),
31
+ withoutSub: z.boolean().optional(),
31
32
  });
32
33
  export type ImageModelPricingRuleCondition = z.infer<typeof ImageModelPricingRuleConditionSchema>;
33
34
 
@@ -1,6 +1,7 @@
1
1
  export const IMAGE_GENERATION_AMQP_ROUTES = {
2
2
  EXECUTE: 'tools.image-generation.execute.rpc',
3
3
  CONFIG: 'tools.image-generation.config.rpc',
4
+ FORWARD_JOB: 'tools.image-generation.jobs.forward.rpc',
4
5
  GET_JOB: 'tools.image-generation.jobs.get.rpc',
5
6
  LIST_JOBS: 'tools.image-generation.jobs.list.rpc',
6
7
  SET_REACTION: 'tools.image-generation.jobs.set-reaction.rpc',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot-tools",
3
- "version": "0.0.96",
3
+ "version": "0.0.98",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "scripts": {
@@ -1,5 +1,6 @@
1
1
  export enum TOOL_CONTENT_TYPE {
2
2
  IMAGE_EDITOR = 'IMAGE_EDITOR',
3
+ IMAGE_GENERATION = 'IMAGE_GENERATION',
3
4
  TEXT_TO_SPEECH = 'TEXT_TO_SPEECH',
4
5
  SPEECH_TO_TEXT = 'SPEECH_TO_TEXT',
5
6
  REPHRASE = 'REPHRASE',
@@ -4,6 +4,7 @@ import { VideoConfigSchema } from '../../video';
4
4
  import { MusicConfigSchema } from '../../music';
5
5
  import { WriterConfigSchema } from '../../writer';
6
6
  import { ImageEditorConfigSchema } from '../../image-editor';
7
+ import { ImageGenerationConfigSchema } from '../../image-generation';
7
8
  import { ParaphraseToolConfigSchema } from '../../paraphrase';
8
9
  import { PresentationConfigSchema } from '../../presentation';
9
10
  import { VideoEditorConfigSchema } from '../../video-editor';
@@ -15,6 +16,7 @@ export const GlobalToolsConfigSchema = z.object({
15
16
  [TOOL_CONTENT_TYPE.MUSIC]: MusicConfigSchema,
16
17
  [TOOL_CONTENT_TYPE.WRITER]: WriterConfigSchema,
17
18
  [TOOL_CONTENT_TYPE.IMAGE_EDITOR]: ImageEditorConfigSchema,
19
+ [TOOL_CONTENT_TYPE.IMAGE_GENERATION]: ImageGenerationConfigSchema,
18
20
  [TOOL_CONTENT_TYPE.REPHRASE]: ParaphraseToolConfigSchema,
19
21
  [TOOL_CONTENT_TYPE.PRESENTATION]: PresentationConfigSchema,
20
22
  [TOOL_CONTENT_TYPE.VIDEO_EDITOR]: VideoEditorConfigSchema,
@@ -4,6 +4,7 @@ import { VideoConfigSchema } from '../../video';
4
4
  import { MusicConfigSchema } from '../../music';
5
5
  import { WriterConfigSchema } from '../../writer';
6
6
  import { ImageEditorConfigSchema } from '../../image-editor';
7
+ import { ImageGenerationConfigSchema } from '../../image-generation';
7
8
  import { ParaphraseToolConfigSchema } from '../../paraphrase';
8
9
  import { PresentationConfigSchema } from '../../presentation';
9
10
  import { VideoEditorConfigSchema } from '../../video-editor';
@@ -37,6 +38,12 @@ export const ToolWithConfigSchema = z.discriminatedUnion('contentType', [
37
38
  config: ImageEditorConfigSchema,
38
39
  }),
39
40
  ),
41
+ ToolSchema.merge(
42
+ z.object({
43
+ contentType: z.literal(TOOL_CONTENT_TYPE.IMAGE_GENERATION),
44
+ config: ImageGenerationConfigSchema,
45
+ }),
46
+ ),
40
47
  ToolSchema.merge(
41
48
  z.object({
42
49
  contentType: z.literal(TOOL_CONTENT_TYPE.REPHRASE),