@ampeco/public-api-mcp 0.2.0
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/LICENSE +21 -0
- package/README.md +734 -0
- package/dist/build/flattener.d.ts +39 -0
- package/dist/build/flattener.d.ts.map +1 -0
- package/dist/build/flattener.js +193 -0
- package/dist/build/flattener.js.map +1 -0
- package/dist/build/index.d.ts +13 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/index.js +175 -0
- package/dist/build/index.js.map +1 -0
- package/dist/build/optimizer.d.ts +32 -0
- package/dist/build/optimizer.d.ts.map +1 -0
- package/dist/build/optimizer.js +222 -0
- package/dist/build/optimizer.js.map +1 -0
- package/dist/build/parser.d.ts +35 -0
- package/dist/build/parser.d.ts.map +1 -0
- package/dist/build/parser.js +83 -0
- package/dist/build/parser.js.map +1 -0
- package/dist/build/types.d.ts +91 -0
- package/dist/build/types.d.ts.map +1 -0
- package/dist/build/types.js +5 -0
- package/dist/build/types.js.map +1 -0
- package/dist/build/zod-generator.d.ts +34 -0
- package/dist/build/zod-generator.d.ts.map +1 -0
- package/dist/build/zod-generator.js +317 -0
- package/dist/build/zod-generator.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +99 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/generated/build-stats.json +7 -0
- package/dist/generated/endpoints.json +32181 -0
- package/dist/generated/schemas.d.ts +8157 -0
- package/dist/generated/schemas.d.ts.map +1 -0
- package/dist/generated/schemas.js +2726 -0
- package/dist/generated/schemas.js.map +1 -0
- package/dist/generated/schemas.ts +3171 -0
- package/dist/server/factory.d.ts +11 -0
- package/dist/server/factory.d.ts.map +1 -0
- package/dist/server/factory.js +450 -0
- package/dist/server/factory.js.map +1 -0
- package/dist/server/factory.test.d.ts +5 -0
- package/dist/server/factory.test.d.ts.map +1 -0
- package/dist/server/factory.test.js +77 -0
- package/dist/server/factory.test.js.map +1 -0
- package/dist/server/http.d.ts +10 -0
- package/dist/server/http.d.ts.map +1 -0
- package/dist/server/http.js +110 -0
- package/dist/server/http.js.map +1 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1502 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/loader.d.ts +10 -0
- package/dist/server/loader.d.ts.map +1 -0
- package/dist/server/loader.js +19 -0
- package/dist/server/loader.js.map +1 -0
- package/dist/server/prompts.d.ts +6 -0
- package/dist/server/prompts.d.ts.map +1 -0
- package/dist/server/prompts.js +462 -0
- package/dist/server/prompts.js.map +1 -0
- package/dist/server/stdio.d.ts +10 -0
- package/dist/server/stdio.d.ts.map +1 -0
- package/dist/server/stdio.js +25 -0
- package/dist/server/stdio.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optimization and Minification Module
|
|
3
|
+
*
|
|
4
|
+
* This module handles:
|
|
5
|
+
* - Aggressive minification techniques
|
|
6
|
+
* - Removing redundant whitespace and empty keys
|
|
7
|
+
* - Using efficient property naming conventions
|
|
8
|
+
* - Custom abbreviations for common OpenAPI terms
|
|
9
|
+
*
|
|
10
|
+
* Target: 50-70% reduction in token count
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Optimize an endpoint definition to reduce token count
|
|
14
|
+
*
|
|
15
|
+
* @param endpoint - Endpoint to optimize
|
|
16
|
+
* @returns Optimized endpoint
|
|
17
|
+
*/
|
|
18
|
+
export function optimizeEndpoint(endpoint) {
|
|
19
|
+
return {
|
|
20
|
+
...endpoint,
|
|
21
|
+
// Keep essential fields
|
|
22
|
+
path: endpoint.path,
|
|
23
|
+
method: endpoint.method,
|
|
24
|
+
operationId: endpoint.operationId,
|
|
25
|
+
summary: endpoint.summary,
|
|
26
|
+
description: optimizeDescription(endpoint.description),
|
|
27
|
+
parameters: endpoint.parameters ? optimizeParameters(endpoint.parameters) : undefined,
|
|
28
|
+
requestBody: endpoint.requestBody ? optimizeRequestBody(endpoint.requestBody) : undefined,
|
|
29
|
+
responses: endpoint.responses ? optimizeResponses(endpoint.responses) : undefined,
|
|
30
|
+
tags: endpoint.tags,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Optimize description by removing redundant whitespace
|
|
35
|
+
*
|
|
36
|
+
* @param description - Description text
|
|
37
|
+
* @returns Optimized description
|
|
38
|
+
*/
|
|
39
|
+
function optimizeDescription(description) {
|
|
40
|
+
if (!description)
|
|
41
|
+
return undefined;
|
|
42
|
+
return description
|
|
43
|
+
.replace(/\s+/g, " ") // Replace multiple spaces with single space
|
|
44
|
+
.replace(/\n\s*\n/g, "\n") // Remove empty lines
|
|
45
|
+
.trim();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Optimize parameters by removing unnecessary fields
|
|
49
|
+
*
|
|
50
|
+
* @param parameters - Array of parameters
|
|
51
|
+
* @returns Optimized parameters
|
|
52
|
+
*/
|
|
53
|
+
function optimizeParameters(parameters) {
|
|
54
|
+
return parameters.map((param) => {
|
|
55
|
+
const optimized = {
|
|
56
|
+
name: param.name,
|
|
57
|
+
in: param.in,
|
|
58
|
+
};
|
|
59
|
+
if (param.description) {
|
|
60
|
+
optimized.description = optimizeDescription(param.description);
|
|
61
|
+
}
|
|
62
|
+
if (param.required) {
|
|
63
|
+
optimized.required = true; // Only include if true
|
|
64
|
+
}
|
|
65
|
+
if (param.schema) {
|
|
66
|
+
optimized.schema = optimizeSchema(param.schema);
|
|
67
|
+
}
|
|
68
|
+
if (param.example !== undefined) {
|
|
69
|
+
optimized.example = param.example;
|
|
70
|
+
}
|
|
71
|
+
return optimized;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Optimize request body by removing unnecessary fields
|
|
76
|
+
*
|
|
77
|
+
* @param requestBody - Request body definition
|
|
78
|
+
* @returns Optimized request body
|
|
79
|
+
*/
|
|
80
|
+
function optimizeRequestBody(requestBody) {
|
|
81
|
+
const optimized = {};
|
|
82
|
+
if (requestBody.description) {
|
|
83
|
+
optimized.description = optimizeDescription(requestBody.description);
|
|
84
|
+
}
|
|
85
|
+
if (requestBody.required) {
|
|
86
|
+
optimized.required = true;
|
|
87
|
+
}
|
|
88
|
+
if (requestBody.content) {
|
|
89
|
+
optimized.content = {};
|
|
90
|
+
for (const [mediaType, content] of Object.entries(requestBody.content)) {
|
|
91
|
+
optimized.content[mediaType] = optimizeMediaType(content);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return optimized;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Optimize media type definition
|
|
98
|
+
*
|
|
99
|
+
* @param mediaType - Media type object
|
|
100
|
+
* @returns Optimized media type
|
|
101
|
+
*/
|
|
102
|
+
function optimizeMediaType(mediaType) {
|
|
103
|
+
const optimized = {};
|
|
104
|
+
if (mediaType.schema) {
|
|
105
|
+
optimized.schema = optimizeSchema(mediaType.schema);
|
|
106
|
+
}
|
|
107
|
+
if (mediaType.example !== undefined) {
|
|
108
|
+
optimized.example = mediaType.example;
|
|
109
|
+
}
|
|
110
|
+
if (mediaType.examples) {
|
|
111
|
+
optimized.examples = mediaType.examples;
|
|
112
|
+
}
|
|
113
|
+
return optimized;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Optimize responses by removing unnecessary fields
|
|
117
|
+
*
|
|
118
|
+
* @param responses - Response definitions
|
|
119
|
+
* @returns Optimized responses
|
|
120
|
+
*/
|
|
121
|
+
function optimizeResponses(responses) {
|
|
122
|
+
const optimized = {};
|
|
123
|
+
for (const [statusCode, response] of Object.entries(responses)) {
|
|
124
|
+
optimized[statusCode] = {
|
|
125
|
+
description: optimizeDescription(response.description),
|
|
126
|
+
};
|
|
127
|
+
if (response.content) {
|
|
128
|
+
optimized[statusCode].content = {};
|
|
129
|
+
for (const [mediaType, content] of Object.entries(response.content)) {
|
|
130
|
+
optimized[statusCode].content[mediaType] = optimizeMediaType(content);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return optimized;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Optimize JSON schema by removing unnecessary fields
|
|
138
|
+
*
|
|
139
|
+
* @param schema - JSON schema
|
|
140
|
+
* @returns Optimized schema
|
|
141
|
+
*/
|
|
142
|
+
function optimizeSchema(schema) {
|
|
143
|
+
if (!schema || typeof schema !== "object") {
|
|
144
|
+
return schema;
|
|
145
|
+
}
|
|
146
|
+
const optimized = {};
|
|
147
|
+
// Keep essential schema fields
|
|
148
|
+
const essentialFields = [
|
|
149
|
+
"type",
|
|
150
|
+
"format",
|
|
151
|
+
"enum",
|
|
152
|
+
"items",
|
|
153
|
+
"properties",
|
|
154
|
+
"required",
|
|
155
|
+
"additionalProperties",
|
|
156
|
+
"minimum",
|
|
157
|
+
"maximum",
|
|
158
|
+
"minLength",
|
|
159
|
+
"maxLength",
|
|
160
|
+
"pattern",
|
|
161
|
+
"minItems",
|
|
162
|
+
"maxItems",
|
|
163
|
+
"uniqueItems",
|
|
164
|
+
"default",
|
|
165
|
+
"example",
|
|
166
|
+
"nullable",
|
|
167
|
+
"oneOf",
|
|
168
|
+
"anyOf",
|
|
169
|
+
"allOf",
|
|
170
|
+
];
|
|
171
|
+
for (const field of essentialFields) {
|
|
172
|
+
if (schema[field] !== undefined) {
|
|
173
|
+
if (field === "properties" && typeof schema[field] === "object") {
|
|
174
|
+
// Recursively optimize nested properties
|
|
175
|
+
optimized[field] = {};
|
|
176
|
+
for (const [propName, propSchema] of Object.entries(schema[field])) {
|
|
177
|
+
optimized[field][propName] = optimizeSchema(propSchema);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else if (field === "items") {
|
|
181
|
+
// Recursively optimize array items
|
|
182
|
+
optimized[field] = optimizeSchema(schema[field]);
|
|
183
|
+
}
|
|
184
|
+
else if (field === "additionalProperties" && typeof schema[field] === "object") {
|
|
185
|
+
// Recursively optimize additionalProperties
|
|
186
|
+
optimized[field] = optimizeSchema(schema[field]);
|
|
187
|
+
}
|
|
188
|
+
else if (["oneOf", "anyOf", "allOf"].includes(field) && Array.isArray(schema[field])) {
|
|
189
|
+
// Recursively optimize composition schemas
|
|
190
|
+
optimized[field] = schema[field].map((s) => optimizeSchema(s));
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
optimized[field] = schema[field];
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// Add optimized description if present
|
|
198
|
+
if (schema.description) {
|
|
199
|
+
optimized.description = optimizeDescription(schema.description);
|
|
200
|
+
}
|
|
201
|
+
return optimized;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Calculate size reduction statistics
|
|
205
|
+
*
|
|
206
|
+
* @param original - Original data
|
|
207
|
+
* @param optimized - Optimized data
|
|
208
|
+
* @returns Size statistics
|
|
209
|
+
*/
|
|
210
|
+
export function calculateSizeReduction(original, optimized) {
|
|
211
|
+
const originalStr = JSON.stringify(original);
|
|
212
|
+
const optimizedStr = JSON.stringify(optimized);
|
|
213
|
+
const originalSize = originalStr.length;
|
|
214
|
+
const optimizedSize = optimizedStr.length;
|
|
215
|
+
const reductionPercent = ((originalSize - optimizedSize) / originalSize) * 100;
|
|
216
|
+
return {
|
|
217
|
+
originalSize,
|
|
218
|
+
optimizedSize,
|
|
219
|
+
reductionPercent: Math.round(reductionPercent * 100) / 100,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=optimizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../src/build/optimizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAPI Parsing Module with Dereferencing
|
|
3
|
+
*
|
|
4
|
+
* This module handles:
|
|
5
|
+
* - Loading OpenAPI specs (JSON/YAML)
|
|
6
|
+
* - Dereferencing all $ref pointers
|
|
7
|
+
* - Handling circular references
|
|
8
|
+
* - Creating self-contained schemas
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Parse and dereference an OpenAPI specification
|
|
12
|
+
*
|
|
13
|
+
* @param filePath - Path to the OpenAPI specification file
|
|
14
|
+
* @returns Fully dereferenced OpenAPI document
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseAndDereference(filePath: string): Promise<any>;
|
|
17
|
+
/**
|
|
18
|
+
* Get all endpoints from the dereferenced OpenAPI document
|
|
19
|
+
*
|
|
20
|
+
* @param api - Dereferenced OpenAPI document
|
|
21
|
+
* @returns Array of endpoint definitions with path, method, and operation
|
|
22
|
+
*/
|
|
23
|
+
export declare function extractEndpoints(api: any): Array<{
|
|
24
|
+
path: string;
|
|
25
|
+
method: string;
|
|
26
|
+
operation: any;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Get security schemes from the OpenAPI document
|
|
30
|
+
*
|
|
31
|
+
* @param api - OpenAPI document
|
|
32
|
+
* @returns Map of security scheme names to definitions
|
|
33
|
+
*/
|
|
34
|
+
export declare function extractSecuritySchemes(api: any): Map<string, any>;
|
|
35
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/build/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAsBxE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;CAChB,CAAC,CA2BD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAWjE"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAPI Parsing Module with Dereferencing
|
|
3
|
+
*
|
|
4
|
+
* This module handles:
|
|
5
|
+
* - Loading OpenAPI specs (JSON/YAML)
|
|
6
|
+
* - Dereferencing all $ref pointers
|
|
7
|
+
* - Handling circular references
|
|
8
|
+
* - Creating self-contained schemas
|
|
9
|
+
*/
|
|
10
|
+
import OpenAPIParser from "@readme/openapi-parser";
|
|
11
|
+
/**
|
|
12
|
+
* Parse and dereference an OpenAPI specification
|
|
13
|
+
*
|
|
14
|
+
* @param filePath - Path to the OpenAPI specification file
|
|
15
|
+
* @returns Fully dereferenced OpenAPI document
|
|
16
|
+
*/
|
|
17
|
+
export async function parseAndDereference(filePath) {
|
|
18
|
+
console.log(`[Parser] Loading OpenAPI spec from: ${filePath}`);
|
|
19
|
+
console.log(`[Parser] Current working directory: ${process.cwd()}`);
|
|
20
|
+
const startTime = Date.now();
|
|
21
|
+
const filename = "public.yaml";
|
|
22
|
+
try {
|
|
23
|
+
// Try bundle first - this resolves external references but keeps internal ones
|
|
24
|
+
console.log(`[Parser] Bundling OpenAPI spec (resolving external references)...`);
|
|
25
|
+
const api = await OpenAPIParser.bundle(filename);
|
|
26
|
+
const duration = Date.now() - startTime;
|
|
27
|
+
console.log(`[Parser] Successfully bundled spec in ${duration}ms`);
|
|
28
|
+
console.log(`[Parser] Note: Using bundled spec (internal $refs preserved for manual handling)`);
|
|
29
|
+
return api;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error(`[Parser] Failed to parse OpenAPI spec:`);
|
|
33
|
+
console.error(error);
|
|
34
|
+
throw new Error(`Failed to parse OpenAPI specification: ${error}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get all endpoints from the dereferenced OpenAPI document
|
|
39
|
+
*
|
|
40
|
+
* @param api - Dereferenced OpenAPI document
|
|
41
|
+
* @returns Array of endpoint definitions with path, method, and operation
|
|
42
|
+
*/
|
|
43
|
+
export function extractEndpoints(api) {
|
|
44
|
+
const endpoints = [];
|
|
45
|
+
if (!api.paths) {
|
|
46
|
+
console.warn("[Parser] No paths found in OpenAPI spec");
|
|
47
|
+
return endpoints;
|
|
48
|
+
}
|
|
49
|
+
for (const [path, pathItem] of Object.entries(api.paths)) {
|
|
50
|
+
if (!pathItem)
|
|
51
|
+
continue;
|
|
52
|
+
const methods = ["get", "post", "put", "delete", "patch", "options", "head", "trace"];
|
|
53
|
+
for (const method of methods) {
|
|
54
|
+
const operation = pathItem[method];
|
|
55
|
+
if (operation) {
|
|
56
|
+
endpoints.push({
|
|
57
|
+
path,
|
|
58
|
+
method: method.toUpperCase(),
|
|
59
|
+
operation,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
console.log(`[Parser] Extracted ${endpoints.length} endpoints from spec`);
|
|
65
|
+
return endpoints;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get security schemes from the OpenAPI document
|
|
69
|
+
*
|
|
70
|
+
* @param api - OpenAPI document
|
|
71
|
+
* @returns Map of security scheme names to definitions
|
|
72
|
+
*/
|
|
73
|
+
export function extractSecuritySchemes(api) {
|
|
74
|
+
const schemes = new Map();
|
|
75
|
+
if (api.components?.securitySchemes) {
|
|
76
|
+
for (const [name, scheme] of Object.entries(api.components.securitySchemes)) {
|
|
77
|
+
schemes.set(name, scheme);
|
|
78
|
+
}
|
|
79
|
+
console.log(`[Parser] Extracted ${schemes.size} security schemes`);
|
|
80
|
+
}
|
|
81
|
+
return schemes;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/build/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC;IAE/B,IAAI,CAAC;QACH,+EAA+E;QAC/E,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAEhG,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAQ;IAKvC,MAAM,SAAS,GAA4D,EAAE,CAAC;IAE9E,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAI,QAAgB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI;oBACJ,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;oBAC5B,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,MAAM,sBAAsB,CAAC,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAQ;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IAEvC,IAAI,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,IAAI,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the build pipeline
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Optimized endpoint definition that will be bundled with the server
|
|
6
|
+
*/
|
|
7
|
+
export interface OptimizedEndpoint {
|
|
8
|
+
path: string;
|
|
9
|
+
method: string;
|
|
10
|
+
operationId?: string;
|
|
11
|
+
summary?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
deprecated?: boolean;
|
|
14
|
+
parameters?: OptimizedParameter[];
|
|
15
|
+
requestBody?: OptimizedRequestBody;
|
|
16
|
+
responses?: Record<string, OptimizedResponse>;
|
|
17
|
+
tags?: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Optimized parameter definition (fully dereferenced)
|
|
21
|
+
*/
|
|
22
|
+
export interface OptimizedParameter {
|
|
23
|
+
name: string;
|
|
24
|
+
in: "query" | "header" | "path" | "cookie";
|
|
25
|
+
description?: string;
|
|
26
|
+
required?: boolean;
|
|
27
|
+
schema?: any;
|
|
28
|
+
example?: any;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Optimized request body definition
|
|
32
|
+
*/
|
|
33
|
+
export interface OptimizedRequestBody {
|
|
34
|
+
description?: string;
|
|
35
|
+
required?: boolean;
|
|
36
|
+
content?: Record<string, OptimizedMediaType>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Optimized media type definition
|
|
40
|
+
*/
|
|
41
|
+
export interface OptimizedMediaType {
|
|
42
|
+
schema?: any;
|
|
43
|
+
example?: any;
|
|
44
|
+
examples?: Record<string, any>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Optimized response definition
|
|
48
|
+
*/
|
|
49
|
+
export interface OptimizedResponse {
|
|
50
|
+
description: string;
|
|
51
|
+
content?: Record<string, OptimizedMediaType>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Build output that will be saved and bundled with the server
|
|
55
|
+
*/
|
|
56
|
+
export interface BuildOutput {
|
|
57
|
+
endpoints: OptimizedEndpoint[];
|
|
58
|
+
info: {
|
|
59
|
+
title: string;
|
|
60
|
+
version: string;
|
|
61
|
+
description?: string;
|
|
62
|
+
};
|
|
63
|
+
servers?: Array<{
|
|
64
|
+
url: string;
|
|
65
|
+
description?: string;
|
|
66
|
+
}>;
|
|
67
|
+
buildTimestamp: string;
|
|
68
|
+
stats: BuildStats;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Build statistics for monitoring optimization effectiveness
|
|
72
|
+
*/
|
|
73
|
+
export interface BuildStats {
|
|
74
|
+
totalEndpoints: number;
|
|
75
|
+
originalSize: number;
|
|
76
|
+
optimizedSize: number;
|
|
77
|
+
reductionPercent: number;
|
|
78
|
+
buildDuration: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Configuration for the build pipeline
|
|
82
|
+
*/
|
|
83
|
+
export interface BuildConfig {
|
|
84
|
+
inputPath: string;
|
|
85
|
+
outputPath: string;
|
|
86
|
+
enableFlattening: boolean;
|
|
87
|
+
enableOptimization: boolean;
|
|
88
|
+
enableZodGeneration: boolean;
|
|
89
|
+
verbose: boolean;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/build/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/build/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod Schema Generation Module
|
|
3
|
+
*
|
|
4
|
+
* This module handles:
|
|
5
|
+
* - Converting OpenAPI schemas to Zod validation schemas
|
|
6
|
+
* - Supporting complex types, enums, unions, and validation rules
|
|
7
|
+
* - Enabling runtime type safety and parameter validation
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Generate Zod schema code from OpenAPI JSON schema
|
|
11
|
+
*
|
|
12
|
+
* @param schema - OpenAPI JSON schema
|
|
13
|
+
* @returns Zod schema as a string of TypeScript code
|
|
14
|
+
*/
|
|
15
|
+
export declare function generateZodSchema(schema: any): string;
|
|
16
|
+
/**
|
|
17
|
+
* Generate Zod schema for request parameters
|
|
18
|
+
*
|
|
19
|
+
* @param parameters - Array of parameter definitions
|
|
20
|
+
* @returns Object with Zod schemas for different parameter locations
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateParameterSchemas(parameters: any[]): {
|
|
23
|
+
path?: string;
|
|
24
|
+
query?: string;
|
|
25
|
+
header?: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Generate complete Zod schemas file for all endpoints
|
|
29
|
+
*
|
|
30
|
+
* @param endpoints - Array of optimized endpoints
|
|
31
|
+
* @returns TypeScript code for Zod schemas
|
|
32
|
+
*/
|
|
33
|
+
export declare function generateZodSchemasFile(endpoints: any[]): string;
|
|
34
|
+
//# sourceMappingURL=zod-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-generator.d.ts","sourceRoot":"","sources":["../../src/build/zod-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAsBrD;AAuOD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CA0CA;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CA2C/D"}
|