@purpleschool/gptbot 0.14.2-stage-2 → 0.14.4-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 MODEL_PAGE_QUESTION_ADMIN_CONTROLLER = 'model-page-questions/admin'
5
5
 
6
6
  export const MODEL_PAGE_ROUTES = {
7
7
  FIND_ALL: '',
8
+ FIND_VENDORS: 'vendors',
8
9
  CREATE: '',
9
10
  FIND_BY_SLUG: (slug: string) => `${slug}`,
10
11
  FIND_BY_UUID: (uuid: string) => `${uuid}`,
package/api/routes.ts CHANGED
@@ -68,12 +68,14 @@ export const REST_API = {
68
68
  },
69
69
  MODEL_PAGE_PUBLIC: {
70
70
  HUB: `${ROOT}/${CONTROLLERS.MODEL_PAGE_CONTROLLER}`,
71
+ VENDORS: `${ROOT}/${CONTROLLERS.MODEL_PAGE_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_VENDORS}`,
71
72
  GET_BY_SLUG: (slug: string) =>
72
73
  `${ROOT}/${CONTROLLERS.MODEL_PAGE_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_BY_SLUG(slug)}`,
73
74
  },
74
75
  MODEL_PAGE_ADMIN: {
75
76
  CREATE: `${ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}`,
76
77
  GET_ALL: `${ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}`,
78
+ VENDORS: `${ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_VENDORS}`,
77
79
  GET_BY_UUID: (uuid: string) =>
78
80
  `${ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_BY_UUID(uuid)}`,
79
81
  PATCH: (uuid: string) =>
@@ -7,6 +7,7 @@ exports.MODEL_PAGE_QUESTION_CONTROLLER = 'model-page-questions';
7
7
  exports.MODEL_PAGE_QUESTION_ADMIN_CONTROLLER = 'model-page-questions/admin';
8
8
  exports.MODEL_PAGE_ROUTES = {
9
9
  FIND_ALL: '',
10
+ FIND_VENDORS: 'vendors',
10
11
  CREATE: '',
11
12
  FIND_BY_SLUG: (slug) => `${slug}`,
12
13
  FIND_BY_UUID: (uuid) => `${uuid}`,
@@ -90,11 +90,13 @@ exports.REST_API = {
90
90
  },
91
91
  MODEL_PAGE_PUBLIC: {
92
92
  HUB: `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_CONTROLLER}`,
93
+ VENDORS: `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_VENDORS}`,
93
94
  GET_BY_SLUG: (slug) => `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_BY_SLUG(slug)}`,
94
95
  },
95
96
  MODEL_PAGE_ADMIN: {
96
97
  CREATE: `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}`,
97
98
  GET_ALL: `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}`,
99
+ VENDORS: `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_VENDORS}`,
98
100
  GET_BY_UUID: (uuid) => `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.FIND_BY_UUID(uuid)}`,
99
101
  PATCH: (uuid) => `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.PATCH(uuid)}`,
100
102
  DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.MODEL_PAGE_ADMIN_CONTROLLER}/${CONTROLLERS.MODEL_PAGE_ROUTES.DELETE(uuid)}`,
@@ -7,7 +7,7 @@ const common_schemas_1 = require("../common.schemas");
7
7
  var FindModelPageAdminCommand;
8
8
  (function (FindModelPageAdminCommand) {
9
9
  FindModelPageAdminCommand.RequestParamSchema = common_schemas_1.ModelPageUuidParamSchema;
10
- FindModelPageAdminCommand.ResponseSchema = zod_1.z.object({
11
- data: models_1.ModelPageSchema,
10
+ FindModelPageAdminCommand.ResponseSchema = models_1.ModelPageDetailSchema.extend({
11
+ locales: zod_1.z.array(models_1.ModelPageTranslationSchema),
12
12
  });
13
13
  })(FindModelPageAdminCommand || (exports.FindModelPageAdminCommand = FindModelPageAdminCommand = {}));
@@ -10,6 +10,7 @@ var FindModelPageHubCommand;
10
10
  FindModelPageHubCommand.RequestQuerySchema = zod_1.z.object({
11
11
  vendorIds: (0, common_schemas_1.OptionalQueryArraySchema)(zod_1.z.string().uuid()),
12
12
  types: (0, common_schemas_1.OptionalQueryArraySchema)(zod_1.z.nativeEnum(constants_1.MODEL_PAGE_TYPE)),
13
+ contexts: (0, common_schemas_1.OptionalQueryArraySchema)(zod_1.z.nativeEnum(constants_1.MODEL_PAGE_CONTEXT_FILTER)),
13
14
  sortBy: zod_1.z.nativeEnum(constants_1.MODEL_PAGE_SORT_BY).optional().default(constants_1.MODEL_PAGE_SORT_BY.ORDER),
14
15
  sortDir: zod_1.z.nativeEnum(constants_1.SORT_ORDER).optional().default(constants_1.SORT_ORDER.ASC),
15
16
  page: zod_1.z.coerce.number().int().min(1).optional().default(1),
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FindModelPageVendorsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ var FindModelPageVendorsCommand;
7
+ (function (FindModelPageVendorsCommand) {
8
+ FindModelPageVendorsCommand.ResponseSchema = zod_1.z.array(models_1.ModelPagePublicVendorSchema);
9
+ })(FindModelPageVendorsCommand || (exports.FindModelPageVendorsCommand = FindModelPageVendorsCommand = {}));
@@ -18,3 +18,4 @@ __exportStar(require("./find-model-page-answer-detail.command"), exports);
18
18
  __exportStar(require("./find-model-page-detail.command"), exports);
19
19
  __exportStar(require("./find-model-page-hub.command"), exports);
20
20
  __exportStar(require("./find-model-page-question-type.command"), exports);
21
+ __exportStar(require("./find-model-page-vendors.command"), exports);
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./model-page-context-filter.enum"), exports);
17
18
  __exportStar(require("./model-page-question-type.enum"), exports);
18
19
  __exportStar(require("./model-page-sort-by.enum"), exports);
19
20
  __exportStar(require("./model-page-type.enum"), exports);
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MODEL_PAGE_CONTEXT_FILTER = void 0;
4
+ var MODEL_PAGE_CONTEXT_FILTER;
5
+ (function (MODEL_PAGE_CONTEXT_FILTER) {
6
+ MODEL_PAGE_CONTEXT_FILTER["CONTEXT_32K"] = "32K";
7
+ MODEL_PAGE_CONTEXT_FILTER["CONTEXT_128K"] = "128K";
8
+ MODEL_PAGE_CONTEXT_FILTER["CONTEXT_200K"] = "200K";
9
+ MODEL_PAGE_CONTEXT_FILTER["CONTEXT_500K"] = "500K";
10
+ MODEL_PAGE_CONTEXT_FILTER["CONTEXT_1M"] = "1M";
11
+ })(MODEL_PAGE_CONTEXT_FILTER || (exports.MODEL_PAGE_CONTEXT_FILTER = MODEL_PAGE_CONTEXT_FILTER = {}));
@@ -4,10 +4,8 @@ exports.MODEL_PAGE_QUESTION_TYPE = void 0;
4
4
  var MODEL_PAGE_QUESTION_TYPE;
5
5
  (function (MODEL_PAGE_QUESTION_TYPE) {
6
6
  MODEL_PAGE_QUESTION_TYPE["PRICING"] = "pricing";
7
- MODEL_PAGE_QUESTION_TYPE["API_ACCESS"] = "api_access";
8
- MODEL_PAGE_QUESTION_TYPE["CONTEXT_WINDOW"] = "context_window";
9
- MODEL_PAGE_QUESTION_TYPE["BILLING"] = "billing";
10
7
  MODEL_PAGE_QUESTION_TYPE["INTEGRATION"] = "integration";
8
+ MODEL_PAGE_QUESTION_TYPE["API_ACCESS"] = "api_access";
11
9
  MODEL_PAGE_QUESTION_TYPE["REGIONS"] = "regions";
12
- MODEL_PAGE_QUESTION_TYPE["USAGE_LIMITS"] = "usage_limits";
10
+ MODEL_PAGE_QUESTION_TYPE["BILLING"] = "billing";
13
11
  })(MODEL_PAGE_QUESTION_TYPE || (exports.MODEL_PAGE_QUESTION_TYPE = MODEL_PAGE_QUESTION_TYPE = {}));
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelPageAnswerDetailSchema = exports.ModelPageQuestionTypeListSchema = exports.ModelPageDetailSchema = exports.ModelPageHubSchema = exports.ModelPageFaqSchema = exports.ModelPageSimilarModelSchema = exports.ModelPageCodeExampleSchema = exports.ModelPageCodeSnippetSchema = void 0;
3
+ exports.ModelPageAnswerDetailSchema = exports.ModelPageQuestionTypeListSchema = exports.ModelPageDetailSchema = exports.ModelPageHubSchema = exports.ModelPageHubFilterSchema = exports.ModelPagePublicVendorSchema = exports.ModelPageFaqSchema = exports.ModelPageSimilarModelSchema = exports.ModelPageCodeExampleSchema = exports.ModelPageCodeSnippetSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../../constants");
6
+ const icon_variants_schema_1 = require("../icon-variants.schema");
6
7
  const model_page_technical_model_schema_1 = require("./model-page-technical-model.schema");
7
8
  exports.ModelPageCodeSnippetSchema = zod_1.z.object({
8
9
  language: zod_1.z.string(),
@@ -23,6 +24,20 @@ exports.ModelPageFaqSchema = zod_1.z.object({
23
24
  question: zod_1.z.string(),
24
25
  answer: zod_1.z.string(),
25
26
  });
27
+ exports.ModelPagePublicVendorSchema = zod_1.z.object({
28
+ uuid: zod_1.z.string().uuid(),
29
+ type: zod_1.z.nativeEnum(constants_1.MODEL_PAGE_TYPE),
30
+ name: zod_1.z.string(),
31
+ icons: icon_variants_schema_1.IconVariantsSchema,
32
+ });
33
+ exports.ModelPageHubFilterSchema = zod_1.z.object({
34
+ key: zod_1.z.literal('context'),
35
+ title: zod_1.z.string(),
36
+ values: zod_1.z.array(zod_1.z.object({
37
+ value: zod_1.z.nativeEnum(constants_1.MODEL_PAGE_CONTEXT_FILTER),
38
+ title: zod_1.z.string(),
39
+ })),
40
+ });
26
41
  exports.ModelPageHubSchema = zod_1.z.object({
27
42
  pages: zod_1.z.array(zod_1.z.object({
28
43
  type: zod_1.z.nativeEnum(constants_1.MODEL_PAGE_TYPE),
@@ -31,6 +46,7 @@ exports.ModelPageHubSchema = zod_1.z.object({
31
46
  total: zod_1.z.number().int().min(0),
32
47
  page: zod_1.z.number().int().min(1),
33
48
  limit: zod_1.z.number().int().min(1),
49
+ filters: zod_1.z.array(exports.ModelPageHubFilterSchema),
34
50
  });
35
51
  exports.ModelPageDetailSchema = zod_1.z.object({
36
52
  uuid: zod_1.z.string().uuid(),
@@ -1,13 +1,13 @@
1
1
  import { z } from 'zod';
2
- import { ModelPageSchema } from '../../../models';
2
+ import { ModelPageDetailSchema, ModelPageTranslationSchema } from '../../../models';
3
3
  import { ModelPageUuidParamSchema } from '../common.schemas';
4
4
 
5
5
  export namespace FindModelPageAdminCommand {
6
6
  export const RequestParamSchema = ModelPageUuidParamSchema;
7
7
  export type RequestParam = z.infer<typeof RequestParamSchema>;
8
8
 
9
- export const ResponseSchema = z.object({
10
- data: ModelPageSchema,
9
+ export const ResponseSchema = ModelPageDetailSchema.extend({
10
+ locales: z.array(ModelPageTranslationSchema),
11
11
  });
12
12
 
13
13
  export type Response = z.infer<typeof ResponseSchema>;
@@ -1,5 +1,10 @@
1
1
  import { z } from 'zod';
2
- import { MODEL_PAGE_SORT_BY, MODEL_PAGE_TYPE, SORT_ORDER } from '../../../constants';
2
+ import {
3
+ MODEL_PAGE_CONTEXT_FILTER,
4
+ MODEL_PAGE_SORT_BY,
5
+ MODEL_PAGE_TYPE,
6
+ SORT_ORDER,
7
+ } from '../../../constants';
3
8
  import { ModelPageHubSchema } from '../../../models';
4
9
  import { OptionalQueryArraySchema } from '../common.schemas';
5
10
 
@@ -7,6 +12,7 @@ export namespace FindModelPageHubCommand {
7
12
  export const RequestQuerySchema = z.object({
8
13
  vendorIds: OptionalQueryArraySchema(z.string().uuid()),
9
14
  types: OptionalQueryArraySchema(z.nativeEnum(MODEL_PAGE_TYPE)),
15
+ contexts: OptionalQueryArraySchema(z.nativeEnum(MODEL_PAGE_CONTEXT_FILTER)),
10
16
  sortBy: z.nativeEnum(MODEL_PAGE_SORT_BY).optional().default(MODEL_PAGE_SORT_BY.ORDER),
11
17
  sortDir: z.nativeEnum(SORT_ORDER).optional().default(SORT_ORDER.ASC),
12
18
  page: z.coerce.number().int().min(1).optional().default(1),
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { ModelPagePublicVendorSchema } from '../../../models';
3
+
4
+ export namespace FindModelPageVendorsCommand {
5
+ export const ResponseSchema = z.array(ModelPagePublicVendorSchema);
6
+ export type Response = z.infer<typeof ResponseSchema>;
7
+ }
@@ -2,3 +2,4 @@ export * from './find-model-page-answer-detail.command';
2
2
  export * from './find-model-page-detail.command';
3
3
  export * from './find-model-page-hub.command';
4
4
  export * from './find-model-page-question-type.command';
5
+ export * from './find-model-page-vendors.command';
@@ -1,3 +1,4 @@
1
+ export * from './model-page-context-filter.enum';
1
2
  export * from './model-page-question-type.enum';
2
3
  export * from './model-page-sort-by.enum';
3
4
  export * from './model-page-type.enum';
@@ -0,0 +1,7 @@
1
+ export enum MODEL_PAGE_CONTEXT_FILTER {
2
+ CONTEXT_32K = '32K',
3
+ CONTEXT_128K = '128K',
4
+ CONTEXT_200K = '200K',
5
+ CONTEXT_500K = '500K',
6
+ CONTEXT_1M = '1M',
7
+ }
@@ -1,9 +1,7 @@
1
1
  export enum MODEL_PAGE_QUESTION_TYPE {
2
- PRICING = 'pricing',
3
- API_ACCESS = 'api_access',
4
- CONTEXT_WINDOW = 'context_window',
5
- BILLING = 'billing',
6
- INTEGRATION = 'integration',
7
- REGIONS = 'regions',
8
- USAGE_LIMITS = 'usage_limits',
2
+ PRICING = 'pricing', // Сколько стоит?
3
+ INTEGRATION = 'integration', // Как подключить?
4
+ API_ACCESS = 'api_access', // Как получить API-ключ?
5
+ REGIONS = 'regions', // Работает ли в России?
6
+ BILLING = 'billing', // Как оплатить?
9
7
  }
@@ -1,5 +1,10 @@
1
1
  import { z } from 'zod';
2
- import { MODEL_PAGE_QUESTION_TYPE, MODEL_PAGE_TYPE } from '../../constants';
2
+ import {
3
+ MODEL_PAGE_CONTEXT_FILTER,
4
+ MODEL_PAGE_QUESTION_TYPE,
5
+ MODEL_PAGE_TYPE,
6
+ } from '../../constants';
7
+ import { IconVariantsSchema } from '../icon-variants.schema';
3
8
  import {
4
9
  ModelPageCardSchema,
5
10
  ModelPageTechnicalModelSchema,
@@ -37,6 +42,28 @@ export const ModelPageFaqSchema = z.object({
37
42
 
38
43
  export type ModelPageFaq = z.infer<typeof ModelPageFaqSchema>;
39
44
 
45
+ export const ModelPagePublicVendorSchema = z.object({
46
+ uuid: z.string().uuid(),
47
+ type: z.nativeEnum(MODEL_PAGE_TYPE),
48
+ name: z.string(),
49
+ icons: IconVariantsSchema,
50
+ });
51
+
52
+ export type ModelPagePublicVendor = z.infer<typeof ModelPagePublicVendorSchema>;
53
+
54
+ export const ModelPageHubFilterSchema = z.object({
55
+ key: z.literal('context'),
56
+ title: z.string(),
57
+ values: z.array(
58
+ z.object({
59
+ value: z.nativeEnum(MODEL_PAGE_CONTEXT_FILTER),
60
+ title: z.string(),
61
+ }),
62
+ ),
63
+ });
64
+
65
+ export type ModelPageHubFilter = z.infer<typeof ModelPageHubFilterSchema>;
66
+
40
67
  export const ModelPageHubSchema = z.object({
41
68
  pages: z.array(
42
69
  z.object({
@@ -47,6 +74,7 @@ export const ModelPageHubSchema = z.object({
47
74
  total: z.number().int().min(0),
48
75
  page: z.number().int().min(1),
49
76
  limit: z.number().int().min(1),
77
+ filters: z.array(ModelPageHubFilterSchema),
50
78
  });
51
79
 
52
80
  export type ModelPageHub = z.infer<typeof ModelPageHubSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.14.2-stage-2",
3
+ "version": "0.14.4-stage-2",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",