@nestia/sdk 3.7.2 → 3.8.0-dev.20240722

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.
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
  ![Nestia Logo](https://nestia.io/logo.png)
3
3
 
4
4
  [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
5
- [![npm version](https://img.shields.io/npm/v/@nestia/fetcher.svg)](https://www.npmjs.com/package/@nestia/fetcher)
6
- [![Downloads](https://img.shields.io/npm/dm/@nestia/fetcher.svg)](https://www.npmjs.com/package/@nestia/fetcher)
5
+ [![npm version](https://img.shields.io/npm/v/@nestia/sdk.svg)](https://www.npmjs.com/package/@nestia/sdk)
6
+ [![Downloads](https://img.shields.io/npm/dm/@nestia/sdk.svg)](https://www.npmjs.com/package/@nestia/sdk)
7
7
  [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
8
8
  [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://nestia.io/docs/)
9
9
  [![Discord Badge](https://img.shields.io/badge/discord-NestJS/Nestia-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.com/channels/520622812742811698/1197293125434093701)](https://discord.com/channels/520622812742811698/1181877086797967420)
@@ -15,6 +15,7 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
15
15
  - Advanced WebSocket routes
16
16
  - `@nestia/sdk`:
17
17
  - Swagger generator evolved than ever
18
+ - OpenAI function calling schema generator
18
19
  - SDK library generator for clients
19
20
  - Mockup Simulator for client applications
20
21
  - Automatic E2E test functions generator
@@ -1,5 +1,6 @@
1
1
  import type { INestApplication } from "@nestjs/common";
2
2
  import { OpenApi } from "@samchon/openapi";
3
+ import { IOpenAiSchema } from "@wrtnio/openai-function-schema";
3
4
  /**
4
5
  * Definition for the `nestia.config.ts` file.
5
6
  *
@@ -21,6 +22,14 @@ export interface INestiaConfig {
21
22
  * If not specified, you can't build the `swagger.json`.
22
23
  */
23
24
  swagger?: INestiaConfig.ISwaggerConfig;
25
+ /**
26
+ * Configuration for the OpenAI funtion call schema generation.
27
+ *
28
+ * You can generate the schema for the OpenAI function call through
29
+ * this configuration. Recommend to use the function call schemas with
30
+ * the {@link swagger} document.
31
+ */
32
+ openai?: INestiaConfig.IOpenAiConnfig;
24
33
  /**
25
34
  * Output directory that SDK would be placed in.
26
35
  *
@@ -242,4 +251,88 @@ export declare namespace INestiaConfig {
242
251
  path: string;
243
252
  }): string;
244
253
  }
254
+ /**
255
+ * Configuration for the OpenAI funtion call schema generation.
256
+ */
257
+ interface IOpenAiConnfig {
258
+ /**
259
+ * Output path of the `openai.json`.
260
+ *
261
+ * If you've configured only directory, the file name would be the `openai.json`.
262
+ * Otherwise you've configured the full path with file name and extension, the
263
+ * `openai.json` file would be renamed to it.
264
+ */
265
+ output: string;
266
+ /**
267
+ * Whether the parameters are keyworded or not.
268
+ *
269
+ * If this property value is `true`, length of the
270
+ * {@link IOpenAiDocument.IFunction.parameters} is always 1, and type of the
271
+ * pararameter is always {@link IOpenAiSchema.IObject} type. Also, its
272
+ * properties are following below rules:
273
+ *
274
+ * - `pathParameters`: Path parameters of {@link ISwaggerMigrateRoute.parameters}
275
+ * - `query`: Query parameter of {@link ISwaggerMigrateRoute.query}
276
+ * - `body`: Body parameter of {@link ISwaggerMigrateRoute.body}
277
+ *
278
+ * ```typescript
279
+ * {
280
+ * ...pathParameters,
281
+ * query,
282
+ * body,
283
+ * }
284
+ * ```
285
+ *
286
+ * Otherwise (this property value is `false`), length of the
287
+ * {@link IOpenAiDocument.IFunction.parameters} is variable, and sequence of the
288
+ * parameters are following below rules.
289
+ *
290
+ * ```typescript
291
+ * [
292
+ * ...pathParameters,
293
+ * ...(query ? [query] : []),
294
+ * ...(body ? [body] : []),
295
+ * ]
296
+ * ```
297
+ *
298
+ * @default false
299
+ */
300
+ keyword?: boolean;
301
+ /**
302
+ * Separator function for the parameters.
303
+ *
304
+ * When composing parameter arguments through OpenAI function call,
305
+ * there can be a case that some parameters must be composed by human, or
306
+ * LLM cannot understand the parameter. For example, if the parameter type
307
+ * has configured {@link IOpenAiSchema.IString["x-wrtn-secret-key"]}, the
308
+ * secret key value must be composed by human, not by LLM (Large Language Model).
309
+ *
310
+ * In that case, if you configure this property with a function that
311
+ * predicating whether the schema value must be composed by human or not,
312
+ * the parameters would be separated into two parts.
313
+ *
314
+ * - {@link IOpenAiFunction.separated.llm}
315
+ * - {@link IOpenAiFunction.separated.human}
316
+ *
317
+ * When writing the function, note that returning value `true` means to be
318
+ * a human composing the value, and `false` means to LLM composing the value.
319
+ * Also, when predicating the schema, it would better to utilize the
320
+ * {@link OpenAiTypeChecker} features.
321
+ *
322
+ * @param schema Schema to be separated.
323
+ * @returns Whether the schema value must be composed by human or not.
324
+ * @default null
325
+ */
326
+ separate?: null | ((schema: IOpenAiSchema) => boolean);
327
+ /**
328
+ * Whether to beautify JSON content or not.
329
+ *
330
+ * If you configure this property to be `true`, the `openai.json` file would
331
+ * be beautified with indentation (2 spaces) and line breaks. If you configure
332
+ * numeric value instead, the indentation would be specified by the number.
333
+ *
334
+ * @default false
335
+ */
336
+ beautify?: boolean | number;
337
+ }
245
338
  }
@@ -7,5 +7,6 @@ export declare class NestiaSdkApplication {
7
7
  e2e(): Promise<void>;
8
8
  sdk(): Promise<void>;
9
9
  swagger(): Promise<void>;
10
+ openai(): Promise<void>;
10
11
  private generate;
11
12
  }
@@ -45,6 +45,7 @@ const ConfigAnalyzer_1 = require("./analyses/ConfigAnalyzer");
45
45
  const ReflectControllerAnalyzer_1 = require("./analyses/ReflectControllerAnalyzer");
46
46
  const TypedControllerAnalyzer_1 = require("./analyses/TypedControllerAnalyzer");
47
47
  const E2eGenerator_1 = require("./generates/E2eGenerator");
48
+ const OpenAiGenerator_1 = require("./generates/OpenAiGenerator");
48
49
  const SdkGenerator_1 = require("./generates/SdkGenerator");
49
50
  const SwaggerGenerator_1 = require("./generates/SwaggerGenerator");
50
51
  const MapUtil_1 = require("./utils/MapUtil");
@@ -102,6 +103,22 @@ class NestiaSdkApplication {
102
103
  yield this.generate("swagger", SwaggerGenerator_1.SwaggerGenerator.generate);
103
104
  });
104
105
  }
106
+ openai() {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ var _a;
109
+ if (!((_a = this.config.openai) === null || _a === void 0 ? void 0 : _a.output))
110
+ throw new Error(`Error on NestiaApplication.openai(): output path of the "openai.json" is not specified.`);
111
+ const parsed = path_1.default.parse(this.config.openai.output);
112
+ const directory = !!parsed.ext
113
+ ? path_1.default.resolve(parsed.dir)
114
+ : this.config.openai.output;
115
+ const stats = yield fs_1.default.promises.lstat(directory);
116
+ if (stats.isDirectory() === false)
117
+ throw new Error("Error on NestiaApplication.openai(): output directory does not exists.");
118
+ print_title("Nestia OpenAI Function Calling Schema Generator");
119
+ yield this.generate("openai", OpenAiGenerator_1.OpenAiGenerator.generate);
120
+ });
121
+ }
105
122
  generate(method, archiver) {
106
123
  return __awaiter(this, void 0, void 0, function* () {
107
124
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ var NestiaConfigLoader;
70
70
  try {
71
71
  return ((input, errorFactory) => {
72
72
  const __is = input => {
73
- const $io0 = input => null !== input.input && undefined !== input.input && ("function" === typeof input.input || "string" === typeof input.input || (Array.isArray(input.input) && input.input.every(elem => "string" === typeof elem) || "object" === typeof input.input && null !== input.input && $io1(input.input))) && (undefined === input.swagger || "object" === typeof input.swagger && null !== input.swagger && $io2(input.swagger)) && (undefined === input.output || "string" === typeof input.output) && (undefined === input.distribute || "string" === typeof input.distribute) && (undefined === input.simulate || "boolean" === typeof input.simulate) && (undefined === input.e2e || "string" === typeof input.e2e) && (undefined === input.propagate || "boolean" === typeof input.propagate) && (undefined === input.clone || "boolean" === typeof input.clone) && (undefined === input.primitive || "boolean" === typeof input.primitive) && (undefined === input.assert || "boolean" === typeof input.assert) && (undefined === input.json || "boolean" === typeof input.json);
73
+ const $io0 = input => null !== input.input && undefined !== input.input && ("function" === typeof input.input || "string" === typeof input.input || (Array.isArray(input.input) && input.input.every(elem => "string" === typeof elem) || "object" === typeof input.input && null !== input.input && $io1(input.input))) && (undefined === input.swagger || "object" === typeof input.swagger && null !== input.swagger && $io2(input.swagger)) && (undefined === input.openai || "object" === typeof input.openai && null !== input.openai && $io21(input.openai)) && (undefined === input.output || "string" === typeof input.output) && (undefined === input.distribute || "string" === typeof input.distribute) && (undefined === input.simulate || "boolean" === typeof input.simulate) && (undefined === input.e2e || "string" === typeof input.e2e) && (undefined === input.propagate || "boolean" === typeof input.propagate) && (undefined === input.clone || "boolean" === typeof input.clone) && (undefined === input.primitive || "boolean" === typeof input.primitive) && (undefined === input.assert || "boolean" === typeof input.assert) && (undefined === input.json || "boolean" === typeof input.json);
74
74
  const $io1 = input => Array.isArray(input.include) && input.include.every(elem => "string" === typeof elem) && (undefined === input.exclude || Array.isArray(input.exclude) && input.exclude.every(elem => "string" === typeof elem));
75
75
  const $io2 = input => "string" === typeof input.output && (undefined === input.openapi || "2.0" === input.openapi || "3.0" === input.openapi || "3.1" === input.openapi) && (undefined === input.beautify || "number" === typeof input.beautify || "boolean" === typeof input.beautify) && (undefined === input.additional || "boolean" === typeof input.additional) && (undefined === input.info || "object" === typeof input.info && null !== input.info && false === Array.isArray(input.info) && $io3(input.info)) && (undefined === input.servers || Array.isArray(input.servers) && input.servers.every(elem => "object" === typeof elem && null !== elem && $io6(elem))) && (undefined === input.security || "object" === typeof input.security && null !== input.security && false === Array.isArray(input.security) && $io9(input.security)) && (undefined === input.tags || Array.isArray(input.tags) && input.tags.every(elem => "object" === typeof elem && null !== elem && $io20(elem))) && (undefined === input.decompose || "boolean" === typeof input.decompose);
76
76
  const $io3 = input => (undefined === input.title || "string" === typeof input.title) && (undefined === input.summary || "string" === typeof input.summary) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.termsOfService || "string" === typeof input.termsOfService) && (undefined === input.contact || "object" === typeof input.contact && null !== input.contact && false === Array.isArray(input.contact) && $io4(input.contact)) && (undefined === input.license || "object" === typeof input.license && null !== input.license && $io5(input.license)) && (undefined === input.version || "string" === typeof input.version);
@@ -106,6 +106,7 @@ var NestiaConfigLoader;
106
106
  const $io18 = input => (undefined === input.tokenUrl || "string" === typeof input.tokenUrl) && (undefined === input.refreshUrl || "string" === typeof input.refreshUrl) && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io16(input.scopes));
107
107
  const $io19 = input => "openIdConnect" === input.type && "string" === typeof input.openIdConnectUrl && (undefined === input.description || "string" === typeof input.description);
108
108
  const $io20 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description);
109
+ const $io21 = input => "string" === typeof input.output && (undefined === input.keyword || "boolean" === typeof input.keyword) && (null === input.separate || undefined === input.separate || "function" === typeof input.separate) && (undefined === input.beautify || "number" === typeof input.beautify || "boolean" === typeof input.beautify);
109
110
  const $iu0 = input => (() => {
110
111
  if ("apiKey" === input.type)
111
112
  return $io10(input);
@@ -154,6 +155,14 @@ var NestiaConfigLoader;
154
155
  path: _path + ".swagger",
155
156
  expected: "(INestiaConfig.ISwaggerConfig | undefined)",
156
157
  value: input.swagger
158
+ }, errorFactory)) && (undefined === input.openai || ("object" === typeof input.openai && null !== input.openai || $guard(_exceptionable, {
159
+ path: _path + ".openai",
160
+ expected: "(INestiaConfig.IOpenAiConnfig | undefined)",
161
+ value: input.openai
162
+ }, errorFactory)) && $ao21(input.openai, _path + ".openai", true && _exceptionable) || $guard(_exceptionable, {
163
+ path: _path + ".openai",
164
+ expected: "(INestiaConfig.IOpenAiConnfig | undefined)",
165
+ value: input.openai
157
166
  }, errorFactory)) && (undefined === input.output || "string" === typeof input.output || $guard(_exceptionable, {
158
167
  path: _path + ".output",
159
168
  expected: "(string | undefined)",
@@ -602,6 +611,23 @@ var NestiaConfigLoader;
602
611
  expected: "(string | undefined)",
603
612
  value: input.description
604
613
  }, errorFactory));
614
+ const $ao21 = (input, _path, _exceptionable = true) => ("string" === typeof input.output || $guard(_exceptionable, {
615
+ path: _path + ".output",
616
+ expected: "string",
617
+ value: input.output
618
+ }, errorFactory)) && (undefined === input.keyword || "boolean" === typeof input.keyword || $guard(_exceptionable, {
619
+ path: _path + ".keyword",
620
+ expected: "(boolean | undefined)",
621
+ value: input.keyword
622
+ }, errorFactory)) && (null === input.separate || undefined === input.separate || "function" === typeof input.separate || $guard(_exceptionable, {
623
+ path: _path + ".separate",
624
+ expected: "(null | undefined)",
625
+ value: input.separate
626
+ }, errorFactory)) && (undefined === input.beautify || "number" === typeof input.beautify || "boolean" === typeof input.beautify || $guard(_exceptionable, {
627
+ path: _path + ".beautify",
628
+ expected: "(boolean | number | undefined)",
629
+ value: input.beautify
630
+ }, errorFactory));
605
631
  const $au0 = (input, _path, _exceptionable = true) => (() => {
606
632
  if ("apiKey" === input.type)
607
633
  return $ao10(input, _path, true && _exceptionable);
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaConfigLoader.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaConfigLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestiaConfigLoader.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaConfigLoader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export declare namespace NestiaSdkCommand {
2
2
  const sdk: () => Promise<void>;
3
3
  const swagger: () => Promise<void>;
4
+ const openai: () => Promise<void>;
4
5
  const e2e: () => Promise<void>;
5
6
  }
@@ -16,6 +16,7 @@ var NestiaSdkCommand;
16
16
  (function (NestiaSdkCommand) {
17
17
  NestiaSdkCommand.sdk = () => main((app) => app.sdk());
18
18
  NestiaSdkCommand.swagger = () => main((app) => app.swagger());
19
+ NestiaSdkCommand.openai = () => main((app) => app.openai());
19
20
  NestiaSdkCommand.e2e = () => main((app) => app.e2e());
20
21
  const main = (task) => __awaiter(this, void 0, void 0, function* () {
21
22
  yield generate(task);
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaSdkCommand.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaSdkCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,qEAAkE;AAClE,6DAA0D;AAE1D,IAAiB,gBAAgB,CAqDhC;AArDD,WAAiB,gBAAgB;IAClB,oBAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,wBAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,oBAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,CAAO,IAAkD,EAAE,EAAE;QACxE,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,CACf,IAAkD,EAClD,EAAE;;QACF,mBAAmB;QACnB,MAAM,OAAO,GACX,MAAM,uCAAkB,CAAC,eAAe,CACtC,MAAA,eAAe,CAAC;YACd,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,MAAM;SAClB,CAAC,mCAAI,eAAe,CACtB,CAAC;QACJ,MAAM,MAAM,GAAkB,MAAM,uCAAkB,CAAC,MAAM,CAC3D,MAAA,eAAe,CAAC;YACd,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;SAChB,CAAC,mCAAI,kBAAkB,EACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAC5B,CAAC;QAEF,WAAW;QACX,MAAM,GAAG,GAAyB,IAAI,2CAAoB,CACxD,MAAM,EACN,OAAO,CAAC,OAAO,CAChB,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAA,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAGxB,EAAiB,EAAE;QAClB,MAAM,IAAI,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;aACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK;YAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,SAAS,OAAO,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,EArDgB,gBAAgB,gCAAhB,gBAAgB,QAqDhC"}
1
+ {"version":3,"file":"NestiaSdkCommand.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaSdkCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,qEAAkE;AAClE,6DAA0D;AAE1D,IAAiB,gBAAgB,CAsDhC;AAtDD,WAAiB,gBAAgB;IAClB,oBAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,wBAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,uBAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,oBAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,CAAO,IAAkD,EAAE,EAAE;QACxE,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,CACf,IAAkD,EAClD,EAAE;;QACF,mBAAmB;QACnB,MAAM,OAAO,GACX,MAAM,uCAAkB,CAAC,eAAe,CACtC,MAAA,eAAe,CAAC;YACd,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,MAAM;SAClB,CAAC,mCAAI,eAAe,CACtB,CAAC;QACJ,MAAM,MAAM,GAAkB,MAAM,uCAAkB,CAAC,MAAM,CAC3D,MAAA,eAAe,CAAC;YACd,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;SAChB,CAAC,mCAAI,kBAAkB,EACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAC5B,CAAC;QAEF,WAAW;QACX,MAAM,GAAG,GAAyB,IAAI,2CAAoB,CACxD,MAAM,EACN,OAAO,CAAC,OAAO,CAChB,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAA,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAGxB,EAAiB,EAAE;QAClB,MAAM,IAAI,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;aACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK;YAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,SAAS,OAAO,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,EAtDgB,gBAAgB,gCAAhB,gBAAgB,QAsDhC"}
@@ -48,9 +48,10 @@ npx @nestia/sdk [command] [options?]
48
48
  - npx @nestia/sdk dependencies
49
49
  - npx @nestia/sdk dependencies --manager pnpm
50
50
  2. npx @nestia/sdk init
51
- 3. npx @nestia/sdk sdk --config? [config file]
52
- 4. npx @nestia/sdk swagger --config? [config file]
53
- 5. npx @nestia/sdk e2e --config? [config file]
51
+ 3. npx @nestia/sdk sdk --config? [config file] --project? [project file]
52
+ 4. npx @nestia/sdk swagger --config? [config file] --project? [project file]
53
+ 5. npx @nestia/sdk openai --config? [config file] --project? [project file]
54
+ 6. npx @nestia/sdk e2e --config? [config file] --project? [project file]
54
55
  `;
55
56
  function halt(desc) {
56
57
  console.error(desc);
@@ -92,6 +93,8 @@ function main() {
92
93
  yield execute((c) => c.sdk());
93
94
  else if (type === "swagger")
94
95
  yield execute((c) => c.swagger());
96
+ else if (type === "openai")
97
+ yield execute((c) => c.openai());
95
98
  else if (type === "e2e")
96
99
  yield execute((c) => c.e2e());
97
100
  else
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/executable/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA+B;AAC/B,4CAAoB;AACpB,sDAA8B;AAE9B,4DAAyD;AAGzD,MAAM,KAAK,GAAG;;;;;;;;;;;CAWb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;;IAClC,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,6BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,mCAAI,KAAK,CAAC;IACzD,MAAM,MAAM,GAAW,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC;IAE5E,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAW,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC9B,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAe,UAAU;;QACvB,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;YAC5C,IAAI,CACF,wFAAwF,CACzF,CAAC;QACJ,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CACxB,GAAG,SAAS,uCAAuC,EACnD,kBAAkB,CACnB,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,OAAO,CACpB,OAA8D;;QAE9D,MAAM,MAAM,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;CAAA;AAED,SAAe,IAAI;;QACjB,MAAM,IAAI,GAAuB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAa,iBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;aAC3C,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAClD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC1D,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;;YAClD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/executable/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA+B;AAC/B,4CAAoB;AACpB,sDAA8B;AAE9B,4DAAyD;AAGzD,MAAM,KAAK,GAAG;;;;;;;;;;;;CAYb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;;IAClC,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,6BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,mCAAI,KAAK,CAAC;IACzD,MAAM,MAAM,GAAW,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC;IAE5E,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAW,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC9B,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAe,UAAU;;QACvB,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;YAC5C,IAAI,CACF,wFAAwF,CACzF,CAAC;QACJ,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CACxB,GAAG,SAAS,uCAAuC,EACnD,kBAAkB,CACnB,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,OAAO,CACpB,OAA8D;;QAE9D,MAAM,MAAM,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;CAAA;AAED,SAAe,IAAI;;QACjB,MAAM,IAAI,GAAuB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAa,iBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;aAC3C,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAClD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC1D,IAAI,IAAI,KAAK,QAAQ;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACxD,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;;YAClD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { INestiaProject } from "../structures/INestiaProject";
2
+ import { ITypedHttpRoute } from "../structures/ITypedHttpRoute";
3
+ import { ITypedWebSocketRoute } from "../structures/ITypedWebSocketRoute";
4
+ export declare namespace OpenAiGenerator {
5
+ const generate: (project: INestiaProject) => (routes: Array<ITypedHttpRoute | ITypedWebSocketRoute>) => Promise<void>;
6
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OpenAiGenerator = void 0;
16
+ const openai_function_schema_1 = require("@wrtnio/openai-function-schema");
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const path_1 = __importDefault(require("path"));
19
+ const SwaggerGenerator_1 = require("./SwaggerGenerator");
20
+ var OpenAiGenerator;
21
+ (function (OpenAiGenerator) {
22
+ OpenAiGenerator.generate = (project) => (routes) => __awaiter(this, void 0, void 0, function* () {
23
+ var _a;
24
+ console.log("Generating OpenAI Function Calling Document");
25
+ const config = project.config.openai;
26
+ const parsed = path_1.default.parse(config.output);
27
+ const directory = path_1.default.dirname(parsed.dir);
28
+ if (fs_1.default.existsSync(directory) === false)
29
+ try {
30
+ yield fs_1.default.promises.mkdir(directory);
31
+ }
32
+ catch (_b) { }
33
+ if (fs_1.default.existsSync(directory) === false)
34
+ throw new Error(`Error on NestiaApplication.openai(): failed to create output directory: ${directory}`);
35
+ const location = !!parsed.ext
36
+ ? path_1.default.resolve(config.output)
37
+ : path_1.default.join(path_1.default.resolve(config.output), "openai.json");
38
+ const swagger = yield SwaggerGenerator_1.SwaggerGenerator.compose(Object.assign(Object.assign({}, project), { config: Object.assign(Object.assign({}, project.config), { swagger: (_a = project.config.swagger) !== null && _a !== void 0 ? _a : { output: "" } }) }))(routes);
39
+ const document = openai_function_schema_1.OpenAiComposer.document({
40
+ swagger,
41
+ options: config,
42
+ });
43
+ yield fs_1.default.promises.writeFile(location, !config.beautify
44
+ ? JSON.stringify(document)
45
+ : JSON.stringify(document, null, typeof config.beautify === "number" ? config.beautify : 2), "utf8");
46
+ });
47
+ })(OpenAiGenerator || (exports.OpenAiGenerator = OpenAiGenerator = {}));
48
+ //# sourceMappingURL=OpenAiGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAiGenerator.js","sourceRoot":"","sources":["../../src/generates/OpenAiGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2EAGwC;AACxC,4CAAoB;AACpB,gDAAwB;AAKxB,yDAAsD;AAEtD,IAAiB,eAAe,CA8C/B;AA9CD,WAAiB,eAAe;IACjB,wBAAQ,GACnB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACE,MAAqD,EACtC,EAAE;;QACjB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC;QACtC,MAAM,MAAM,GAAoB,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAW,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK;YACpC,IAAI,CAAC;gBACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;YAAC,WAAM,CAAC,CAAA,CAAC;QACZ,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK;YACpC,MAAM,IAAI,KAAK,CACb,2EAA2E,SAAS,EAAE,CACvF,CAAC;QAEJ,MAAM,QAAQ,GAAW,CAAC,CAAC,MAAM,CAAC,GAAG;YACnC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAsB,MAAM,mCAAgB,CAAC,OAAO,iCAC5D,OAAO,KACV,MAAM,kCACD,OAAO,CAAC,MAAM,KACjB,OAAO,EAAE,MAAA,OAAO,CAAC,MAAM,CAAC,OAAO,mCAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAEnD,CAAC,MAAM,CAAC,CAAC;QACX,MAAM,QAAQ,GAAoB,uCAAc,CAAC,QAAQ,CAAC;YACxD,OAAO;YACP,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,QAAQ,EACR,CAAC,MAAM,CAAC,QAAQ;YACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CACZ,QAAQ,EACR,IAAI,EACJ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC1D,EACL,MAAM,CACP,CAAC;IACJ,CAAC,CAAA,CAAC;AACN,CAAC,EA9CgB,eAAe,+BAAf,eAAe,QA8C/B"}
@@ -24,6 +24,7 @@ const SdkFileProgrammer_1 = require("./internal/SdkFileProgrammer");
24
24
  var SdkGenerator;
25
25
  (function (SdkGenerator) {
26
26
  SdkGenerator.generate = (project) => (routes) => __awaiter(this, void 0, void 0, function* () {
27
+ var _a;
27
28
  console.log("Generating SDK Library");
28
29
  // VALIDATE THROUGH SWAGGER GENERATOR
29
30
  const errors = [];
@@ -36,9 +37,7 @@ var SdkGenerator;
36
37
  lazyProperties: [],
37
38
  lazySchemas: [],
38
39
  errors,
39
- swagger: yield SwaggerGenerator_1.SwaggerGenerator.initialize({
40
- output: "",
41
- }),
40
+ swagger: yield SwaggerGenerator_1.SwaggerGenerator.initialize((_a = project.config.swagger) !== null && _a !== void 0 ? _a : { output: "" }),
42
41
  });
43
42
  for (const r of routes)
44
43
  if (r.protocol === "http")
@@ -53,7 +52,7 @@ var SdkGenerator;
53
52
  try {
54
53
  yield fs_1.default.promises.mkdir(project.config.output);
55
54
  }
56
- catch (_a) { }
55
+ catch (_b) { }
57
56
  // BUNDLING
58
57
  const bundle = yield fs_1.default.promises.readdir(SdkGenerator.BUNDLE_PATH);
59
58
  for (const file of bundle) {
@@ -1 +1 @@
1
- {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare namespace SwaggerGenerator {
19
19
  swagger: OpenApi.IDocument;
20
20
  }
21
21
  const generate: (project: INestiaProject) => (routeList: Array<ITypedHttpRoute | ITypedWebSocketRoute>) => Promise<void>;
22
+ const compose: (project: INestiaProject) => (routeList: Array<ITypedHttpRoute | ITypedWebSocketRoute>) => Promise<OpenApi.IDocument>;
22
23
  const initialize: (config: INestiaConfig.ISwaggerConfig) => Promise<OpenApi.IDocument>;
23
24
  const generate_route: (props: IProps) => (route: ITypedHttpRoute) => OpenApi.IOperation;
24
25
  }
@@ -27,8 +27,7 @@ const SwaggerSchemaGenerator_1 = require("./internal/SwaggerSchemaGenerator");
27
27
  var SwaggerGenerator;
28
28
  (function (SwaggerGenerator) {
29
29
  SwaggerGenerator.generate = (project) => (routeList) => __awaiter(this, void 0, void 0, function* () {
30
- var _a, _b, _c, _d, _e, _f, _g, _h;
31
- console.log("Generating Swagger Documents");
30
+ console.log("Generating Swagger Document");
32
31
  // VALIDATE SECURITY
33
32
  const config = project.config.swagger;
34
33
  const httpRoutes = routeList.filter((route) => route.protocol === "http");
@@ -40,12 +39,30 @@ var SwaggerGenerator;
40
39
  try {
41
40
  yield fs_1.default.promises.mkdir(directory);
42
41
  }
43
- catch (_j) { }
42
+ catch (_a) { }
44
43
  if (fs_1.default.existsSync(directory) === false)
45
44
  throw new Error(`Error on NestiaApplication.swagger(): failed to create output directory: ${directory}`);
45
+ // COMPOSE SWAGGER DOCUMENT
46
46
  const location = !!parsed.ext
47
47
  ? path_1.default.resolve(config.output)
48
48
  : path_1.default.join(path_1.default.resolve(config.output), "swagger.json");
49
+ const swagger = yield SwaggerGenerator.compose(project)(routeList);
50
+ // DO GENERATE
51
+ const document = config.openapi === "2.0"
52
+ ? openapi_1.OpenApi.downgrade(swagger, config.openapi)
53
+ : config.openapi === "3.0"
54
+ ? openapi_1.OpenApi.downgrade(swagger, config.openapi)
55
+ : swagger;
56
+ yield fs_1.default.promises.writeFile(location, !config.beautify
57
+ ? JSON.stringify(document)
58
+ : JSON.stringify(document, null, typeof config.beautify === "number" ? config.beautify : 2), "utf8");
59
+ });
60
+ SwaggerGenerator.compose = (project) => (routeList) => __awaiter(this, void 0, void 0, function* () {
61
+ var _a, _b, _c, _d, _e, _f, _g, _h;
62
+ // VALIDATE SECURITY
63
+ const config = project.config.swagger;
64
+ const httpRoutes = routeList.filter((route) => route.protocol === "http");
65
+ validate_security(config)(httpRoutes);
49
66
  const collection = new MetadataCollection_1.MetadataCollection({
50
67
  replace: MetadataCollection_1.MetadataCollection.replace,
51
68
  });
@@ -142,15 +159,7 @@ var SwaggerGenerator;
142
159
  get: (accessor) => customizer.get.get()(accessor),
143
160
  });
144
161
  }
145
- // DO GENERATE
146
- const document = config.openapi === "2.0"
147
- ? openapi_1.OpenApi.downgrade(swagger, config.openapi)
148
- : config.openapi === "3.0"
149
- ? openapi_1.OpenApi.downgrade(swagger, config.openapi)
150
- : swagger;
151
- yield fs_1.default.promises.writeFile(location, !config.beautify
152
- ? JSON.stringify(document)
153
- : JSON.stringify(document, null, typeof config.beautify === "number" ? config.beautify : 2), "utf8");
162
+ return swagger;
154
163
  });
155
164
  const validate_security = (config) => (routeList) => {
156
165
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAiE;AACjE,4CAAoB;AACpB,gDAAwB;AACxB,+BAAiC;AAEjC,kDAAgD;AAChD,+EAA4E;AAC5E,oGAAiG;AASjG,0DAAuD;AACvD,8CAA2C;AAC3C,wFAAqF;AACrF,8EAA2E;AAE3E,IAAiB,gBAAgB,CA+chC;AA/cD,WAAiB,gBAAgB;IAWlB,yBAAQ,GACnB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACE,SAAwD,EACzC,EAAE;;QACjB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,oBAAoB;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAQ,CAAC;QACvC,MAAM,UAAU,GAAsB,SAAS,CAAC,MAAM,CACpD,CAAC,KAAK,EAA4B,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAC1C,CAAC;QACvB,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAEtC,iBAAiB;QACjB,MAAM,MAAM,GAAoB,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAW,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK;YACpC,IAAI,CAAC;gBACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;YAAC,WAAM,CAAC,CAAA,CAAC;QACZ,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK;YACpC,MAAM,IAAI,KAAK,CACb,4EAA4E,SAAS,EAAE,CACxF,CAAC;QAEJ,MAAM,QAAQ,GAAW,CAAC,CAAC,MAAM,CAAC,GAAG;YACnC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;YAC5D,OAAO,EAAE,uCAAkB,CAAC,OAAO;SACpC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,WAAW,GAA8B,EAAE,CAAC;QAClD,MAAM,cAAc,GAAgC,EAAE,CAAC;QACvD,MAAM,OAAO,GAAsB,MAAM,iBAAA,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAGV,IAAI,GAAG,EAAE,CAAC;QAEd,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;gBAAE,SAAS;YAErE,MAAM,IAAI,GAAuC,iBAAO,CAAC,IAAI,CAC3D,QAAQ,EACR,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EACtC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CACX,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,iBAAA,cAAc,CAAC;gBAChD,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU;gBACV,WAAW;gBACX,cAAc;gBACd,MAAM;gBACN,OAAO;aACR,CAAC,CAAC,KAAK,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAEpE,oBAAoB;QACpB,MAAM,WAAW,GACf,qDAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CACpC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CACjB,CAAC;QAC/B,OAAO,CAAC,UAAU,mCACb,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC,GAC1B,CAAC,MAAA,WAAW,CAAC,UAAU,mCAAI,EAAE,CAAC,CAClC,CAAC;QACF,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,cAAc;YAC5B,MAAM,CAAC,MAAM,CACX,CAAC,CAAC,MAAM,EACR,MAAA,MAAA,MACE,MAAA,WAAW,CAAC,UAAU,CAAC,OAAO,0CAC5B,CAAC,CAAC,MAAM,CAEX,0CAAE,UAAU,0CAAG,CAAC,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAClC,CAAC;QAEJ,qBAAqB;QACrB,IAAI,MAAM,CAAC,QAAQ;YAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7D,gBAAgB;QAChB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,MAAM;gBACpB,OAAO,CAAC,KAAK,CACX,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAC/C,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IACrB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IACd,CAAC,CAAC,IACJ,sDAAsD;oBACpD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9C,MAAM,CACP,CAAC;YACJ,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC/C,CAAC;QAED,qBAAqB;QACrB,MAAM,UAAU,GAAG;YACjB,EAAE,EAAE,IAAI,gBAAS,CAAC,GAAG,EAAE;;gBACrB,MAAM,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAC;gBACnD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,CAAC,WAAW,EAAoB,CAAC;oBAC/C,MAAM,IAAI,GAAW,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC5D,MAAM,SAAS,GACb,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAG,IAAI,CAAC,0CAAG,MAAM,CAAC,CAAC;oBAClC,IAAI,SAAS,KAAK,SAAS;wBAAE,SAAS;oBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE;wBAC1B,MAAM;wBACN,IAAI;wBACJ,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;YACF,GAAG,EAAE,IAAI,gBAAS,CAChB,GAAG,EAAE,CACH,CAAC,GAAa,EAAkC,EAAE;;gBAChD,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,CAAC,WAAW,EAAoB,CAAC;gBAC7C,MAAM,IAAI,GACR,GAAG;oBACH,GAAG,CAAC,IAAI;yBACL,KAAK,CAAC,GAAG,CAAC;yBACV,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;yBAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CACpD;yBACA,IAAI,CAAC,GAAG,CAAC,CAAC;gBACf,OAAO,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAG,IAAI,CAAC,0CAAG,MAAM,CAAC,CAAC;YACzC,CAAC,CACJ;SACF,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IACE,KAAK;gBACL,OAAO,CAAC,WAAW,CACjB,0BAA0B,EAC1B,KAAK,CAAC,UAAU,CAAC,SAAS,EAC1B,KAAK,CAAC,IAAI,CACX;gBAED,SAAS;YAEX,MAAM,IAAI,GAAW,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,CAAC,WAAW,EAAoB,CAAC;YAC/C,MAAM,MAAM,GACV,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAG,IAAI,CAAC,0CAAG,MAAM,CAAC,CAAC;YAClC,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YAEnC,MAAM,OAAO,GAA0B,OAAO,CAAC,WAAW,CACxD,0BAA0B,EAC1B,KAAK,CAAC,UAAU,CAAC,SAAS,EAC1B,KAAK,CAAC,IAAI,CACX,CAAC;YACF,MAAM,KAAK,GAAe,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACvE,KAAK,MAAM,EAAE,IAAI,KAAK;gBACpB,EAAE,CAAC;oBACD,KAAK,EAAE,MAAM;oBACb,MAAM;oBACN,IAAI;oBACJ,OAAO;oBACP,EAAE,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;oBACrD,GAAG,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;iBAC5D,CAAC,CAAC;QACP,CAAC;QAED,cAAc;QACd,MAAM,QAAQ,GAIZ,MAAM,CAAC,OAAO,KAAK,KAAK;YACtB,CAAC,CAAC,iBAAO,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAgB,CAAC;YACrD,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;gBACxB,CAAC,CAAC,iBAAO,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAgB,CAAC;gBACrD,CAAC,CAAC,OAAO,CAAC;QAChB,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,QAAQ,EACR,CAAC,MAAM,CAAC,QAAQ;YACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CACZ,QAAQ,EACR,IAAI,EACJ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC1D,EACL,MAAM,CACP,CAAC;IACJ,CAAC,CAAA,CAAC;IAEJ,MAAM,iBAAiB,GACrB,CAAC,MAAoC,EAAE,EAAE,CACzC,CAAC,SAA4B,EAAgB,EAAE;;QAC7C,MAAM,WAAW,GAGb,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC;YAC9D,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;gBAC7B,MAAM,EACJ,KAAK,CAAC,IAAI,KAAK,QAAQ;oBACrB,CAAC,CAAC,IAAI,GAAG,CAAC;wBACN,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,iBAAiB,0CAAE,MAAM,mCAAI,EAAE,CAAC;wBAC3D,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,0CAAE,MAAM,mCAAI,EAAE,CAAC;wBAClD,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,0CAAE,MAAM,mCAAI,EAAE,CAAC;wBAClD,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,iBAAiB,0CAAE,MAAM,mCAAI,EAAE,CAAC;qBAC5D,CAAC;oBACJ,CAAC,CAAC,IAAI,GAAG,EAAE;aAChB,CAAC,CAAC;QAEL,MAAM,QAAQ,GACZ,CAAC,QAA+B,EAAE,EAAE,CACpC,CAAC,GAAW,EAAE,MAAgB,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,KAAK,SAAS;gBACxB,OAAO,QAAQ,CAAC,2BAA2B,GAAG,oBAAoB,CAAC,CAAC;iBACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;iBAChC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACxC,OAAO,QAAQ,CACb,2BAA2B,GAAG,2DAA2D,CAC1F,CAAC;YACJ,KAAK,MAAM,CAAC,IAAI,MAAM;gBACpB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK;oBAClC,QAAQ,CACN,2BAA2B,GAAG,qCAAqC,CAAC,IAAI,CACzE,CAAC;QACR,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,SAAS;YAC3B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ;gBACjC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oBAChD,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,UAAU,CAAC,IAAI,CACb,OAAO,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,QAAQ,IAAI,CAC/E,CACF,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAErB,IAAI,UAAU,CAAC,MAAM;YACnB,MAAM,IAAI,KAAK,CACb,uKAAuK;gBACrK,IAAI;gBACJ,uBAAuB;gBACvB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB,CAAC;IACN,CAAC,CAAC;IAEJ;;kEAE8D;IACjD,2BAAU,GAAG,CACxB,MAAoC,EACR,EAAE;;QAC9B,MAAM,IAAI,GAAG,IAAI,gBAAS,CACxB,GAA2D,EAAE;YAC3D,MAAM,QAAQ,GAAkB,MAAM,6BAAa,CAAC,IAAI,CACtD,cAAc,CACf,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACjB,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEnC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrE,MAAM,IAAI;;;;;;;;2CAAG,eAAK,CAAC,IAAI,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qFAahC,OAAO,CAAC,CAAC;gBACZ,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACnB,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;4BAChC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;4BACxB,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gCAChC,CAAC,CAAC;oCACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oCACvB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;iCACtB;gCACH,CAAC,CAAC,SAAS;wBACf,CAAC,CAAC,SAAS;iBACd,CAAC;YACJ,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAA,CACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI;gBACzB;oBACE,GAAG,EAAE,mCAAmC;oBACxC,WAAW,EAAE,wBAAwB;iBACtC;aACF;YACD,IAAI,kCACC,CAAC,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,CAAC,KACtB,OAAO,EAAE,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,mCAAI,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,OAAO,mCAAI,OAAO,EACvE,KAAK,EACH,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,KAAK,mCAClB,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,KAAK,mCACzB,mBAAmB,EACrB,WAAW,EACT,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,mCACxB,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,WAAW,mCAC/B,yDAAyD,EAC3D,OAAO,EAAE,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,mCAAI,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,OAAO,GAC7D;YACD,KAAK,EAAE,EAAE;YACT,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE;aACZ;YACD,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE;YACvB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC,CAAA,CAAC;IAEF,SAAS,QAAQ,CACf,IAAY,EACZ,UAAwC;QAExC,MAAM,QAAQ,GAAiC,UAAU,CAAC,MAAM,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CACvD,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,QAAQ;YAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAEY,+BAAc,GACzB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAsB,EAAsB,EAAE;;;QAC7C,oBAAoB;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;QAEzE,kCAAkC;QAClC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAY,EAAE,CAC/C,KAAK,CAAC,SAAS;aACZ,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,IAAI;YACjB,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,IAAI,CAAC,IAAI,CACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CACnD,KAAK,SAAS,CAClB;aACA,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,yDAA2B,CAAC,QAAQ,CAAC;YACpE,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACrC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CACnC,CAAC;QAEF,iBAAiB;QACjB,MAAM,MAAM,GAAgB,IAAI,GAAG,CAAC;YAClC,GAAG,KAAK,CAAC,WAAW;YACpB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,YAAA,KAAK,CAAC,OAAO,EAAC,IAAI,uCAAJ,IAAI,GAAK,EAAE,EAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM;YACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,SAAS;gBACrE,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,WAAW,CAAC,MAAM;gBACpB,YAAA,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAC5B,EAAC,WAAW,uCAAX,WAAW,GAAK,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC;QAC7C,CAAC;QAED,WAAW;QACX,uBACE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACzC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,EACjB,WAAW,EACT,MAAA,KAAK,CAAC,WAAW,mCACjB,MAAA,MAAA,KAAK,CAAC,MAAM,EAAC,WAAW,mDAAG;gBACzB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI;gBAC5B,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAe;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,EACJ,UAAU,EAAE,KAAK,CAAC,UAAU;iBACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC;iBAC5C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+CAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;iBACrE,IAAI,EAAE,EACT,WAAW,EAAE,IAAI;gBACf,CAAC,CAAC,+CAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBACjD,CAAC,CAAC,SAAS,EACb,SAAS,EAAE,+CAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACxD,OAAO;YACP,WAAW,EACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IACzD,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI;YAClC,CAAC,CAAC;gBACE,oBAAoB,EAAE;oBACpB,GAAG,KAAK,CAAC,IAAI;yBACV,KAAK,CAAC,GAAG,CAAC;yBACV,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;oBAChD,KAAK,CAAC,IAAI;iBACX,CAAC,IAAI,CAAC,GAAG,CAAC;gBACX,oBAAoB,EAAE,KAAK,CAAC,SAAS;gBACrC,iBAAiB,EAAE,KAAK,CAAC,MAAM;aAChC;YACH,CAAC,CAAC,EAAE,CAAC,EACP;IACJ,CAAC,CAAC;IAEJ,SAAS,aAAa,CACpB,QAA4D,EAC5D,OAA0B;QAE1B,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,SAAS,cAAc,CACrB,KAA8B;;QAE9B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YACzB,uCACK,KAAK,KACR,EAAE,EAAE,MAAA,KAAK,CAAC,EAAE,mCAAI,QAAQ,EACxB,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,eAAe,IACnC;QACJ,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EA/cgB,gBAAgB,gCAAhB,gBAAgB,QA+chC"}
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "3.7.2",
3
+ "version": "3.8.0-dev.20240722",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -32,9 +32,10 @@
32
32
  },
33
33
  "homepage": "https://nestia.io",
34
34
  "dependencies": {
35
- "@nestia/fetcher": "^3.7.2",
36
- "@nestia/core": "^3.7.2",
35
+ "@nestia/core": "^3.8.0-dev.20240722",
36
+ "@nestia/fetcher": "^3.8.0-dev.20240722",
37
37
  "@samchon/openapi": "^0.4.2",
38
+ "@wrtnio/openai-function-schema": "^0.2.0",
38
39
  "cli": "^1.0.1",
39
40
  "get-function-location": "^2.0.0",
40
41
  "glob": "^7.2.0",
@@ -44,16 +45,16 @@
44
45
  "tsconfck": "^2.0.1",
45
46
  "tsconfig-paths": "^4.1.1",
46
47
  "tstl": "^3.0.0",
47
- "typia": "^6.5.2"
48
+ "typia": ">=6.5.4 <7.0.0"
48
49
  },
49
50
  "peerDependencies": {
50
- "@nestia/fetcher": ">=3.7.2",
51
- "@nestia/core": ">=3.7.2",
51
+ "@nestia/core": ">=3.8.0-dev.20240722",
52
+ "@nestia/fetcher": ">=3.8.0-dev.20240722",
52
53
  "@nestjs/common": ">=7.0.1",
53
54
  "@nestjs/core": ">=7.0.1",
54
55
  "reflect-metadata": ">=0.1.12",
55
56
  "ts-node": ">=10.6.0",
56
- "typia": ">=6.5.2 <7.0.0"
57
+ "typia": ">=6.5.4 <7.0.0"
57
58
  },
58
59
  "devDependencies": {
59
60
  "@trivago/prettier-plugin-sort-imports": "^4.3.0",
@@ -1,5 +1,6 @@
1
1
  import type { INestApplication } from "@nestjs/common";
2
2
  import { OpenApi } from "@samchon/openapi";
3
+ import { IOpenAiSchema } from "@wrtnio/openai-function-schema";
3
4
 
4
5
  /**
5
6
  * Definition for the `nestia.config.ts` file.
@@ -28,6 +29,15 @@ export interface INestiaConfig {
28
29
  */
29
30
  swagger?: INestiaConfig.ISwaggerConfig;
30
31
 
32
+ /**
33
+ * Configuration for the OpenAI funtion call schema generation.
34
+ *
35
+ * You can generate the schema for the OpenAI function call through
36
+ * this configuration. Recommend to use the function call schemas with
37
+ * the {@link swagger} document.
38
+ */
39
+ openai?: INestiaConfig.IOpenAiConnfig;
40
+
31
41
  /**
32
42
  * Output directory that SDK would be placed in.
33
43
  *
@@ -268,4 +278,92 @@ export namespace INestiaConfig {
268
278
  path: string;
269
279
  }): string;
270
280
  }
281
+
282
+ /**
283
+ * Configuration for the OpenAI funtion call schema generation.
284
+ */
285
+ export interface IOpenAiConnfig {
286
+ /**
287
+ * Output path of the `openai.json`.
288
+ *
289
+ * If you've configured only directory, the file name would be the `openai.json`.
290
+ * Otherwise you've configured the full path with file name and extension, the
291
+ * `openai.json` file would be renamed to it.
292
+ */
293
+ output: string;
294
+
295
+ /**
296
+ * Whether the parameters are keyworded or not.
297
+ *
298
+ * If this property value is `true`, length of the
299
+ * {@link IOpenAiDocument.IFunction.parameters} is always 1, and type of the
300
+ * pararameter is always {@link IOpenAiSchema.IObject} type. Also, its
301
+ * properties are following below rules:
302
+ *
303
+ * - `pathParameters`: Path parameters of {@link ISwaggerMigrateRoute.parameters}
304
+ * - `query`: Query parameter of {@link ISwaggerMigrateRoute.query}
305
+ * - `body`: Body parameter of {@link ISwaggerMigrateRoute.body}
306
+ *
307
+ * ```typescript
308
+ * {
309
+ * ...pathParameters,
310
+ * query,
311
+ * body,
312
+ * }
313
+ * ```
314
+ *
315
+ * Otherwise (this property value is `false`), length of the
316
+ * {@link IOpenAiDocument.IFunction.parameters} is variable, and sequence of the
317
+ * parameters are following below rules.
318
+ *
319
+ * ```typescript
320
+ * [
321
+ * ...pathParameters,
322
+ * ...(query ? [query] : []),
323
+ * ...(body ? [body] : []),
324
+ * ]
325
+ * ```
326
+ *
327
+ * @default false
328
+ */
329
+ keyword?: boolean;
330
+
331
+ /**
332
+ * Separator function for the parameters.
333
+ *
334
+ * When composing parameter arguments through OpenAI function call,
335
+ * there can be a case that some parameters must be composed by human, or
336
+ * LLM cannot understand the parameter. For example, if the parameter type
337
+ * has configured {@link IOpenAiSchema.IString["x-wrtn-secret-key"]}, the
338
+ * secret key value must be composed by human, not by LLM (Large Language Model).
339
+ *
340
+ * In that case, if you configure this property with a function that
341
+ * predicating whether the schema value must be composed by human or not,
342
+ * the parameters would be separated into two parts.
343
+ *
344
+ * - {@link IOpenAiFunction.separated.llm}
345
+ * - {@link IOpenAiFunction.separated.human}
346
+ *
347
+ * When writing the function, note that returning value `true` means to be
348
+ * a human composing the value, and `false` means to LLM composing the value.
349
+ * Also, when predicating the schema, it would better to utilize the
350
+ * {@link OpenAiTypeChecker} features.
351
+ *
352
+ * @param schema Schema to be separated.
353
+ * @returns Whether the schema value must be composed by human or not.
354
+ * @default null
355
+ */
356
+ separate?: null | ((schema: IOpenAiSchema) => boolean);
357
+
358
+ /**
359
+ * Whether to beautify JSON content or not.
360
+ *
361
+ * If you configure this property to be `true`, the `openai.json` file would
362
+ * be beautified with indentation (2 spaces) and line breaks. If you configure
363
+ * numeric value instead, the indentation would be specified by the number.
364
+ *
365
+ * @default false
366
+ */
367
+ beautify?: boolean | number;
368
+ }
271
369
  }
@@ -9,6 +9,7 @@ import { ConfigAnalyzer } from "./analyses/ConfigAnalyzer";
9
9
  import { ReflectControllerAnalyzer } from "./analyses/ReflectControllerAnalyzer";
10
10
  import { TypedControllerAnalyzer } from "./analyses/TypedControllerAnalyzer";
11
11
  import { E2eGenerator } from "./generates/E2eGenerator";
12
+ import { OpenAiGenerator } from "./generates/OpenAiGenerator";
12
13
  import { SdkGenerator } from "./generates/SdkGenerator";
13
14
  import { SwaggerGenerator } from "./generates/SwaggerGenerator";
14
15
  import { IErrorReport } from "./structures/IErrorReport";
@@ -93,6 +94,26 @@ export class NestiaSdkApplication {
93
94
  await this.generate("swagger", SwaggerGenerator.generate);
94
95
  }
95
96
 
97
+ public async openai(): Promise<void> {
98
+ if (!this.config.openai?.output)
99
+ throw new Error(
100
+ `Error on NestiaApplication.openai(): output path of the "openai.json" is not specified.`,
101
+ );
102
+
103
+ const parsed: path.ParsedPath = path.parse(this.config.openai.output);
104
+ const directory: string = !!parsed.ext
105
+ ? path.resolve(parsed.dir)
106
+ : this.config.openai.output;
107
+ const stats: fs.Stats = await fs.promises.lstat(directory);
108
+ if (stats.isDirectory() === false)
109
+ throw new Error(
110
+ "Error on NestiaApplication.openai(): output directory does not exists.",
111
+ );
112
+
113
+ print_title("Nestia OpenAI Function Calling Schema Generator");
114
+ await this.generate("openai", OpenAiGenerator.generate);
115
+ }
116
+
96
117
  private async generate(
97
118
  method: string,
98
119
  archiver: (
@@ -7,6 +7,7 @@ import { NestiaConfigLoader } from "./NestiaConfigLoader";
7
7
  export namespace NestiaSdkCommand {
8
8
  export const sdk = () => main((app) => app.sdk());
9
9
  export const swagger = () => main((app) => app.swagger());
10
+ export const openai = () => main((app) => app.openai());
10
11
  export const e2e = () => main((app) => app.e2e());
11
12
 
12
13
  const main = async (task: (app: NestiaSdkApplication) => Promise<void>) => {
@@ -14,9 +14,10 @@ npx @nestia/sdk [command] [options?]
14
14
  - npx @nestia/sdk dependencies
15
15
  - npx @nestia/sdk dependencies --manager pnpm
16
16
  2. npx @nestia/sdk init
17
- 3. npx @nestia/sdk sdk --config? [config file]
18
- 4. npx @nestia/sdk swagger --config? [config file]
19
- 5. npx @nestia/sdk e2e --config? [config file]
17
+ 3. npx @nestia/sdk sdk --config? [config file] --project? [project file]
18
+ 4. npx @nestia/sdk swagger --config? [config file] --project? [project file]
19
+ 5. npx @nestia/sdk openai --config? [config file] --project? [project file]
20
+ 6. npx @nestia/sdk e2e --config? [config file] --project? [project file]
20
21
  `;
21
22
 
22
23
  function halt(desc: string): never {
@@ -62,6 +63,7 @@ async function main() {
62
63
  else if (type === "init") await initialize();
63
64
  else if (type === "sdk") await execute((c) => c.sdk());
64
65
  else if (type === "swagger") await execute((c) => c.swagger());
66
+ else if (type === "openai") await execute((c) => c.openai());
65
67
  else if (type === "e2e") await execute((c) => c.e2e());
66
68
  else halt(USAGE);
67
69
 
@@ -0,0 +1,60 @@
1
+ import { OpenApi } from "@samchon/openapi";
2
+ import {
3
+ IOpenAiDocument,
4
+ OpenAiComposer,
5
+ } from "@wrtnio/openai-function-schema";
6
+ import fs from "fs";
7
+ import path from "path";
8
+
9
+ import { INestiaProject } from "../structures/INestiaProject";
10
+ import { ITypedHttpRoute } from "../structures/ITypedHttpRoute";
11
+ import { ITypedWebSocketRoute } from "../structures/ITypedWebSocketRoute";
12
+ import { SwaggerGenerator } from "./SwaggerGenerator";
13
+
14
+ export namespace OpenAiGenerator {
15
+ export const generate =
16
+ (project: INestiaProject) =>
17
+ async (
18
+ routes: Array<ITypedHttpRoute | ITypedWebSocketRoute>,
19
+ ): Promise<void> => {
20
+ console.log("Generating OpenAI Function Calling Document");
21
+
22
+ const config = project.config.openai!;
23
+ const parsed: path.ParsedPath = path.parse(config.output);
24
+ const directory: string = path.dirname(parsed.dir);
25
+ if (fs.existsSync(directory) === false)
26
+ try {
27
+ await fs.promises.mkdir(directory);
28
+ } catch {}
29
+ if (fs.existsSync(directory) === false)
30
+ throw new Error(
31
+ `Error on NestiaApplication.openai(): failed to create output directory: ${directory}`,
32
+ );
33
+
34
+ const location: string = !!parsed.ext
35
+ ? path.resolve(config.output)
36
+ : path.join(path.resolve(config.output), "openai.json");
37
+ const swagger: OpenApi.IDocument = await SwaggerGenerator.compose({
38
+ ...project,
39
+ config: {
40
+ ...project.config,
41
+ swagger: project.config.swagger ?? { output: "" },
42
+ },
43
+ })(routes);
44
+ const document: IOpenAiDocument = OpenAiComposer.document({
45
+ swagger,
46
+ options: config,
47
+ });
48
+ await fs.promises.writeFile(
49
+ location,
50
+ !config.beautify
51
+ ? JSON.stringify(document)
52
+ : JSON.stringify(
53
+ document,
54
+ null,
55
+ typeof config.beautify === "number" ? config.beautify : 2,
56
+ ),
57
+ "utf8",
58
+ );
59
+ };
60
+ }
@@ -32,9 +32,9 @@ export namespace SdkGenerator {
32
32
  lazyProperties: [],
33
33
  lazySchemas: [],
34
34
  errors,
35
- swagger: await SwaggerGenerator.initialize({
36
- output: "",
37
- }),
35
+ swagger: await SwaggerGenerator.initialize(
36
+ project.config.swagger ?? { output: "" },
37
+ ),
38
38
  });
39
39
  for (const r of routes) if (r.protocol === "http") validator(r);
40
40
  if (errors.length) {
@@ -35,7 +35,7 @@ export namespace SwaggerGenerator {
35
35
  async (
36
36
  routeList: Array<ITypedHttpRoute | ITypedWebSocketRoute>,
37
37
  ): Promise<void> => {
38
- console.log("Generating Swagger Documents");
38
+ console.log("Generating Swagger Document");
39
39
 
40
40
  // VALIDATE SECURITY
41
41
  const config = project.config.swagger!;
@@ -56,9 +56,46 @@ export namespace SwaggerGenerator {
56
56
  `Error on NestiaApplication.swagger(): failed to create output directory: ${directory}`,
57
57
  );
58
58
 
59
+ // COMPOSE SWAGGER DOCUMENT
59
60
  const location: string = !!parsed.ext
60
61
  ? path.resolve(config.output)
61
62
  : path.join(path.resolve(config.output), "swagger.json");
63
+ const swagger: OpenApi.IDocument = await compose(project)(routeList);
64
+
65
+ // DO GENERATE
66
+ const document:
67
+ | OpenApi.IDocument
68
+ | SwaggerV2.IDocument
69
+ | OpenApiV3.IDocument =
70
+ config.openapi === "2.0"
71
+ ? OpenApi.downgrade(swagger, config.openapi as "2.0")
72
+ : config.openapi === "3.0"
73
+ ? OpenApi.downgrade(swagger, config.openapi as "3.0")
74
+ : swagger;
75
+ await fs.promises.writeFile(
76
+ location,
77
+ !config.beautify
78
+ ? JSON.stringify(document)
79
+ : JSON.stringify(
80
+ document,
81
+ null,
82
+ typeof config.beautify === "number" ? config.beautify : 2,
83
+ ),
84
+ "utf8",
85
+ );
86
+ };
87
+
88
+ export const compose =
89
+ (project: INestiaProject) =>
90
+ async (
91
+ routeList: Array<ITypedHttpRoute | ITypedWebSocketRoute>,
92
+ ): Promise<OpenApi.IDocument> => {
93
+ // VALIDATE SECURITY
94
+ const config = project.config.swagger!;
95
+ const httpRoutes: ITypedHttpRoute[] = routeList.filter(
96
+ (route): route is ITypedHttpRoute => route.protocol === "http",
97
+ ) as ITypedHttpRoute[];
98
+ validate_security(config)(httpRoutes);
62
99
 
63
100
  const collection: MetadataCollection = new MetadataCollection({
64
101
  replace: MetadataCollection.replace,
@@ -206,28 +243,7 @@ export namespace SwaggerGenerator {
206
243
  get: (accessor: Accessor) => customizer.get.get()(accessor),
207
244
  });
208
245
  }
209
-
210
- // DO GENERATE
211
- const document:
212
- | OpenApi.IDocument
213
- | SwaggerV2.IDocument
214
- | OpenApiV3.IDocument =
215
- config.openapi === "2.0"
216
- ? OpenApi.downgrade(swagger, config.openapi as "2.0")
217
- : config.openapi === "3.0"
218
- ? OpenApi.downgrade(swagger, config.openapi as "3.0")
219
- : swagger;
220
- await fs.promises.writeFile(
221
- location,
222
- !config.beautify
223
- ? JSON.stringify(document)
224
- : JSON.stringify(
225
- document,
226
- null,
227
- typeof config.beautify === "number" ? config.beautify : 2,
228
- ),
229
- "utf8",
230
- );
246
+ return swagger;
231
247
  };
232
248
 
233
249
  const validate_security =