@purpleschool/gptbot-tools 0.0.95 → 0.0.96

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.
@@ -17,4 +17,5 @@ var IMAGE_GENERATION_MODEL_STRATEGY;
17
17
  IMAGE_GENERATION_MODEL_STRATEGY["IMAGEN_IMAGE_GENERATION"] = "IMAGEN_IMAGE_GENERATION";
18
18
  // Midjourney
19
19
  IMAGE_GENERATION_MODEL_STRATEGY["MIDJOURNEY_IMAGE_GENERATION"] = "MIDJOURNEY_IMAGE_GENERATION";
20
+ IMAGE_GENERATION_MODEL_STRATEGY["NANO_BANANA_IMAGE_GENERATION"] = "NANO_BANANA_IMAGE_GENERATION";
20
21
  })(IMAGE_GENERATION_MODEL_STRATEGY || (exports.IMAGE_GENERATION_MODEL_STRATEGY = IMAGE_GENERATION_MODEL_STRATEGY = {}));
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IMAGE_GENERATION_MODELS = void 0;
4
+ var IMAGE_GENERATION_MODELS;
5
+ (function (IMAGE_GENERATION_MODELS) {
6
+ IMAGE_GENERATION_MODELS["NANO_BANANA"] = "google/nano-banana";
7
+ IMAGE_GENERATION_MODELS["NANO_BANANA_PRO"] = "nano-banana-pro";
8
+ })(IMAGE_GENERATION_MODELS || (exports.IMAGE_GENERATION_MODELS = IMAGE_GENERATION_MODELS = {}));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IMAGE_GENERATION_RESOLUTION = void 0;
4
+ var IMAGE_GENERATION_RESOLUTION;
5
+ (function (IMAGE_GENERATION_RESOLUTION) {
6
+ IMAGE_GENERATION_RESOLUTION["LOW"] = "1K";
7
+ IMAGE_GENERATION_RESOLUTION["MEDIUM"] = "2K";
8
+ IMAGE_GENERATION_RESOLUTION["HIGH"] = "4K";
9
+ })(IMAGE_GENERATION_RESOLUTION || (exports.IMAGE_GENERATION_RESOLUTION = IMAGE_GENERATION_RESOLUTION = {}));
@@ -15,3 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./image-generation-model-strategy.enum"), exports);
18
+ __exportStar(require("./image-generation-resolution.enum"), exports);
19
+ __exportStar(require("./image-generation-models.enum"), exports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageGenerationModelSchema = exports.ImageGenerationModelParamsSchema = exports.ImageGenerationRequestParamsSchema = void 0;
3
+ exports.ImageGenerationModelSchema = exports.ImageModelPricingRulesSchema = exports.ImageModelPricingRuleConditionSchema = exports.ImageGenerationModelParamsSchema = exports.ImageGenerationRequestParamsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_1 = require("../../common");
6
6
  const enums_1 = require("../enums");
@@ -9,6 +9,9 @@ exports.ImageGenerationRequestParamsSchema = zod_1.z.object({
9
9
  aspectRatio: zod_1.z.string(),
10
10
  attachedFiles: zod_1.z.array(image_generation_job_schema_1.ImageGenerationFileAttachmentSchema),
11
11
  enhancePrompt: zod_1.z.boolean(),
12
+ resolution: zod_1.z
13
+ .nativeEnum(enums_1.IMAGE_GENERATION_RESOLUTION)
14
+ .default(enums_1.IMAGE_GENERATION_RESOLUTION.MEDIUM),
12
15
  });
13
16
  exports.ImageGenerationModelParamsSchema = zod_1.z.object({
14
17
  aspectRatio: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
@@ -16,7 +19,15 @@ exports.ImageGenerationModelParamsSchema = zod_1.z.object({
16
19
  height: zod_1.z.number(),
17
20
  })),
18
21
  quality: zod_1.z.string().optional(),
22
+ resolution: zod_1.z.nativeEnum(enums_1.IMAGE_GENERATION_RESOLUTION).optional(),
19
23
  });
