@tellescope/schema 1.237.6 → 1.239.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/lib/cjs/generate-openapi.d.ts +106 -0
- package/lib/cjs/generate-openapi.d.ts.map +1 -0
- package/lib/cjs/generate-openapi.js +1148 -0
- package/lib/cjs/generate-openapi.js.map +1 -0
- package/lib/cjs/schema.d.ts +4 -0
- package/lib/cjs/schema.d.ts.map +1 -1
- package/lib/cjs/schema.js +8 -4
- package/lib/cjs/schema.js.map +1 -1
- package/lib/esm/generate-openapi.d.ts +106 -0
- package/lib/esm/generate-openapi.d.ts.map +1 -0
- package/lib/esm/generate-openapi.js +1123 -0
- package/lib/esm/generate-openapi.js.map +1 -0
- package/lib/esm/schema.d.ts +4 -0
- package/lib/esm/schema.d.ts.map +1 -1
- package/lib/esm/schema.js +9 -5
- package/lib/esm/schema.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/openapi.json +139944 -0
- package/package.json +9 -9
- package/src/generate-openapi.ts +1268 -0
- package/src/schema.ts +17 -7
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
#!/usr/bin/env npx ts-node
|
|
2
|
+
/**
|
|
3
|
+
* OpenAPI 3.0 Specification Generator for Tellescope API
|
|
4
|
+
*
|
|
5
|
+
* This script generates an OpenAPI 3.0 JSON specification from the Tellescope schema.
|
|
6
|
+
* It reads the schema definitions and produces a complete API documentation.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* cd packages/public/schema
|
|
10
|
+
* npx ts-node src/generate-openapi.ts [output-path]
|
|
11
|
+
*
|
|
12
|
+
* Default output: ./openapi.json
|
|
13
|
+
*/
|
|
14
|
+
interface OpenAPISchemaType {
|
|
15
|
+
type?: string;
|
|
16
|
+
format?: string;
|
|
17
|
+
items?: OpenAPISchemaType;
|
|
18
|
+
properties?: Record<string, OpenAPISchemaType>;
|
|
19
|
+
additionalProperties?: OpenAPISchemaType | boolean;
|
|
20
|
+
$ref?: string;
|
|
21
|
+
oneOf?: OpenAPISchemaType[];
|
|
22
|
+
anyOf?: OpenAPISchemaType[];
|
|
23
|
+
example?: any;
|
|
24
|
+
required?: string[];
|
|
25
|
+
nullable?: boolean;
|
|
26
|
+
description?: string;
|
|
27
|
+
enum?: string[];
|
|
28
|
+
pattern?: string;
|
|
29
|
+
minimum?: number;
|
|
30
|
+
maximum?: number;
|
|
31
|
+
}
|
|
32
|
+
interface OpenAPIParameter {
|
|
33
|
+
name: string;
|
|
34
|
+
in: 'path' | 'query' | 'header' | 'cookie';
|
|
35
|
+
required?: boolean;
|
|
36
|
+
schema: OpenAPISchemaType;
|
|
37
|
+
description?: string;
|
|
38
|
+
}
|
|
39
|
+
interface OpenAPIRequestBody {
|
|
40
|
+
required?: boolean;
|
|
41
|
+
content: {
|
|
42
|
+
'application/json': {
|
|
43
|
+
schema: OpenAPISchemaType;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
interface OpenAPIResponse {
|
|
48
|
+
description: string;
|
|
49
|
+
content?: {
|
|
50
|
+
'application/json': {
|
|
51
|
+
schema: OpenAPISchemaType;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
interface OpenAPIOperation {
|
|
56
|
+
summary?: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
tags?: string[];
|
|
59
|
+
operationId?: string;
|
|
60
|
+
security?: Array<Record<string, string[]>>;
|
|
61
|
+
parameters?: OpenAPIParameter[];
|
|
62
|
+
requestBody?: OpenAPIRequestBody;
|
|
63
|
+
responses: Record<string, OpenAPIResponse | {
|
|
64
|
+
$ref: string;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
interface OpenAPIPathItem {
|
|
68
|
+
get?: OpenAPIOperation;
|
|
69
|
+
post?: OpenAPIOperation;
|
|
70
|
+
patch?: OpenAPIOperation;
|
|
71
|
+
put?: OpenAPIOperation;
|
|
72
|
+
delete?: OpenAPIOperation;
|
|
73
|
+
}
|
|
74
|
+
interface OpenAPISpec {
|
|
75
|
+
openapi: string;
|
|
76
|
+
info: {
|
|
77
|
+
title: string;
|
|
78
|
+
version: string;
|
|
79
|
+
description: string;
|
|
80
|
+
contact?: {
|
|
81
|
+
email?: string;
|
|
82
|
+
url?: string;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
servers: Array<{
|
|
86
|
+
url: string;
|
|
87
|
+
description: string;
|
|
88
|
+
}>;
|
|
89
|
+
paths: Record<string, OpenAPIPathItem>;
|
|
90
|
+
components: {
|
|
91
|
+
schemas: Record<string, OpenAPISchemaType>;
|
|
92
|
+
securitySchemes: Record<string, any>;
|
|
93
|
+
responses: Record<string, OpenAPIResponse>;
|
|
94
|
+
};
|
|
95
|
+
tags: Array<{
|
|
96
|
+
name: string;
|
|
97
|
+
description?: string;
|
|
98
|
+
}>;
|
|
99
|
+
security: Array<Record<string, string[]>>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Generate the complete OpenAPI specification
|
|
103
|
+
*/
|
|
104
|
+
declare function generateOpenAPISpec(): OpenAPISpec;
|
|
105
|
+
export { generateOpenAPISpec, OpenAPISpec };
|
|
106
|
+
//# sourceMappingURL=generate-openapi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-openapi.d.ts","sourceRoot":"","sources":["../../src/generate-openapi.ts"],"names":[],"mappings":"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"}
|