@purpleschool/gptbot 0.9.11 → 0.9.13

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/b2b.ts +1 -0
  2. package/api/routes.ts +1 -0
  3. package/build/api/controllers/http/b2b.js +1 -0
  4. package/build/api/routes.js +1 -0
  5. package/build/commands/b2b/get-b2b-documentation.command.js +80 -0
  6. package/build/commands/b2b/index.js +2 -0
  7. package/build/commands/b2b/send-text-request.command.js +2 -5
  8. package/build/commands/b2b/upload-b2b-file.command.js +12 -0
  9. package/build/commands/tools/image-editor/image-editor.command.js +1 -0
  10. package/build/commands/tools/image-editor/retry-image-editor-job.command.js +1 -0
  11. package/build/models/b2b/b2b-completions-stream-chunk.schema.js +10 -0
  12. package/build/models/b2b/b2b-file-upload-response.schema.js +11 -0
  13. package/build/models/b2b/index.js +18 -0
  14. package/build/models/index.js +2 -0
  15. package/build/models/json-value.schema.js +13 -0
  16. package/build/models/tools/image-editor/image-editor-job.schema.js +1 -0
  17. package/build/models/tools/image-editor/image-editor-model.schema.js +6 -0
  18. package/build/models/tools/marketplace-card/marketplace-card-config.schema.js +18 -1
  19. package/commands/b2b/get-b2b-documentation.command.ts +97 -0
  20. package/commands/b2b/index.ts +2 -0
  21. package/commands/b2b/send-text-request.command.ts +2 -5
  22. package/commands/b2b/upload-b2b-file.command.ts +15 -0
  23. package/commands/tools/image-editor/image-editor.command.ts +1 -0
  24. package/commands/tools/image-editor/retry-image-editor-job.command.ts +1 -0
  25. package/models/ai-model.schema.ts +2 -0
  26. package/models/b2b/b2b-completions-stream-chunk.schema.ts +11 -0
  27. package/models/b2b/b2b-file-upload-response.schema.ts +15 -0
  28. package/models/b2b/index.ts +3 -0
  29. package/models/index.ts +2 -0
  30. package/models/json-value.schema.ts +24 -0
  31. package/models/tools/image-editor/image-editor-job.schema.ts +1 -0
  32. package/models/tools/image-editor/image-editor-model.schema.ts +9 -0
  33. package/models/tools/marketplace-card/marketplace-card-config.schema.ts +19 -0
  34. package/models/tools/marketplace-card/marketplace-card-job.schema.ts +1 -1
  35. package/package.json +1 -1
@@ -6,6 +6,7 @@ export const B2B_ROUTES = {
6
6
  SEND_TEXT_REQUEST: 'completions',
7
7
  SEND_IMAGE_REQUEST: 'image/generation',
8
8
  GET_B2B_IMAGE_JOB: (uuid: string) => `image/generation/jobs/${uuid}`,
9
+ DOCUMENTATION: 'documentation',
9
10
  FILE_UPLOAD: 'file/upload',
10
11
  BALANCE_TOP_UP: 'balance/top-up',
11
12
  } as const;
package/api/routes.ts CHANGED
@@ -907,6 +907,7 @@ export const REST_API = {
907
907
  SEND_IMAGE_REQUEST: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.SEND_IMAGE_REQUEST}`,
908
908
  GET_B2B_IMAGE_JOB: (uuid: string) =>
909
909
  `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.GET_B2B_IMAGE_JOB(uuid)}`,
910
+ DOCUMENTATION: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.DOCUMENTATION}`,
910
911
  FILE_UPLOAD: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.FILE_UPLOAD}`,
911
912
  BALANCE_TOP_UP: `${ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.BALANCE_TOP_UP}`,
912
913
  },
@@ -8,6 +8,7 @@ exports.B2B_ROUTES = {
8
8
  SEND_TEXT_REQUEST: 'completions',
9
9
  SEND_IMAGE_REQUEST: 'image/generation',
10
10
  GET_B2B_IMAGE_JOB: (uuid) => `image/generation/jobs/${uuid}`,
11
+ DOCUMENTATION: 'documentation',
11
12
  FILE_UPLOAD: 'file/upload',
12
13
  BALANCE_TOP_UP: 'balance/top-up',
13
14
  };
@@ -695,6 +695,7 @@ exports.REST_API = {
695
695
  SEND_TEXT_REQUEST: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.SEND_TEXT_REQUEST}`,
