inviton-backduck 1.0.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.
Files changed (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +302 -0
  3. package/dist/apidoc/api-doc-generator.d.ts +58 -0
  4. package/dist/apidoc/api-doc-generator.d.ts.map +1 -0
  5. package/dist/apidoc/api-doc-generator.js +201 -0
  6. package/dist/apidoc/api-doc-generator.js.map +1 -0
  7. package/dist/apidoc/config.d.ts +153 -0
  8. package/dist/apidoc/config.d.ts.map +1 -0
  9. package/dist/apidoc/config.js +254 -0
  10. package/dist/apidoc/config.js.map +1 -0
  11. package/dist/apidoc/controller-parser.d.ts +208 -0
  12. package/dist/apidoc/controller-parser.d.ts.map +1 -0
  13. package/dist/apidoc/controller-parser.js +686 -0
  14. package/dist/apidoc/controller-parser.js.map +1 -0
  15. package/dist/apidoc/html-generator.d.ts +290 -0
  16. package/dist/apidoc/html-generator.d.ts.map +1 -0
  17. package/dist/apidoc/html-generator.js +2295 -0
  18. package/dist/apidoc/html-generator.js.map +1 -0
  19. package/dist/apidoc/index.d.ts +20 -0
  20. package/dist/apidoc/index.d.ts.map +1 -0
  21. package/dist/apidoc/index.js +16 -0
  22. package/dist/apidoc/index.js.map +1 -0
  23. package/dist/apidoc/openapi-builder.d.ts +169 -0
  24. package/dist/apidoc/openapi-builder.d.ts.map +1 -0
  25. package/dist/apidoc/openapi-builder.js +634 -0
  26. package/dist/apidoc/openapi-builder.js.map +1 -0
  27. package/dist/apidoc/parameterGeneratorRegistry.d.ts +20 -0
  28. package/dist/apidoc/parameterGeneratorRegistry.d.ts.map +1 -0
  29. package/dist/apidoc/parameterGeneratorRegistry.js +6 -0
  30. package/dist/apidoc/parameterGeneratorRegistry.js.map +1 -0
  31. package/dist/apidoc/test-type-resolver.d.ts +2 -0
  32. package/dist/apidoc/test-type-resolver.d.ts.map +1 -0
  33. package/dist/apidoc/test-type-resolver.js +6 -0
  34. package/dist/apidoc/test-type-resolver.js.map +1 -0
  35. package/dist/apidoc/type-resolver.d.ts +266 -0
  36. package/dist/apidoc/type-resolver.d.ts.map +1 -0
  37. package/dist/apidoc/type-resolver.js +1226 -0
  38. package/dist/apidoc/type-resolver.js.map +1 -0
  39. package/dist/apidoc/verify-type-resolution.d.ts +3 -0
  40. package/dist/apidoc/verify-type-resolution.d.ts.map +1 -0
  41. package/dist/apidoc/verify-type-resolution.js +29 -0
  42. package/dist/apidoc/verify-type-resolution.js.map +1 -0
  43. package/dist/bun/bunRouter.d.ts +70 -0
  44. package/dist/bun/bunRouter.d.ts.map +1 -0
  45. package/dist/bun/bunRouter.js +324 -0
  46. package/dist/bun/bunRouter.js.map +1 -0
  47. package/dist/bun/bunServer.d.ts +72 -0
  48. package/dist/bun/bunServer.d.ts.map +1 -0
  49. package/dist/bun/bunServer.js +218 -0
  50. package/dist/bun/bunServer.js.map +1 -0
  51. package/dist/bun/bunStaticFiles.d.ts +76 -0
  52. package/dist/bun/bunStaticFiles.d.ts.map +1 -0
  53. package/dist/bun/bunStaticFiles.js +251 -0
  54. package/dist/bun/bunStaticFiles.js.map +1 -0
  55. package/dist/bun/index.d.ts +7 -0
  56. package/dist/bun/index.d.ts.map +1 -0
  57. package/dist/bun/index.js +7 -0
  58. package/dist/bun/index.js.map +1 -0
  59. package/dist/data-contracts.d.ts +132 -0
  60. package/dist/data-contracts.d.ts.map +1 -0
  61. package/dist/data-contracts.js +2 -0
  62. package/dist/data-contracts.js.map +1 -0
  63. package/dist/decorators.d.ts +75 -0
  64. package/dist/decorators.d.ts.map +1 -0
  65. package/dist/decorators.js +101 -0
  66. package/dist/decorators.js.map +1 -0
  67. package/dist/express/expressFrontendRouter.d.ts +17 -0
  68. package/dist/express/expressFrontendRouter.d.ts.map +1 -0
  69. package/dist/express/expressFrontendRouter.js +33 -0
  70. package/dist/express/expressFrontendRouter.js.map +1 -0
  71. package/dist/express/expressRouter.d.ts +25 -0
  72. package/dist/express/expressRouter.d.ts.map +1 -0
  73. package/dist/express/expressRouter.js +150 -0
  74. package/dist/express/expressRouter.js.map +1 -0
  75. package/dist/express/index.d.ts +6 -0
  76. package/dist/express/index.d.ts.map +1 -0
  77. package/dist/express/index.js +6 -0
  78. package/dist/express/index.js.map +1 -0
  79. package/dist/index.d.ts +47 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +52 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/router.d.ts +162 -0
  84. package/dist/router.d.ts.map +1 -0
  85. package/dist/router.js +350 -0
  86. package/dist/router.js.map +1 -0
  87. package/dist/runtime-detect.d.ts +20 -0
  88. package/dist/runtime-detect.d.ts.map +1 -0
  89. package/dist/runtime-detect.js +20 -0
  90. package/dist/runtime-detect.js.map +1 -0
  91. package/dist/server.d.ts +126 -0
  92. package/dist/server.d.ts.map +1 -0
  93. package/dist/server.js +181 -0
  94. package/dist/server.js.map +1 -0
  95. package/dist/utils.d.ts +83 -0
  96. package/dist/utils.d.ts.map +1 -0
  97. package/dist/utils.js +157 -0
  98. package/dist/utils.js.map +1 -0
  99. package/package.json +65 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Registry mapping parameter generator names to functions.
3
+ * Functions take args as (string | number)[] and return SwaggerParameter[].
4
+ */
5
+ export const parameterGeneratorRegistry = {};
6
+ //# sourceMappingURL=parameterGeneratorRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameterGeneratorRegistry.js","sourceRoot":"","sources":["../../src/apidoc/parameterGeneratorRegistry.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAyE,EAE/G,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-type-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-type-resolver.d.ts","sourceRoot":"","sources":["../../src/apidoc/test-type-resolver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import path from 'node:path';
2
+ import { TypeResolver } from './type-resolver';
3
+ const serverDir = path.join(__dirname, '..', '..', '..');
4
+ const r = new TypeResolver(serverDir);
5
+ console.log(typeof r.resolveType === 'function' ? 'OK' : 'FAIL');
6
+ //# sourceMappingURL=test-type-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-type-resolver.js","sourceRoot":"","sources":["../../src/apidoc/test-type-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAC1B,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,IAAI,CACJ,CAAC;AACF,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;AACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,266 @@
1
+ import type { PropertySignature, SourceFile, Type } from 'ts-morph';
2
+ /**
3
+ * Represents a resolved property from a TypeScript interface
4
+ */
5
+ export interface ResolvedProperty {
6
+ /** Property name */
7
+ name: string;
8
+ /** OpenAPI-compatible type descriptor */
9
+ type: OpenApiType;
10
+ /** Whether the property is optional */
11
+ optional: boolean;
12
+ /** JSDoc description */
13
+ description: string | null;
14
+ }
15
+ /**
16
+ * OpenAPI type descriptor
17
+ */
18
+ export interface OpenApiType {
19
+ /** OpenAPI type (string, number, integer, boolean, array, object) - optional when using $ref or oneOf */
20
+ 'type'?: string;
21
+ /** Format for string types (date, date-time, etc.) */
22
+ 'format'?: string;
23
+ /** Description from JSDoc or type definition */
24
+ 'description'?: string;
25
+ /** For array types, describes the item type */
26
+ 'items'?: OpenApiType;
27
+ /** For object types, describes the properties */
28
+ 'properties'?: Record<string, OpenApiType>;
29
+ /** Required property names for object types */
30
+ 'required'?: string[];
31
+ /** Reference to another schema (for $ref) */
32
+ '$ref'?: string;
33
+ /** Enum values */
34
+ 'enum'?: (string | number)[];
35
+ /** Enum members with names and descriptions (OpenAPI extension) */
36
+ 'x-enum-members'?: EnumMember[];
37
+ /** For union types (oneOf) */
38
+ 'oneOf'?: OpenApiType[];
39
+ /** For nullable types */
40
+ 'nullable'?: boolean;
41
+ /** Additional properties for object types */
42
+ 'additionalProperties'?: boolean | OpenApiType;
43
+ /** Example value for the type */
44
+ 'example'?: unknown;
45
+ /** Marks this field as only available in enterprise mode (OpenAPI extension) */
46
+ 'x-enterprise-only'?: boolean;
47
+ }
48
+ /**
49
+ * Resolved type information including all properties
50
+ */
51
+ /**
52
+ * Enum member with name, value, and description
53
+ */
54
+ export interface EnumMember {
55
+ /** Member name (e.g., "SHOP") */
56
+ name: string;
57
+ /** Member value (e.g., 0 or "active") */
58
+ value: string | number;
59
+ /** JSDoc description if available */
60
+ description: string | null;
61
+ }
62
+ export interface ResolvedType {
63
+ /** Type name */
64
+ name: string;
65
+ /** Full type description */
66
+ description: string | null;
67
+ /** Resolved properties (flattened from inheritance) */
68
+ properties: ResolvedProperty[];
69
+ /** Whether this is an enum type */
70
+ isEnum: boolean;
71
+ /** Enum values if applicable (deprecated, use enumMembers instead) */
72
+ enumValues?: (string | number)[];
73
+ /** Enum members with full info (name, value, description) */
74
+ enumMembers?: EnumMember[];
75
+ /** Original file path where type is defined */
76
+ sourcePath: string | null;
77
+ }
78
+ /**
79
+ * TypeScript type resolver for OpenAPI schema generation
80
+ * Handles inheritance, utility types (Pick, Omit), Temporal types, and JSDoc extraction
81
+ */
82
+ export declare class TypeResolver {
83
+ private project;
84
+ private serverDir;
85
+ private resolvedTypes;
86
+ private resolvingStack;
87
+ private serviceInterfaceCache;
88
+ private conversionDepth;
89
+ private readonly MAX_CONVERSION_DEPTH;
90
+ /** Cache for OpenAPI type conversions keyed by type text */
91
+ private openApiTypeCache;
92
+ /** Cache for loaded source files */
93
+ private sourceFileCache;
94
+ /** Cache for directory file listings */
95
+ private directoryFilesCache;
96
+ constructor(serverDir: string);
97
+ /**
98
+ * Resolve a type by name and return its OpenAPI schema
99
+ */
100
+ resolveType(typeName: string, sourceFile?: SourceFile): ResolvedType | null;
101
+ /**
102
+ * Convert a resolved type to OpenAPI schema
103
+ */
104
+ typeToOpenApiSchema(resolvedType: ResolvedType): OpenApiType;
105
+ /**
106
+ * Convert a TypeScript type directly to OpenAPI type
107
+ */
108
+ tsTypeToOpenApi(type: Type, propertyName?: string): OpenApiType;
109
+ /**
110
+ * Internal implementation of tsTypeToOpenApi
111
+ */
112
+ private tsTypeToOpenApiInternal;
113
+ /**
114
+ * Extract JSDoc description from a property
115
+ */
116
+ extractPropertyJsDoc(property: PropertySignature): string | null;
117
+ /**
118
+ * Check if JSDoc contains @privateField tag (case insensitive)
119
+ * Fields with this tag should be omitted from API documentation
120
+ */
121
+ private hasPrivateFieldTag;
122
+ /**
123
+ * Check if JSDoc contains @enterpriseOnly tag (case insensitive)
124
+ * Fields with this tag are only available in enterprise mode
125
+ */
126
+ private hasEnterpriseOnlyTag;
127
+ /**
128
+ * Clean JSDoc description by removing other JSDoc tags but preserving {@link} tags
129
+ * The {@link} tags will be converted to HTML links later by the HTML generator
130
+ * @param description The raw JSDoc description
131
+ * @param preserveNewlines Whether to preserve newlines (default: false for backward compatibility)
132
+ */
133
+ private cleanJsDocDescription;
134
+ /**
135
+ * Get all resolved types (for component schemas)
136
+ */
137
+ getAllResolvedTypes(): Map<string, ResolvedType>;
138
+ /**
139
+ * Clear the resolved types cache
140
+ */
141
+ clearCache(): void;
142
+ /**
143
+ * Add a source file to the project for type resolution (with caching)
144
+ */
145
+ addSourceFile(filePath: string): SourceFile | undefined;
146
+ /**
147
+ * Extract extra parameters generator info from @extraParameters JSDoc tag in service interface method.
148
+ * @param interfaceName The name of the service interface (e.g., "IOfferService")
149
+ * @param methodName The name of the method to extract extra parameters from
150
+ * @returns Extra parameter generator info or null if not found
151
+ */
152
+ extractServiceMethodExtraParameters(interfaceName: string, methodName: string): {
153
+ name: string;
154
+ args: (string | number)[];
155
+ } | null;
156
+ /**
157
+ * Extract extra parameters generator info from JSDoc
158
+ */
159
+ private extractExtraParametersFromJsDoc;
160
+ /**
161
+ * Extract extra parameters generator info from property JSDoc
162
+ */
163
+ private extractExtraParametersFromPropertyJsDoc;
164
+ /**
165
+ * Extract JSDoc description from a service interface method
166
+ * @param interfaceName The name of the service interface (e.g., "ICartService")
167
+ * @param methodName The name of the method to extract JSDoc from (e.g., "validateCart")
168
+ * @returns The JSDoc description or null if not found
169
+ */
170
+ extractServiceMethodJsDoc(interfaceName: string, methodName: string): string | null;
171
+ /**
172
+ * Internal type resolution logic
173
+ */
174
+ private resolveTypeInternal;
175
+ /**
176
+ * Resolve an interface declaration including inherited properties
177
+ */
178
+ private resolveInterface;
179
+ /**
180
+ * Resolve a class declaration including inherited properties
181
+ */
182
+ private resolveClass;
183
+ /**
184
+ * Resolve a class property declaration to ResolvedProperty
185
+ * Returns null if the property has @privateField tag
186
+ */
187
+ private resolveClassProperty;
188
+ /**
189
+ * Extract JSDoc description from a class property
190
+ */
191
+ private extractClassPropertyJsDoc;
192
+ /**
193
+ * Resolve a type alias declaration (handles Pick, Omit, etc.)
194
+ */
195
+ private resolveTypeAlias;
196
+ /**
197
+ * Resolve Pick<T, K> utility type
198
+ */
199
+ private resolvePickType;
200
+ /**
201
+ * Resolve Omit<T, K> utility type
202
+ */
203
+ private resolveOmitType;
204
+ /**
205
+ * Resolve Partial<T> utility type
206
+ */
207
+ private resolvePartialType;
208
+ /**
209
+ * Resolve Required<T> utility type
210
+ */
211
+ private resolveRequiredType;
212
+ /**
213
+ * Resolve intersection type alias (Type1 & Type2 & { extra })
214
+ */
215
+ private resolveIntersectionTypeAlias;
216
+ /**
217
+ * Resolve properties from a Type object
218
+ */
219
+ private resolveTypeProperties;
220
+ /**
221
+ * Resolve a property signature to ResolvedProperty
222
+ * Returns null if the property has @privateField tag
223
+ */
224
+ private resolveProperty;
225
+ /**
226
+ * Resolve type from a Symbol
227
+ */
228
+ private resolveTypeFromSymbol;
229
+ /**
230
+ * Find type declaration by name
231
+ */
232
+ private findTypeDeclaration;
233
+ /**
234
+ * Find type in a specific source file
235
+ */
236
+ private findTypeInSourceFile;
237
+ /**
238
+ * Extract JSDoc description from a node
239
+ */
240
+ private extractNodeJsDoc;
241
+ /**
242
+ * Parse union keys from a string like "'id' | 'name' | 'email'"
243
+ */
244
+ private parseUnionKeys;
245
+ /**
246
+ * Clean type name by removing import() paths and namespaces
247
+ */
248
+ private cleanTypeName;
249
+ /**
250
+ * Create an empty resolved type for error cases
251
+ */
252
+ private createEmptyResolvedType;
253
+ /**
254
+ * Find files recursively matching a pattern
255
+ */
256
+ private findFilesRecursive;
257
+ /**
258
+ * Walk directory recursively
259
+ */
260
+ private walkDirectory;
261
+ /**
262
+ * Convert glob pattern to regex
263
+ */
264
+ private globToRegex;
265
+ }
266
+ //# sourceMappingURL=type-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-resolver.d.ts","sourceRoot":"","sources":["../../src/apidoc/type-resolver.ts"],"names":[],"mappings":"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"}