24
+ exports.ImageModelPricingRuleConditionSchema = zod_1.z.object({
25
+ resolution: zod_1.z.string().optional(),
26
+ });
27
+ exports.ImageModelPricingRulesSchema = zod_1.z.array(zod_1.z.object({
28
+ condition: exports.ImageModelPricingRuleConditionSchema,
29
+ value: zod_1.z.number(),
30
+ }));
20
31
  exports.ImageGenerationModelSchema = zod_1.z.object({
21
32
  uuid: zod_1.z.string(),
22
33
  title: zod_1.z.string(),
@@ -31,6 +42,7 @@ exports.ImageGenerationModelSchema = zod_1.z.object({
31
42
  iconVariants: common_1.IconVariantsSchema,
32
43
  supportsImageAttachment: zod_1.z.boolean(),
33
44
  maxAttachedImages: zod_1.z.number(),
45
+ pricingRules: exports.ImageModelPricingRulesSchema,
34
46
  createdAt: zod_1.z.date(),
35
47
  updatedAt: zod_1.z.date(),
36
48
  });
@@ -4,4 +4,5 @@ exports.IMAGE_GENERATION_ROUTES = exports.IMAGE_GENERATION_CONTROLLER = void 0;
4
4
  exports.IMAGE_GENERATION_CONTROLLER = 'image-generation';
5
5
  exports.IMAGE_GENERATION_ROUTES = {
6
6
  KIE_MIDJOURNEY_CALLBACK: 'kie/midjourney/callback',
7
+ KIE_NANO_BANANA_CALLBACK: 'kie/nano-banana/callback',
7
8
  };
@@ -17,4 +17,5 @@ export enum IMAGE_GENERATION_MODEL_STRATEGY {
17
17
 
18
18
  // Midjourney
19
19
  MIDJOURNEY_IMAGE_GENERATION = 'MIDJOURNEY_IMAGE_GENERATION',
20
+ NANO_BANANA_IMAGE_GENERATION = 'NANO_BANANA_IMAGE_GENERATION',
20
21
  }
@@ -0,0 +1,4 @@
1
+ export enum IMAGE_GENERATION_MODELS {
2
+ NANO_BANANA = 'google/nano-banana',
3
+ NANO_BANANA_PRO = 'nano-banana-pro',
4
+ }
@@ -0,0 +1,5 @@
1
+ export enum IMAGE_GENERATION_RESOLUTION {
2
+ LOW = '1K',
3
+ MEDIUM = '2K',
4
+ HIGH = '4K',
5
+ }
@@ -1 +1,3 @@
1
1
  export * from './image-generation-model-strategy.enum';
2
+ export * from './image-generation-resolution.enum';
3
+ export * from './image-generation-models.enum';
@@ -1,12 +1,15 @@
1
1
  import { z } from 'zod';
2
2
  import { IconVariantsSchema, TOOL_MODEL_STATUS } from '../../common';
3
- import { IMAGE_GENERATION_MODEL_STRATEGY } from '../enums';
3
+ import { IMAGE_GENERATION_MODEL_STRATEGY, IMAGE_GENERATION_RESOLUTION } from '../enums';
4
4
  import { ImageGenerationFileAttachmentSchema } from './image-generation-job.schema';
5
5
 
6
6
  export const ImageGenerationRequestParamsSchema = z.object({
7
7
  aspectRatio: z.string(),
8
8
  attachedFiles: z.array(ImageGenerationFileAttachmentSchema),
9
9
  enhancePrompt: z.boolean(),
10
+ resolution: z
11
+ .nativeEnum(IMAGE_GENERATION_RESOLUTION)
12
+ .default(IMAGE_GENERATION_RESOLUTION.MEDIUM),
10
13
  });
11
14
  export type ImageGenerationRequestParams = z.infer<typeof ImageGenerationRequestParamsSchema>;
12
15
 
@@ -19,9 +22,23 @@ export const ImageGenerationModelParamsSchema = z.object({
19
22
  }),
20
23
  ),
21
24
  quality: z.string().optional(),
25
+ resolution: z.nativeEnum(IMAGE_GENERATION_RESOLUTION).optional(),
22
26
  });
23
27
  export type ImageGenerationModelParams = z.infer<typeof ImageGenerationModelParamsSchema>;
24
28
 
29
+ export const ImageModelPricingRuleConditionSchema = z.object({
30
+ resolution: z.string().optional(),
31
+ });
32
+ export type ImageModelPricingRuleCondition = z.infer<typeof ImageModelPricingRuleConditionSchema>;
33
+
34
+ export const ImageModelPricingRulesSchema = z.array(
35
+ z.object({
36
+ condition: ImageModelPricingRuleConditionSchema,
37
+ value: z.number(),
38
+ }),
39
+ );
40
+ export type ImageModelPricingRules = z.infer<typeof ImageModelPricingRulesSchema>;
41
+
25
42
  export const ImageGenerationModelSchema = z.object({
26
43
  uuid: z.string(),
27
44
  title: z.string(),
@@ -36,6 +53,7 @@ export const ImageGenerationModelSchema = z.object({
36
53
  iconVariants: IconVariantsSchema,
37
54
  supportsImageAttachment: z.boolean(),
38
55
  maxAttachedImages: z.number(),
56
+ pricingRules: ImageModelPricingRulesSchema,
39
57
  createdAt: z.date(),
40
58
  updatedAt: z.date(),
41
59
  });
@@ -2,4 +2,5 @@ export const IMAGE_GENERATION_CONTROLLER = 'image-generation';
2
2
 
3
3
  export const IMAGE_GENERATION_ROUTES = {
4
4
  KIE_MIDJOURNEY_CALLBACK: 'kie/midjourney/callback',
5
+ KIE_NANO_BANANA_CALLBACK: 'kie/nano-banana/callback',
5
6
  } as const;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot-tools",
3
- "version": "0.0.95",
3
+ "version": "0.0.96",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "scripts": {