696
696
  SEND_IMAGE_REQUEST: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.SEND_IMAGE_REQUEST}`,
697
697
  GET_B2B_IMAGE_JOB: (uuid) => `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.GET_B2B_IMAGE_JOB(uuid)}`,
698
+ DOCUMENTATION: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.DOCUMENTATION}`,
698
699
  FILE_UPLOAD: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.FILE_UPLOAD}`,
699
700
  BALANCE_TOP_UP: `${exports.ROOT}/${CONTROLLERS.B2B_CONTROLLER}/${CONTROLLERS.B2B_ROUTES.BALANCE_TOP_UP}`,
700
701
  },
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetB2bDocumentationCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../constants");
6
+ const models_1 = require("../../models");
7
+ var GetB2bDocumentationCommand;
8
+ (function (GetB2bDocumentationCommand) {
9
+ GetB2bDocumentationCommand.HttpMethodSchema = zod_1.z.enum(['GET', 'POST', 'PATCH', 'DELETE']);
10
+ GetB2bDocumentationCommand.AuthTypeSchema = zod_1.z.enum(['jwt', 'apiKey', 'none']);
11
+ GetB2bDocumentationCommand.HeaderSchema = zod_1.z.object({
12
+ name: zod_1.z.string(),
13
+ required: zod_1.z.boolean(),
14
+ description: zod_1.z.string().optional(),
15
+ });
16
+ GetB2bDocumentationCommand.EndpointParamSchema = zod_1.z.object({
17
+ name: zod_1.z.string(),
18
+ required: zod_1.z.boolean(),
19
+ schemaRef: zod_1.z.string(),
20
+ });
21
+ GetB2bDocumentationCommand.EndpointBodySchema = zod_1.z.object({
22
+ schemaRef: zod_1.z.string(),
23
+ contentType: zod_1.z.string().optional(),
24
+ });
25
+ GetB2bDocumentationCommand.EndpointExampleSchema = zod_1.z.object({
26
+ title: zod_1.z.string(),
27
+ curl: zod_1.z.string().optional(),
28
+ request: models_1.JsonValueSchema.optional(),
29
+ response: models_1.JsonValueSchema.optional(),
30
+ });
31
+ GetB2bDocumentationCommand.EndpointSchema = zod_1.z.object({
32
+ id: zod_1.z.string(),
33
+ title: zod_1.z.string(),
34
+ description: zod_1.z.string().optional(),
35
+ method: GetB2bDocumentationCommand.HttpMethodSchema,
36
+ path: zod_1.z.string(),
37
+ auth: GetB2bDocumentationCommand.AuthTypeSchema,
38
+ headers: zod_1.z.array(GetB2bDocumentationCommand.HeaderSchema).optional(),
39
+ pathParams: zod_1.z.array(GetB2bDocumentationCommand.EndpointParamSchema).optional(),
40
+ requestBody: GetB2bDocumentationCommand.EndpointBodySchema.optional(),
41
+ responseBody: GetB2bDocumentationCommand.EndpointBodySchema.optional(),
42
+ notes: zod_1.z.array(zod_1.z.string()).optional(),
43
+ examples: zod_1.z.array(GetB2bDocumentationCommand.EndpointExampleSchema).optional(),
44
+ });
45
+ GetB2bDocumentationCommand.ErrorSchema = zod_1.z.object({
46
+ id: zod_1.z.string(),
47
+ httpStatus: zod_1.z.number().int().optional(),
48
+ message: zod_1.z.string(),
49
+ description: zod_1.z.string().optional(),
50
+ relatedEndpoints: zod_1.z.array(zod_1.z.string()).optional(),
51
+ });
52
+ GetB2bDocumentationCommand.JsonSchemaSchema = zod_1.z.object({
53
+ id: zod_1.z.string(),
54
+ title: zod_1.z.string().optional(),
55
+ jsonSchema: models_1.JsonObjectSchema,
56
+ });
57
+ GetB2bDocumentationCommand.SectionSchema = zod_1.z.object({
58
+ id: zod_1.z.string(),
59
+ title: zod_1.z.string(),
60
+ body: zod_1.z.string(),
61
+ });
62
+ GetB2bDocumentationCommand.ReferencesSchema = zod_1.z
63
+ .object({
64
+ textModels: zod_1.z.array(models_1.AiModelSchema).optional(),
65
+ imageModels: zod_1.z.array(models_1.ImageGenerationModelSchema).optional(),
66
+ features: zod_1.z.array(zod_1.z.nativeEnum(constants_1.AI_MODEL_FEATURE)).optional(),
67
+ supportedFileMimeTypes: zod_1.z.array(zod_1.z.string()).optional(),
68
+ })
69
+ .partial()
70
+ .optional();
71
+ GetB2bDocumentationCommand.ResponseSchema = zod_1.z.object({
72
+ data: zod_1.z.object({
73
+ endpoints: zod_1.z.array(GetB2bDocumentationCommand.EndpointSchema),
74
+ errors: zod_1.z.array(GetB2bDocumentationCommand.ErrorSchema),
75
+ schemas: zod_1.z.array(GetB2bDocumentationCommand.JsonSchemaSchema),
76
+ extraSections: zod_1.z.array(GetB2bDocumentationCommand.SectionSchema),
77
+ references: GetB2bDocumentationCommand.ReferencesSchema,
78
+ }),
79
+ });
80
+ })(GetB2bDocumentationCommand || (exports.GetB2bDocumentationCommand = GetB2bDocumentationCommand = {}));
@@ -20,3 +20,5 @@ __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
22
  __exportStar(require("./find-b2b-image-generation-job-by-uuid.command"), exports);
23
+ __exportStar(require("./get-b2b-documentation.command"), exports);
24
+ __exportStar(require("./upload-b2b-file.command"), exports);
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SendTextRequestCommand = 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 SendTextRequestCommand;
7
8
  (function (SendTextRequestCommand) {
8
9
  SendTextRequestCommand.BodySchema = zod_1.z.object({
@@ -14,9 +15,5 @@ var SendTextRequestCommand;
14
15
  SendTextRequestCommand.HeadersSchema = zod_1.z.object({
15
16
  'x-rugpt-key': zod_1.z.string(),
16
17
  });
17
- SendTextRequestCommand.ResponseSchema = zod_1.z.object({
18
- data: zod_1.z.object({
19
- text: zod_1.z.string(),
20
- }),
21
- });
18
+ SendTextRequestCommand.ResponseSchema = models_1.B2bCompletionsStreamChunkSchema;
22
19
  })(SendTextRequestCommand || (exports.SendTextRequestCommand = SendTextRequestCommand = {}));
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UploadB2bFileCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const b2b_file_upload_response_schema_1 = require("../../models/b2b/b2b-file-upload-response.schema");
6
+ var UploadB2bFileCommand;
7
+ (function (UploadB2bFileCommand) {
8
+ UploadB2bFileCommand.HeadersSchema = zod_1.z.object({
9
+ 'x-rugpt-key': zod_1.z.string(),
10
+ });
11
+ UploadB2bFileCommand.ResponseSchema = b2b_file_upload_response_schema_1.B2bFileUploadResponseSchema;
12
+ })(UploadB2bFileCommand || (exports.UploadB2bFileCommand = UploadB2bFileCommand = {}));
@@ -11,6 +11,7 @@ var ImageEditorCommand;
11
11
  params: zod_1.z.object({
12
12
  imageUrls: zod_1.z.array(zod_1.z.string()),
13
13
  systemPromptId: zod_1.z.string().optional(),
14
+ aspectRatio: zod_1.z.string().optional(),
14
15
  }),
15
16
  });
16
17
  ImageEditorCommand.ResponseSchema = zod_1.z.object({
@@ -15,6 +15,7 @@ var RetryImageEditorJobCommand;
15
15
  .object({
16
16
  attachedFiles: zod_1.z.string().array(),
17
17
  systemPromptId: zod_1.z.string().optional(),
18
+ aspectRatio: zod_1.z.string().optional(),
18
19
  })
19
20
  .optional(),
20
21
  });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.B2bCompletionsStreamChunkSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.B2bCompletionsStreamChunkSchema = zod_1.z.object({
6
+ data: zod_1.z.object({
7
+ delta: zod_1.z.string().nullable(),
8
+ isFinish: zod_1.z.boolean(),
9
+ }),
10
+ });
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.B2bFileUploadResponseSchema = exports.B2bUploadedFileSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const file_schema_1 = require("../file.schema");
6
+ exports.B2bUploadedFileSchema = file_schema_1.FileSchema.extend({
7
+ content: zod_1.z.string().nullable(),
8
+ });
9
+ exports.B2bFileUploadResponseSchema = zod_1.z.object({
10
+ data: exports.B2bUploadedFileSchema,
11
+ });
@@ -0,0 +1,18 @@
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("./b2b-completions-stream-chunk.schema"), exports);
18
+ __exportStar(require("./b2b-file-upload-response.schema"), exports);
@@ -73,3 +73,5 @@ __exportStar(require("./webmaster-click.schema"), exports);
73
73
  __exportStar(require("./api-key.schema"), exports);
74
74
  __exportStar(require("./community"), exports);
75
75
  __exportStar(require("./user-profile.schema"), exports);
76
+ __exportStar(require("./b2b"), exports);
77
+ __exportStar(require("./json-value.schema"), exports);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonObjectSchema = exports.JsonValueSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.JsonValueSchema = zod_1.z.lazy(() => zod_1.z.union([
6
+ zod_1.z.string(),
7
+ zod_1.z.number(),
8
+ zod_1.z.boolean(),
9
+ zod_1.z.null(),
10
+ zod_1.z.array(exports.JsonValueSchema),
11
+ zod_1.z.record(exports.JsonValueSchema),
12
+ ]));
13
+ exports.JsonObjectSchema = zod_1.z.record(exports.JsonValueSchema);
@@ -10,6 +10,7 @@ exports.ImageEditorJobParamsSchema = zod_1.z.object({
10
10
  attachedFiles: zod_1.z.array(common_1.AttachedToolFileSchema),
11
11
  systemPromptId: zod_1.z.string().optional(),
12
12
  imageUrls: zod_1.z.string().array().optional(),
13
+ aspectRatio: zod_1.z.string().optional(),
13
14
  });
14
15
  exports.ImageEditorJobSchema = tool_job_schema_1.ToolJobSchema.extend({
15
16
  title: zod_1.z.string(),
@@ -10,6 +10,12 @@ exports.ImageEditorModelParamsSchema = zod_1.z.object({
10
10
  maxImages: zod_1.z.number(),
11
11
  acceptedTypes: zod_1.z.array(zod_1.z.string()),
12
12
  }),
13
+ aspectRatio: zod_1.z
14
+ .record(zod_1.z.string(), zod_1.z.object({
15
+ width: zod_1.z.number(),
16
+ height: zod_1.z.number(),
17
+ }))
18
+ .optional(),
13
19
  });
14
20
  exports.ImageEditorModelPricingRuleConditionSchema = zod_1.z.object({
15
21
  withoutSub: zod_1.z.boolean().optional(),
@@ -1,13 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MarketplaceCardConfigSchema = exports.MarketplaceCardStylePresetSchema = void 0;
3
+ exports.MarketplaceCardConfigSchema = exports.MarketplaceCardModelSchema = exports.MarketplaceCardStylePresetSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const icon_variants_schema_1 = require("../../icon-variants.schema");
5
6
  exports.MarketplaceCardStylePresetSchema = zod_1.z.object({
6
7
  uuid: zod_1.z.string().uuid(),
7
8
  previewImageUrl: zod_1.z.string(),
8
9
  order: zod_1.z.number(),
9
10
  isActive: zod_1.z.boolean(),
10
11
  });
12
+ exports.MarketplaceCardModelSchema = zod_1.z.object({
13
+ uuid: zod_1.z.string().uuid(),
14
+ price: zod_1.z.number(),
15
+ params: zod_1.z.object({
16
+ imageAttachment: zod_1.z.object({
17
+ supported: zod_1.z.boolean(),
18
+ maxImages: zod_1.z.number(),
19
+ acceptedTypes: zod_1.z.array(zod_1.z.string()),
20
+ }),
21
+ }),
22
+ iconVariants: icon_variants_schema_1.IconVariantsSchema,
23
+ maxPromptLength: zod_1.z.number(),
24
+ supportsImageAttachment: zod_1.z.boolean(),
25
+ maxAttachedImages: zod_1.z.number(),
26
+ });
11
27
  exports.MarketplaceCardConfigSchema = zod_1.z.object({
12
28
  styles: zod_1.z.array(exports.MarketplaceCardStylePresetSchema),
29
+ models: zod_1.z.array(exports.MarketplaceCardModelSchema)
13
30
  });
@@ -0,0 +1,97 @@
1
+ import { z } from 'zod';
2
+ import { AI_MODEL_FEATURE } from '../../constants';
3
+ import {
4
+ AiModelSchema,
5
+ ImageGenerationModelSchema,
6
+ JsonObjectSchema,
7
+ JsonValueSchema,
8
+ } from '../../models';
9
+
10
+ export namespace GetB2bDocumentationCommand {
11
+ export const HttpMethodSchema = z.enum(['GET', 'POST', 'PATCH', 'DELETE']);
12
+ export type HttpMethod = z.infer<typeof HttpMethodSchema>;
13
+
14
+ export const AuthTypeSchema = z.enum(['jwt', 'apiKey', 'none']);
15
+ export type AuthType = z.infer<typeof AuthTypeSchema>;
16
+
17
+ export const HeaderSchema = z.object({
18
+ name: z.string(),
19
+ required: z.boolean(),
20
+ description: z.string().optional(),
21
+ });
22
+
23
+ export const EndpointParamSchema = z.object({
24
+ name: z.string(),
25
+ required: z.boolean(),
26
+ schemaRef: z.string(),
27
+ });
28
+
29
+ export const EndpointBodySchema = z.object({
30
+ schemaRef: z.string(),
31
+ contentType: z.string().optional(),
32
+ });
33
+
34
+ export const EndpointExampleSchema = z.object({
35
+ title: z.string(),
36
+ curl: z.string().optional(),
37
+ request: JsonValueSchema.optional(),
38
+ response: JsonValueSchema.optional(),
39
+ });
40
+
41
+ export const EndpointSchema = z.object({
42
+ id: z.string(),
43
+ title: z.string(),
44
+ description: z.string().optional(),
45
+ method: HttpMethodSchema,
46
+ path: z.string(),
47
+ auth: AuthTypeSchema,
48
+ headers: z.array(HeaderSchema).optional(),
49
+ pathParams: z.array(EndpointParamSchema).optional(),
50
+ requestBody: EndpointBodySchema.optional(),
51
+ responseBody: EndpointBodySchema.optional(),
52
+ notes: z.array(z.string()).optional(),
53
+ examples: z.array(EndpointExampleSchema).optional(),
54
+ });
55
+
56
+ export const ErrorSchema = z.object({
57
+ id: z.string(),
58
+ httpStatus: z.number().int().optional(),
59
+ message: z.string(),
60
+ description: z.string().optional(),
61
+ relatedEndpoints: z.array(z.string()).optional(),
62
+ });
63
+
64
+ export const JsonSchemaSchema = z.object({
65
+ id: z.string(),
66
+ title: z.string().optional(),
67
+ jsonSchema: JsonObjectSchema,
68
+ });
69
+
70
+ export const SectionSchema = z.object({
71
+ id: z.string(),
72
+ title: z.string(),
73
+ body: z.string(),
74
+ });
75
+
76
+ export const ReferencesSchema = z
77
+ .object({
78
+ textModels: z.array(AiModelSchema).optional(),
79
+ imageModels: z.array(ImageGenerationModelSchema).optional(),
80
+ features: z.array(z.nativeEnum(AI_MODEL_FEATURE)).optional(),
81
+ supportedFileMimeTypes: z.array(z.string()).optional(),
82
+ })
83
+ .partial()
84
+ .optional();
85
+
86
+ export const ResponseSchema = z.object({
87
+ data: z.object({
88
+ endpoints: z.array(EndpointSchema),
89
+ errors: z.array(ErrorSchema),
90
+ schemas: z.array(JsonSchemaSchema),
91
+ extraSections: z.array(SectionSchema),
92
+ references: ReferencesSchema,
93
+ }),
94
+ });
95
+
96
+ export type Response = z.infer<typeof ResponseSchema>;
97
+ }
@@ -4,3 +4,5 @@ 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
6
  export * from './find-b2b-image-generation-job-by-uuid.command';
7
+ export * from './get-b2b-documentation.command';
8
+ export * from './upload-b2b-file.command';
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { AI_MODEL_FEATURE } from '../../constants';
3
+ import { B2bCompletionsStreamChunkSchema } from '../../models';
3
4
 
4
5
  export namespace SendTextRequestCommand {
5
6
  export const BodySchema = z.object({
@@ -13,11 +14,7 @@ export namespace SendTextRequestCommand {
13
14
  'x-rugpt-key': z.string(),
14
15
  });
15
16
 
16
- export const ResponseSchema = z.object({
17
- data: z.object({
18
- text: z.string(),
19
- }),
20
- });
17
+ export const ResponseSchema = B2bCompletionsStreamChunkSchema;
21
18
 
22
19
  // ✅ Types
23
20
  export type Body = z.infer<typeof BodySchema>;
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { B2bFileUploadResponseSchema } from '../../models/b2b/b2b-file-upload-response.schema';
3
+
4
+ export namespace UploadB2bFileCommand {
5
+ export const HeadersSchema = z.object({
6
+ 'x-rugpt-key': z.string(),
7
+ });
8
+
9
+ export type Headers = z.infer<typeof HeadersSchema>;
10
+
11
+ export const ResponseSchema = B2bFileUploadResponseSchema;
12
+
13
+ export type Response = z.infer<typeof ResponseSchema>;
14
+ }
15
+
@@ -8,6 +8,7 @@ export namespace ImageEditorCommand {
8
8
  params: z.object({
9
9
  imageUrls: z.array(z.string()),
10
10
  systemPromptId: z.string().optional(),
11
+ aspectRatio: z.string().optional(),
11
12
  }),
12
13
  });
13
14
  export type Request = z.infer<typeof RequestSchema>;
@@ -14,6 +14,7 @@ export namespace RetryImageEditorJobCommand {
14
14
  .object({
15
15
  attachedFiles: z.string().array(),
16
16
  systemPromptId: z.string().optional(),
17
+ aspectRatio: z.string().optional(),
17
18
  })
18
19
  .optional(),
19
20
  });
@@ -37,6 +37,8 @@ export const AiModelSchema = z.object({
37
37
  updatedAt: z.date(),
38
38
  });
39
39
 
40
+ export type AiModel = z.infer<typeof AiModelSchema>;
41
+
40
42
  export const CreateAiModelSchema = AiModelSchema.extend({
41
43
  model: z.string(),
42
44
  maxInputTokens: z.number(),
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+
3
+ export const B2bCompletionsStreamChunkSchema = z.object({
4
+ data: z.object({
5
+ delta: z.string().nullable(),
6
+ isFinish: z.boolean(),
7
+ }),
8
+ });
9
+
10
+ export type B2bCompletionsStreamChunk = z.infer<typeof B2bCompletionsStreamChunkSchema>;
11
+
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { FileSchema } from '../file.schema';
3
+
4
+ export const B2bUploadedFileSchema = FileSchema.extend({
5
+ content: z.string().nullable(),
6
+ });
7
+
8
+ export type B2bUploadedFile = z.infer<typeof B2bUploadedFileSchema>;
9
+
10
+ export const B2bFileUploadResponseSchema = z.object({
11
+ data: B2bUploadedFileSchema,
12
+ });
13
+
14
+ export type B2bFileUploadResponse = z.infer<typeof B2bFileUploadResponseSchema>;
15
+
@@ -0,0 +1,3 @@
1
+ export * from './b2b-completions-stream-chunk.schema';
2
+ export * from './b2b-file-upload-response.schema';
3
+
package/models/index.ts CHANGED
@@ -57,3 +57,5 @@ export * from './webmaster-click.schema';
57
57
  export * from './api-key.schema';
58
58
  export * from './community';
59
59
  export * from './user-profile.schema';
60
+ export * from './b2b';
61
+ export * from './json-value.schema';
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+
3
+ export type JsonValue =
4
+ | string
5
+ | number
6
+ | boolean
7
+ | null
8
+ | JsonValue[]
9
+ | { [key: string]: JsonValue };
10
+
11
+ export const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>
12
+ z.union([
13
+ z.string(),
14
+ z.number(),
15
+ z.boolean(),
16
+ z.null(),
17
+ z.array(JsonValueSchema),
18
+ z.record(JsonValueSchema),
19
+ ]),
20
+ );
21
+
22
+ export const JsonObjectSchema = z.record(JsonValueSchema);
23
+ export type JsonObject = z.infer<typeof JsonObjectSchema>;
24
+
@@ -8,6 +8,7 @@ export const ImageEditorJobParamsSchema = z.object({
8
8
  attachedFiles: z.array(AttachedToolFileSchema),
9
9
  systemPromptId: z.string().optional(),
10
10
  imageUrls: z.string().array().optional(),
11
+ aspectRatio: z.string().optional(),
11
12
  });
12
13
 
13
14
  export type ImageEditorJobParams = z.infer<typeof ImageEditorJobParamsSchema>;
@@ -8,6 +8,15 @@ export const ImageEditorModelParamsSchema = z.object({
8
8
  maxImages: z.number(),
9
9
  acceptedTypes: z.array(z.string()),
10
10
  }),
11
+ aspectRatio: z
12
+ .record(
13
+ z.string(),
14
+ z.object({
15
+ width: z.number(),
16
+ height: z.number(),
17
+ }),
18
+ )
19
+ .optional(),
11
20
  });
12
21
 
13
22
  export type ImageEditorModelParams = z.infer<typeof ImageEditorModelParamsSchema>;
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { IconVariantsSchema } from '../../icon-variants.schema';
2
3
 
3
4
  export const MarketplaceCardStylePresetSchema = z.object({
4
5
  uuid: z.string().uuid(),
@@ -8,7 +9,25 @@ export const MarketplaceCardStylePresetSchema = z.object({
8
9
  });
9
10
  export type MarketplaceCardStylePreset = z.infer<typeof MarketplaceCardStylePresetSchema>;
10
11
 
12
+ export const MarketplaceCardModelSchema = z.object({
13
+ uuid: z.string().uuid(),
14
+ price: z.number(),
15
+ params: z.object({
16
+ imageAttachment: z.object({
17
+ supported: z.boolean(),
18
+ maxImages: z.number(),
19
+ acceptedTypes: z.array(z.string()),
20
+ }),
21
+ }),
22
+ iconVariants: IconVariantsSchema,
23
+ maxPromptLength: z.number(),
24
+ supportsImageAttachment: z.boolean(),
25
+ maxAttachedImages: z.number(),
26
+ });
27
+ export type MarketplaceCardModel = z.infer<typeof MarketplaceCardModelSchema>;
28
+
11
29
  export const MarketplaceCardConfigSchema = z.object({
12
30
  styles: z.array(MarketplaceCardStylePresetSchema),
31
+ models: z.array(MarketplaceCardModelSchema)
13
32
  });
14
33
  export type MarketplaceCardConfigModel = z.infer<typeof MarketplaceCardConfigSchema>;
@@ -22,4 +22,4 @@ export const MarketplaceCardJobSchema = ToolJobSchema.extend({
22
22
  backgroundDescription: z.string().nullable(),
23
23
  price: z.number(),
24
24
  });
25
- export type MarketplaceCardModel = z.infer<typeof MarketplaceCardJobSchema>;
25
+ export type MarketplaceCardJob = z.infer<typeof MarketplaceCardJobSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.9.11",
3
+ "version": "0.9.13",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",