@autobe/agent 0.21.0 → 0.22.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 (291) hide show
  1. package/lib/agent/src/AutoBeAgent.js +2 -2
  2. package/lib/agent/src/AutoBeAgent.js.map +1 -1
  3. package/lib/agent/src/constants/AutoBeConfigConstant.d.ts +3 -0
  4. package/lib/agent/src/{orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.js → constants/AutoBeConfigConstant.js} +1 -1
  5. package/lib/agent/src/constants/AutoBeConfigConstant.js.map +1 -0
  6. package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +27 -27
  7. package/lib/agent/src/context/AutoBeContext.d.ts +1 -0
  8. package/lib/agent/src/context/AutoBeTokenUsageComponent.js +4 -3
  9. package/lib/agent/src/context/AutoBeTokenUsageComponent.js.map +1 -1
  10. package/lib/agent/src/factory/consentFunctionCall.js +4 -4
  11. package/lib/agent/src/factory/consentFunctionCall.js.map +1 -1
  12. package/lib/agent/src/factory/createAutoBeContext.js +13 -10
  13. package/lib/agent/src/factory/createAutoBeContext.js.map +1 -1
  14. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js +1 -1
  15. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +1 -1
  16. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +2 -2
  17. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
  18. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js +1 -1
  19. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -1
  20. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js +6 -6
  21. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js +50 -8
  22. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  23. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js +4 -4
  24. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +6 -0
  25. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +4 -0
  26. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.js +1 -1
  27. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.js.map +1 -1
  28. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +19 -1
  29. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +1 -1
  30. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js +3 -3
  31. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -1
  32. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +1 -1
  33. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -1
  34. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +2 -2
  35. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +1 -1
  36. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js +2 -2
  37. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -1
  38. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js +1 -1
  39. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -1
  40. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +2 -2
  41. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -1
  42. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +1 -1
  43. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -1
  44. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.d.ts +1 -1
  45. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +2 -2
  46. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +1 -1
  47. package/lib/agent/src/orchestrate/interface/orchestrateInterface.js +5 -1
  48. package/lib/agent/src/orchestrate/interface/orchestrateInterface.js.map +1 -1
  49. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js +16 -10
  50. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
  51. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.d.ts +1 -1
  52. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js +3731 -228
  53. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
  54. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js +2 -2
  55. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +2 -2
  56. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js +43 -63
  57. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  58. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +1261 -1628
  59. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
  60. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js +3466 -103
  61. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
  62. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +6 -1
  63. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js +3672 -358
  64. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +1 -1
  65. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +0 -38
  66. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +48 -141
  67. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +29 -23
  68. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaFactory.d.ts +9 -0
  69. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaFactory.js +1385 -0
  70. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaFactory.js.map +1 -0
  71. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaNamingConvention.d.ts +5 -0
  72. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaNamingConvention.js +78 -0
  73. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaNamingConvention.js.map +1 -0
  74. package/lib/agent/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.d.ts +2 -0
  75. package/lib/agent/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js +81 -0
  76. package/lib/agent/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js.map +1 -0
  77. package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.js.map +1 -1
  78. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js +1 -1
  79. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -1
  80. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js +1 -1
  81. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +1 -1
  82. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js +2 -2
  83. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +1 -1
  84. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +1 -1
  85. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -1
  86. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.d.ts +1 -1
  87. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js +2 -2
  88. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  89. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js +1 -1
  90. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js.map +1 -1
  91. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js +2 -2
  92. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +1 -1
  93. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +6 -6
  94. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js +22 -7
  95. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +1 -1
  96. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +5 -8
  97. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +13 -29
  98. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
  99. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.d.ts +2 -2
  100. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.js +2 -8
  101. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.js.map +1 -1
  102. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js +6 -49
  103. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js.map +1 -1
  104. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js +4 -2
  105. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
  106. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +5 -3
  107. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
  108. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.d.ts +13 -6
  109. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js +206 -118
  110. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
  111. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.d.ts +2 -2
  112. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +1 -1
  113. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.d.ts +2 -2
  114. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js +24 -39
  115. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
  116. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +17 -0
  117. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +20 -0
  118. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.d.ts +33 -73
  119. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.d.ts +5 -0
  120. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.js +3 -0
  121. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.js.map +1 -0
  122. package/{src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.ts → lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.d.ts} +2 -13
  123. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.js +3 -0
  124. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.js.map +1 -0
  125. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +33 -22
  126. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.d.ts +31 -0
  127. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.js +86 -0
  128. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.js.map +1 -0
  129. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteDto.d.ts +4 -0
  130. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteDto.js +55 -0
  131. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteDto.js.map +1 -0
  132. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteImportStatements.d.ts +2 -0
  133. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteImportStatements.js +20 -0
  134. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteImportStatements.js.map +1 -0
  135. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteInputType.d.ts +30 -0
  136. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteInputType.js +73 -0
  137. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteInputType.js.map +1 -0
  138. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.d.ts +6 -2
  139. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js +63 -69
  140. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js.map +1 -1
  141. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js +15 -14
  142. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js.map +1 -1
  143. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js +1 -1
  144. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -1
  145. package/lib/agent/src/orchestrate/test/compile/getTestImportStatements.d.ts +2 -0
  146. package/lib/agent/src/orchestrate/test/compile/getTestImportStatements.js +19 -0
  147. package/lib/agent/src/orchestrate/test/compile/getTestImportStatements.js.map +1 -0
  148. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.d.ts +1 -1
  149. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.js +2 -0
  150. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -1
  151. package/lib/agent/src/orchestrate/test/compile/getTestTemplateCode.d.ts +2 -0
  152. package/lib/agent/src/orchestrate/test/compile/getTestTemplateCode.js +21 -0
  153. package/lib/agent/src/orchestrate/test/compile/getTestTemplateCode.js.map +1 -0
  154. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.d.ts +2 -2
  155. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js +16 -17
  156. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
  157. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +5 -4
  158. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -1
  159. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +21 -2
  160. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
  161. package/lib/agent/src/orchestrate/test/orchestrateTest.js +6 -0
  162. package/lib/agent/src/orchestrate/test/orchestrateTest.js.map +1 -1
  163. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.d.ts +1 -1
  164. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js +126 -72
  165. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  166. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js +46 -40
  167. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  168. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js +121 -42
  169. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  170. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +48 -45
  171. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.d.ts +6 -0
  172. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.js +3 -0
  173. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.js.map +1 -0
  174. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.d.ts +1 -0
  175. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +13 -0
  176. package/lib/agent/src/orchestrate/test/utils/getReferenceIds.d.ts +5 -0
  177. package/lib/agent/src/orchestrate/test/utils/getReferenceIds.js +28 -0
  178. package/lib/agent/src/orchestrate/test/utils/getReferenceIds.js.map +1 -0
  179. package/lib/agent/src/structures/IAutoBeConfig.d.ts +2 -0
  180. package/lib/constants/AutoBeConfigConstant.d.ts +3 -0
  181. package/lib/constants/AutoBeSystemPromptConstant.d.ts +27 -27
  182. package/lib/context/AutoBeContext.d.ts +1 -0
  183. package/lib/index.mjs +13805 -3871
  184. package/lib/index.mjs.map +1 -1
  185. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +6 -0
  186. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +4 -0
  187. package/lib/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.d.ts +1 -1
  188. package/lib/orchestrate/interface/orchestrateInterfaceComplement.d.ts +1 -1
  189. package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +6 -1
  190. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +0 -38
  191. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +48 -141
  192. package/lib/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +29 -23
  193. package/lib/orchestrate/interface/utils/JsonSchemaFactory.d.ts +9 -0
  194. package/lib/orchestrate/interface/utils/JsonSchemaNamingConvention.d.ts +5 -0
  195. package/lib/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.d.ts +2 -0
  196. package/lib/orchestrate/prisma/orchestratePrismaCorrect.d.ts +1 -1
  197. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +6 -6
  198. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +5 -8
  199. package/lib/orchestrate/realize/internal/compileRealizeFiles.d.ts +2 -2
  200. package/lib/orchestrate/realize/orchestrateRealizeCorrect.d.ts +13 -6
  201. package/lib/orchestrate/realize/orchestrateRealizeScenario.d.ts +2 -2
  202. package/lib/orchestrate/realize/orchestrateRealizeWrite.d.ts +2 -2
  203. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +17 -0
  204. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +20 -0
  205. package/lib/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.d.ts +33 -73
  206. package/lib/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.d.ts +5 -0
  207. package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.d.ts +36 -0
  208. package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +33 -22
  209. package/lib/orchestrate/realize/utils/getRealizeWriteCodeTemplate.d.ts +31 -0
  210. package/lib/orchestrate/realize/utils/getRealizeWriteDto.d.ts +4 -0
  211. package/lib/orchestrate/realize/utils/getRealizeWriteImportStatements.d.ts +2 -0
  212. package/lib/orchestrate/realize/utils/getRealizeWriteInputType.d.ts +30 -0
  213. package/lib/orchestrate/realize/utils/replaceImportStatements.d.ts +6 -2
  214. package/lib/orchestrate/test/compile/getTestImportStatements.d.ts +2 -0
  215. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.d.ts +1 -1
  216. package/lib/orchestrate/test/compile/getTestTemplateCode.d.ts +2 -0
  217. package/lib/orchestrate/test/histories/transformTestCorrectHistories.d.ts +2 -2
  218. package/lib/orchestrate/test/orchestrateTestCorrect.d.ts +1 -1
  219. package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +48 -45
  220. package/lib/orchestrate/test/structures/IAutoBeTestFunctionFailure.d.ts +6 -0
  221. package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.d.ts +1 -0
  222. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +13 -0
  223. package/lib/orchestrate/test/utils/getReferenceIds.d.ts +5 -0
  224. package/lib/structures/IAutoBeConfig.d.ts +2 -0
  225. package/package.json +5 -5
  226. package/src/AutoBeAgent.ts +2 -0
  227. package/src/constants/AutoBeConfigConstant.ts +3 -0
  228. package/src/constants/AutoBeSystemPromptConstant.ts +27 -27
  229. package/src/context/AutoBeContext.ts +1 -0
  230. package/src/context/AutoBeTokenUsageComponent.ts +3 -3
  231. package/src/factory/consentFunctionCall.ts +2 -0
  232. package/src/factory/createAutoBeContext.ts +145 -136
  233. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +6 -0
  234. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.ts +4 -0
  235. package/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.ts +19 -1
  236. package/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.ts +1 -4
  237. package/src/orchestrate/interface/orchestrateInterface.ts +15 -4
  238. package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +13 -5
  239. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +58 -19
  240. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +11 -11
  241. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +13 -117
  242. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +33 -91
  243. package/src/orchestrate/interface/orchestrateInterfaceSchemasReview.ts +72 -95
  244. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +0 -39
  245. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.ts +50 -146
  246. package/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.ts +31 -27
  247. package/src/orchestrate/interface/utils/JsonSchemaFactory.ts +171 -0
  248. package/src/orchestrate/interface/utils/JsonSchemaNamingConvention.ts +83 -0
  249. package/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.ts +90 -0
  250. package/src/orchestrate/interface/utils/validateAuthorizationSchema.ts +2 -2
  251. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +1 -2
  252. package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +30 -15
  253. package/src/orchestrate/realize/histories/transformRealizeWriteHistories.ts +27 -49
  254. package/src/orchestrate/realize/internal/compileRealizeFiles.ts +4 -11
  255. package/src/orchestrate/realize/orchestrateRealize.ts +19 -75
  256. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +1 -1
  257. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +114 -25
  258. package/src/orchestrate/realize/orchestrateRealizeScenario.ts +2 -2
  259. package/src/orchestrate/realize/orchestrateRealizeWrite.ts +11 -15
  260. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.ts +17 -0
  261. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +20 -0
  262. package/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.ts +40 -74
  263. package/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.ts +9 -0
  264. package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.ts +45 -0
  265. package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +33 -22
  266. package/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.ts +97 -0
  267. package/src/orchestrate/realize/utils/getRealizeWriteDto.ts +64 -0
  268. package/src/orchestrate/realize/utils/getRealizeWriteImportStatements.ts +29 -0
  269. package/src/orchestrate/realize/utils/getRealizeWriteInputType.ts +82 -0
  270. package/src/orchestrate/realize/utils/replaceImportStatements.ts +101 -111
  271. package/src/orchestrate/test/compile/completeTestCode.ts +15 -26
  272. package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +1 -0
  273. package/src/orchestrate/test/compile/getTestImportStatements.ts +25 -0
  274. package/src/orchestrate/test/compile/getTestScenarioArtifacts.ts +6 -1
  275. package/src/orchestrate/test/compile/getTestTemplateCode.ts +25 -0
  276. package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +26 -26
  277. package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +6 -5
  278. package/src/orchestrate/test/histories/transformTestWriteHistories.ts +19 -0
  279. package/src/orchestrate/test/orchestrateTest.ts +6 -0
  280. package/src/orchestrate/test/orchestrateTestCorrect.ts +46 -15
  281. package/src/orchestrate/test/orchestrateTestScenario.ts +52 -48
  282. package/src/orchestrate/test/orchestrateTestWrite.ts +23 -5
  283. package/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.ts +49 -46
  284. package/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.ts +8 -0
  285. package/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.ts +1 -0
  286. package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +14 -0
  287. package/src/orchestrate/test/utils/getReferenceIds.ts +25 -0
  288. package/src/structures/IAutoBeConfig.ts +3 -0
  289. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +0 -38
  290. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.js.map +0 -1
  291. package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +0 -38
@@ -57,11 +57,15 @@ const assertSchemaModel_1 = require("../../context/assertSchemaModel");
57
57
  const divideArray_1 = require("../../utils/divideArray");
58
58
  const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
59
59
  const transformInterfaceSchemaHistories_1 = require("./histories/transformInterfaceSchemaHistories");
60
- const orchestrateInterfaceSchemasReview_1 = require("./orchestrateInterfaceSchemasReview");
60
+ const JsonSchemaFactory_1 = require("./utils/JsonSchemaFactory");
61
+ const JsonSchemaNamingConvention_1 = require("./utils/JsonSchemaNamingConvention");
62
+ const fulfillJsonSchemaErrorMessages_1 = require("./utils/fulfillJsonSchemaErrorMessages");
61
63
  const validateAuthorizationSchema_1 = require("./utils/validateAuthorizationSchema");
62
64
  function orchestrateInterfaceSchemas(ctx_1, operations_1) {
63
- return __awaiter(this, arguments, void 0, function* (ctx, operations, capacity = 8) {
64
- var _a, _b;
65
+ return __awaiter(this, arguments, void 0, function* (ctx, operations, capacity = 5) {
66
+ // fix operation type names
67
+ JsonSchemaNamingConvention_1.JsonSchemaNamingConvention.operations(operations);
68
+ // gather type names
65
69
  const typeNames = new Set();
66
70
  for (const op of operations) {
67
71
  if (op.requestBody !== null)
@@ -69,6 +73,8 @@ function orchestrateInterfaceSchemas(ctx_1, operations_1) {
69
73
  if (op.responseBody !== null)
70
74
  typeNames.add(op.responseBody.typeName);
71
75
  }
76
+ const presets = JsonSchemaFactory_1.JsonSchemaFactory.presets(typeNames);
77
+ // divide and conquer
72
78
  const matrix = (0, divideArray_1.divideArray)({
73
79
  array: Array.from(typeNames),
74
80
  capacity,
@@ -77,33 +83,25 @@ function orchestrateInterfaceSchemas(ctx_1, operations_1) {
77
83
  total: typeNames.size,
78
84
  completed: 0,
79
85
  };
80
- const reviewProgress = {
81
- total: matrix.length,
82
- completed: 0,
83
- };
84
- const roles = (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.roles.map((role) => role.name)) !== null && _b !== void 0 ? _b : [];
85
- const x = roles.length > 0
86
- ? {
87
- IAuthorizationToken: authTokenSchema,
88
- }
89
- : {};
86
+ const x = Object.assign({}, presets);
90
87
  for (const y of yield (0, executeCachedBatch_1.executeCachedBatch)(matrix.map((it) => (promptCacheKey) => __awaiter(this, void 0, void 0, function* () {
91
- const row = yield divideAndConquer(ctx, operations, it, 3, progress, promptCacheKey);
92
- const newbie = yield (0, orchestrateInterfaceSchemasReview_1.orchestrateInterfaceSchemasReview)(ctx, operations, row, reviewProgress);
93
- return Object.assign(Object.assign({}, row), newbie);
88
+ const row = yield divideAndConquer(ctx, operations, it, progress, promptCacheKey);
89
+ return row;
94
90
  })))) {
91
+ JsonSchemaNamingConvention_1.JsonSchemaNamingConvention.schemas(operations, x, y);
95
92
  Object.assign(x, y);
96
93
  }
97
- if (x.IAuthorizationToken)
98
- x.IAuthorizationToken = authTokenSchema;
94
+ Object.assign(x, presets);
95
+ JsonSchemaNamingConvention_1.JsonSchemaNamingConvention.schemas(operations, x);
96
+ JsonSchemaFactory_1.JsonSchemaFactory.authorize(x);
99
97
  return x;
100
98
  });
101
99
  }
102
- function divideAndConquer(ctx, operations, typeNames, retry, progress, promptCacheKey) {
100
+ function divideAndConquer(ctx, operations, typeNames, progress, promptCacheKey) {
103
101
  return __awaiter(this, void 0, void 0, function* () {
104
102
  const remained = new Set(typeNames);
105
103
  const schemas = {};
106
- for (let i = 0; i < retry; ++i) {
104
+ for (let i = 0; i < ctx.retry; ++i) {
107
105
  if (remained.size === 0)
108
106
  break;
109
107
  const newbie = yield process(ctx, operations, schemas, remained, progress, promptCacheKey);
@@ -159,9 +157,9 @@ function process(ctx, operations, oldbie, remained, progress, promptCacheKey) {
159
157
  });
160
158
  if (pointer.value === null)
161
159
  throw new Error("Failed to create components.");
162
- const schemas = (_a = OpenApiV3_1Emender_1.OpenApiV3_1Emender.convertComponents({
160
+ const schemas = ((_a = OpenApiV3_1Emender_1.OpenApiV3_1Emender.convertComponents({
163
161
  schemas: pointer.value,
164
- }).schemas) !== null && _a !== void 0 ? _a : {};
162
+ }).schemas) !== null && _a !== void 0 ? _a : {});
165
163
  ctx.dispatch({
166
164
  type: "interfaceSchemas",
167
165
  id: (0, uuid_1.v7)(),
@@ -178,22 +176,95 @@ function process(ctx, operations, oldbie, remained, progress, promptCacheKey) {
178
176
  function createController(props) {
179
177
  (0, assertSchemaModel_1.assertSchemaModel)(props.model);
180
178
  const validate = (next) => {
179
+ JsonSchemaFactory_1.JsonSchemaFactory.fix("schemas", next);
181
180
  const result = (() => { const _io0 = input => "string" === typeof input.draft && ("object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) && _io1(input.schemas)); const _io1 = input => Object.keys(input).every(key => {
182
181
  const value = input[key];
183
182
  if (undefined === value)
184
183
  return true;
185
- return "object" === typeof value && null !== value && _io2(value);
186
- }); const _io2 = input => "string" === typeof input.description; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
184
+ return "object" === typeof value && null !== value && _iu1(value);
185
+ }); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io7 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io8 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io10 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io11 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io12 = input => "boolean" === input.type; const _io13 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io14 = input => "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io15 = input => "string" === typeof input.$ref; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)); const _io17 = input => "null" === input.type; const _io18 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io19(input.mapping)); const _io19 = input => Object.keys(input).every(key => {
186
+ const value = input[key];
187
+ if (undefined === value)
188
+ return true;
189
+ return "string" === typeof value;
190
+ }); const _io20 = input => "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type && "string" === typeof input.description; const _io21 = input => "string" === typeof input.$ref && "string" === typeof input.description; const _io22 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)) && "string" === typeof input.description; const _io23 = input => "null" === input.type && "string" === typeof input.description; const _iu0 = input => (() => {
191
+ if ("number" === input.type)
192
+ return _io9(input);
193
+ else if ("integer" === input.type)
194
+ return _io8(input);
195
+ else if ("string" === input.type)
196
+ return _io10(input);
197
+ else if (undefined !== input["const"])
198
+ return _io11(input);
199
+ else if ("null" === input.type)
200
+ return _io17(input);
201
+ else if ("boolean" === input.type)
202
+ return _io12(input);
203
+ else if ("array" === input.type)
204
+ return _io13(input);
205
+ else if ("object" === input.type)
206
+ return _io14(input);
207
+ else if (undefined !== input.$ref)
208
+ return _io15(input);
209
+ else
210
+ return false;
211
+ })(); const _iu1 = input => (() => {
212
+ if (undefined !== input["const"])
213
+ return _io2(input);
214
+ else if ("boolean" === input.type)
215
+ return _io3(input);
216
+ else if ("number" === input.type)
217
+ return _io5(input);
218
+ else if ("integer" === input.type)
219
+ return _io4(input);
220
+ else if ("string" === input.type)
221
+ return _io6(input);
222
+ else if ("array" === input.type)
223
+ return _io7(input);
224
+ else if ("object" === input.type)
225
+ return _io20(input);
226
+ else if (undefined !== input.$ref)
227
+ return _io21(input);
228
+ else if (undefined !== input.oneOf)
229
+ return _io22(input);
230
+ else if ("null" === input.type)
231
+ return _io23(input);
232
+ else
233
+ return false;
234
+ })(); const _iu2 = input => (() => {
235
+ if ("number" === input.type)
236
+ return _io9(input);
237
+ else if ("integer" === input.type)
238
+ return _io8(input);
239
+ else if ("string" === input.type)
240
+ return _io10(input);
241
+ else if (undefined !== input["const"])
242
+ return _io11(input);
243
+ else if ("null" === input.type)
244
+ return _io17(input);
245
+ else if ("boolean" === input.type)
246
+ return _io12(input);
247
+ else if ("array" === input.type)
248
+ return _io13(input);
249
+ else if ("object" === input.type)
250
+ return _io14(input);
251
+ else if (undefined !== input.$ref)
252
+ return _io15(input);
253
+ else if (undefined !== input.oneOf)
254
+ return _io16(input);
255
+ else
256
+ return false;
257
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
187
258
  path: _path + ".draft",
188
259
  expected: "string",
189
260
  value: input.draft
190
261
  }), ("object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) || _report(_exceptionable, {
191
262
  path: _path + ".schemas",
192
- expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>>",
263
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
193
264
  value: input.schemas
194
265
  })) && _vo1(input.schemas, _path + ".schemas", true && _exceptionable) || _report(_exceptionable, {
195
266
  path: _path + ".schemas",
196
- expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>>",
267
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
197
268
  value: input.schemas
198
269
  })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
199
270
  const value = input[key];
@@ -201,18 +272,570 @@ function createController(props) {
201
272
  return true;
202
273
  return ("object" === typeof value && null !== value || _report(_exceptionable, {
203
274
  path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
204
- expected: "AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>",
275
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
276
+ value: value
277
+ })) && _vu1(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
278
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
279
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
205
280
  value: value
206
- })) && _vo2(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
281
+ });
282
+ }).every(flag => flag)].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
283
+ path: _path + "[\"const\"]",
284
+ expected: "(boolean | number | string)",
285
+ value: input["const"]
286
+ }), "string" === typeof input.description || _report(_exceptionable, {
287
+ path: _path + ".description",
288
+ expected: "string",
289
+ value: input.description
290
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
291
+ path: _path + ".type",
292
+ expected: "\"boolean\"",
293
+ value: input.type
294
+ }), "string" === typeof input.description || _report(_exceptionable, {
295
+ path: _path + ".description",
296
+ expected: "string",
297
+ value: input.description
298
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
299
+ path: _path + ".minimum",
300
+ expected: "number & Type<\"int64\">",
301
+ value: input.minimum
302
+ })) || _report(_exceptionable, {
303
+ path: _path + ".minimum",
304
+ expected: "((number & Type<\"int64\">) | undefined)",
305
+ value: input.minimum
306
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
307
+ path: _path + ".maximum",
308
+ expected: "number & Type<\"int64\">",
309
+ value: input.maximum
310
+ })) || _report(_exceptionable, {
311
+ path: _path + ".maximum",
312
+ expected: "((number & Type<\"int64\">) | undefined)",
313
+ value: input.maximum
314
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
315
+ path: _path + ".exclusiveMinimum",
316
+ expected: "(number | undefined)",
317
+ value: input.exclusiveMinimum
318
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
319
+ path: _path + ".exclusiveMaximum",
320
+ expected: "(number | undefined)",
321
+ value: input.exclusiveMaximum
322
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
323
+ path: _path + ".multipleOf",
324
+ expected: "number & Type<\"uint64\">",
325
+ value: input.multipleOf
326
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
327
+ path: _path + ".multipleOf",
328
+ expected: "number & ExclusiveMinimum<0>",
329
+ value: input.multipleOf
330
+ })) || _report(_exceptionable, {
331
+ path: _path + ".multipleOf",
332
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
333
+ value: input.multipleOf
334
+ }), "integer" === input.type || _report(_exceptionable, {
335
+ path: _path + ".type",
336
+ expected: "\"integer\"",
337
+ value: input.type
338
+ }), "string" === typeof input.description || _report(_exceptionable, {
339
+ path: _path + ".description",
340
+ expected: "string",
341
+ value: input.description
342
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
343
+ path: _path + ".minimum",
344
+ expected: "(number | undefined)",
345
+ value: input.minimum
346
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
347
+ path: _path + ".maximum",
348
+ expected: "(number | undefined)",
349
+ value: input.maximum
350
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
351
+ path: _path + ".exclusiveMinimum",
352
+ expected: "(number | undefined)",
353
+ value: input.exclusiveMinimum
354
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
355
+ path: _path + ".exclusiveMaximum",
356
+ expected: "(number | undefined)",
357
+ value: input.exclusiveMaximum
358
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
359
+ path: _path + ".multipleOf",
360
+ expected: "number & ExclusiveMinimum<0>",
361
+ value: input.multipleOf
362
+ })) || _report(_exceptionable, {
363
+ path: _path + ".multipleOf",
364
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
365
+ value: input.multipleOf
366
+ }), "number" === input.type || _report(_exceptionable, {
367
+ path: _path + ".type",
368
+ expected: "\"number\"",
369
+ value: input.type
370
+ }), "string" === typeof input.description || _report(_exceptionable, {
371
+ path: _path + ".description",
372
+ expected: "string",
373
+ value: input.description
374
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
375
+ path: _path + ".format",
376
+ expected: "(string | undefined)",
377
+ value: input.format
378
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
379
+ path: _path + ".pattern",
380
+ expected: "(string | undefined)",
381
+ value: input.pattern
382
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
383
+ path: _path + ".contentMediaType",
384
+ expected: "(string | undefined)",
385
+ value: input.contentMediaType
386
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
387
+ path: _path + ".minLength",
388
+ expected: "number & Type<\"uint64\">",
389
+ value: input.minLength
390
+ })) || _report(_exceptionable, {
391
+ path: _path + ".minLength",
392
+ expected: "((number & Type<\"uint64\">) | undefined)",
393
+ value: input.minLength
394
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
395
+ path: _path + ".maxLength",
396
+ expected: "number & Type<\"uint64\">",
397
+ value: input.maxLength
398
+ })) || _report(_exceptionable, {
399
+ path: _path + ".maxLength",
400
+ expected: "((number & Type<\"uint64\">) | undefined)",
401
+ value: input.maxLength
402
+ }), "string" === input.type || _report(_exceptionable, {
403
+ path: _path + ".type",
404
+ expected: "\"string\"",
405
+ value: input.type
406
+ }), "string" === typeof input.description || _report(_exceptionable, {
407
+ path: _path + ".description",
408
+ expected: "string",
409
+ value: input.description
410
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
411
+ path: _path + ".items",
412
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
413
+ value: input.items
414
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
415
+ path: _path + ".items",
416
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
417
+ value: input.items
418
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
419
+ path: _path + ".uniqueItems",
420
+ expected: "(boolean | undefined)",
421
+ value: input.uniqueItems
422
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
423
+ path: _path + ".minItems",
424
+ expected: "number & Type<\"uint64\">",
425
+ value: input.minItems
426
+ })) || _report(_exceptionable, {
427
+ path: _path + ".minItems",
428
+ expected: "((number & Type<\"uint64\">) | undefined)",
429
+ value: input.minItems
430
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
431
+ path: _path + ".maxItems",
432
+ expected: "number & Type<\"uint64\">",
433
+ value: input.maxItems
434
+ })) || _report(_exceptionable, {
435
+ path: _path + ".maxItems",
436
+ expected: "((number & Type<\"uint64\">) | undefined)",
437
+ value: input.maxItems
438
+ }), "array" === input.type || _report(_exceptionable, {
439
+ path: _path + ".type",
440
+ expected: "\"array\"",
441
+ value: input.type
442
+ }), "string" === typeof input.description || _report(_exceptionable, {
443
+ path: _path + ".description",
444
+ expected: "string",
445
+ value: input.description
446
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
447
+ path: _path + ".minimum",
448
+ expected: "number & Type<\"int64\">",
449
+ value: input.minimum
450
+ })) || _report(_exceptionable, {
451
+ path: _path + ".minimum",
452
+ expected: "((number & Type<\"int64\">) | undefined)",
453
+ value: input.minimum
454
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
455
+ path: _path + ".maximum",
456
+ expected: "number & Type<\"int64\">",
457
+ value: input.maximum
458
+ })) || _report(_exceptionable, {
459
+ path: _path + ".maximum",
460
+ expected: "((number & Type<\"int64\">) | undefined)",
461
+ value: input.maximum
462
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
463
+ path: _path + ".exclusiveMinimum",
464
+ expected: "(number | undefined)",
465
+ value: input.exclusiveMinimum
466
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
467
+ path: _path + ".exclusiveMaximum",
468
+ expected: "(number | undefined)",
469
+ value: input.exclusiveMaximum
470
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
471
+ path: _path + ".multipleOf",
472
+ expected: "number & Type<\"uint64\">",
473
+ value: input.multipleOf
474
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
475
+ path: _path + ".multipleOf",
476
+ expected: "number & ExclusiveMinimum<0>",
477
+ value: input.multipleOf
478
+ })) || _report(_exceptionable, {
479
+ path: _path + ".multipleOf",
480
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
481
+ value: input.multipleOf
482
+ }), "integer" === input.type || _report(_exceptionable, {
483
+ path: _path + ".type",
484
+ expected: "\"integer\"",
485
+ value: input.type
486
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
487
+ path: _path + ".minimum",
488
+ expected: "(number | undefined)",
489
+ value: input.minimum
490
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
491
+ path: _path + ".maximum",
492
+ expected: "(number | undefined)",
493
+ value: input.maximum
494
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
495
+ path: _path + ".exclusiveMinimum",
496
+ expected: "(number | undefined)",
497
+ value: input.exclusiveMinimum
498
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
499
+ path: _path + ".exclusiveMaximum",
500
+ expected: "(number | undefined)",
501
+ value: input.exclusiveMaximum
502
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
503
+ path: _path + ".multipleOf",
504
+ expected: "number & ExclusiveMinimum<0>",
505
+ value: input.multipleOf
506
+ })) || _report(_exceptionable, {
507
+ path: _path + ".multipleOf",
508
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
509
+ value: input.multipleOf
510
+ }), "number" === input.type || _report(_exceptionable, {
511
+ path: _path + ".type",
512
+ expected: "\"number\"",
513
+ value: input.type
514
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
515
+ path: _path + ".format",
516
+ expected: "(string | undefined)",
517
+ value: input.format
518
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
519
+ path: _path + ".pattern",
520
+ expected: "(string | undefined)",
521
+ value: input.pattern
522
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
523
+ path: _path + ".contentMediaType",
524
+ expected: "(string | undefined)",
525
+ value: input.contentMediaType
526
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
527
+ path: _path + ".minLength",
528
+ expected: "number & Type<\"uint64\">",
529
+ value: input.minLength
530
+ })) || _report(_exceptionable, {
531
+ path: _path + ".minLength",
532
+ expected: "((number & Type<\"uint64\">) | undefined)",
533
+ value: input.minLength
534
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
535
+ path: _path + ".maxLength",
536
+ expected: "number & Type<\"uint64\">",
537
+ value: input.maxLength
538
+ })) || _report(_exceptionable, {
539
+ path: _path + ".maxLength",
540
+ expected: "((number & Type<\"uint64\">) | undefined)",
541
+ value: input.maxLength
542
+ }), "string" === input.type || _report(_exceptionable, {
543
+ path: _path + ".type",
544
+ expected: "\"string\"",
545
+ value: input.type
546
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
547
+ path: _path + "[\"const\"]",
548
+ expected: "(boolean | number | string)",
549
+ value: input["const"]
550
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
551
+ path: _path + ".type",
552
+ expected: "\"boolean\"",
553
+ value: input.type
554
+ })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
555
+ path: _path + ".items",
556
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
557
+ value: input.items
558
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
559
+ path: _path + ".items",
560
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
561
+ value: input.items
562
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
563
+ path: _path + ".uniqueItems",
564
+ expected: "(boolean | undefined)",
565
+ value: input.uniqueItems
566
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
567
+ path: _path + ".minItems",
568
+ expected: "number & Type<\"uint64\">",
569
+ value: input.minItems
570
+ })) || _report(_exceptionable, {
571
+ path: _path + ".minItems",
572
+ expected: "((number & Type<\"uint64\">) | undefined)",
573
+ value: input.minItems
574
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
575
+ path: _path + ".maxItems",
576
+ expected: "number & Type<\"uint64\">",
577
+ value: input.maxItems
578
+ })) || _report(_exceptionable, {
579
+ path: _path + ".maxItems",
580
+ expected: "((number & Type<\"uint64\">) | undefined)",
581
+ value: input.maxItems
582
+ }), "array" === input.type || _report(_exceptionable, {
583
+ path: _path + ".type",
584
+ expected: "\"array\"",
585
+ value: input.type
586
+ })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
587
+ path: _path + ".properties",
588
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
589
+ value: input.properties
590
+ })) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
591
+ path: _path + ".properties",
592
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
593
+ value: input.properties
594
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
595
+ path: _path + ".additionalProperties",
596
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
597
+ value: input.additionalProperties
598
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
599
+ path: _path + ".additionalProperties",
600
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
601
+ value: input.additionalProperties
602
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
603
+ path: _path + ".additionalProperties",
604
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
605
+ value: input.additionalProperties
606
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
607
+ path: _path + ".required",
608
+ expected: "Array<string>",
609
+ value: input.required
610
+ })) && input.required.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
611
+ path: _path + ".required[" + _index5 + "]",
612
+ expected: "string",
613
+ value: elem
614
+ })).every(flag => flag) || _report(_exceptionable, {
615
+ path: _path + ".required",
616
+ expected: "Array<string>",
617
+ value: input.required
618
+ }), "object" === input.type || _report(_exceptionable, {
619
+ path: _path + ".type",
620
+ expected: "\"object\"",
621
+ value: input.type
622
+ })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
623
+ path: _path + ".$ref",
624
+ expected: "string",
625
+ value: input.$ref
626
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
627
+ path: _path + ".oneOf",
628
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
629
+ value: input.oneOf
630
+ })) && input.oneOf.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
631
+ path: _path + ".oneOf[" + _index6 + "]",
632
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
633
+ value: elem
634
+ })) && _vu0(elem, _path + ".oneOf[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
635
+ path: _path + ".oneOf[" + _index6 + "]",
636
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
637
+ value: elem
638
+ })).every(flag => flag) || _report(_exceptionable, {
639
+ path: _path + ".oneOf",
640
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
641
+ value: input.oneOf
642
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
643
+ path: _path + ".discriminator",
644
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
645
+ value: input.discriminator
646
+ })) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
647
+ path: _path + ".discriminator",
648
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
649
+ value: input.discriminator
650
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
651
+ path: _path + ".type",
652
+ expected: "\"null\"",
653
+ value: input.type
654
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => ["string" === typeof input.propertyName || _report(_exceptionable, {
655
+ path: _path + ".propertyName",
656
+ expected: "string",
657
+ value: input.propertyName
658
+ }), undefined === input.mapping || ("object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) || _report(_exceptionable, {
659
+ path: _path + ".mapping",
660
+ expected: "(Record<string, string> | undefined)",
661
+ value: input.mapping
662
+ })) && _vo19(input.mapping, _path + ".mapping", true && _exceptionable) || _report(_exceptionable, {
663
+ path: _path + ".mapping",
664
+ expected: "(Record<string, string> | undefined)",
665
+ value: input.mapping
666
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
667
+ const value = input[key];
668
+ if (undefined === value)
669
+ return true;
670
+ return "string" === typeof value || _report(_exceptionable, {
207
671
  path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
208
- expected: "AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>",
672
+ expected: "string",
209
673
  value: value
210
674
  });
211
- }).every(flag => flag)].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
675
+ }).every(flag => flag)].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
676
+ path: _path + ".properties",
677
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
678
+ value: input.properties
679
+ })) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
680
+ path: _path + ".properties",
681
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
682
+ value: input.properties
683
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
684
+ path: _path + ".additionalProperties",
685
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
686
+ value: input.additionalProperties
687
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
688
+ path: _path + ".additionalProperties",
689
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
690
+ value: input.additionalProperties
691
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
692
+ path: _path + ".additionalProperties",
693
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
694
+ value: input.additionalProperties
695
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
696
+ path: _path + ".required",
697
+ expected: "Array<string>",
698
+ value: input.required
699
+ })) && input.required.map((elem, _index7) => "string" === typeof elem || _report(_exceptionable, {
700
+ path: _path + ".required[" + _index7 + "]",
701
+ expected: "string",
702
+ value: elem
703
+ })).every(flag => flag) || _report(_exceptionable, {
704
+ path: _path + ".required",
705
+ expected: "Array<string>",
706
+ value: input.required
707
+ }), "object" === input.type || _report(_exceptionable, {
708
+ path: _path + ".type",
709
+ expected: "\"object\"",
710
+ value: input.type
711
+ }), "string" === typeof input.description || _report(_exceptionable, {
712
+ path: _path + ".description",
713
+ expected: "string",
714
+ value: input.description
715
+ })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
716
+ path: _path + ".$ref",
717
+ expected: "string",
718
+ value: input.$ref
719
+ }), "string" === typeof input.description || _report(_exceptionable, {
720
+ path: _path + ".description",
721
+ expected: "string",
722
+ value: input.description
723
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
724
+ path: _path + ".oneOf",
725
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
726
+ value: input.oneOf
727
+ })) && input.oneOf.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
728
+ path: _path + ".oneOf[" + _index8 + "]",
729
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
730
+ value: elem
731
+ })) && _vu0(elem, _path + ".oneOf[" + _index8 + "]", true && _exceptionable) || _report(_exceptionable, {
732
+ path: _path + ".oneOf[" + _index8 + "]",
733
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
734
+ value: elem
735
+ })).every(flag => flag) || _report(_exceptionable, {
736
+ path: _path + ".oneOf",
737
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
738
+ value: input.oneOf
739
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
740
+ path: _path + ".discriminator",
741
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
742
+ value: input.discriminator
743
+ })) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
744
+ path: _path + ".discriminator",
745
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
746
+ value: input.discriminator
747
+ }), "string" === typeof input.description || _report(_exceptionable, {
748
+ path: _path + ".description",
749
+ expected: "string",
750
+ value: input.description
751
+ })].every(flag => flag); const _vo23 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
752
+ path: _path + ".type",
753
+ expected: "\"null\"",
754
+ value: input.type
755
+ }), "string" === typeof input.description || _report(_exceptionable, {
212
756
  path: _path + ".description",
213
757
  expected: "string",
214
758
  value: input.description
215
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
759
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
760
+ if ("number" === input.type)
761
+ return _vo9(input, _path, true && _exceptionable);
762
+ else if ("integer" === input.type)
763
+ return _vo8(input, _path, true && _exceptionable);
764
+ else if ("string" === input.type)
765
+ return _vo10(input, _path, true && _exceptionable);
766
+ else if (undefined !== input["const"])
767
+ return _vo11(input, _path, true && _exceptionable);
768
+ else if ("null" === input.type)
769
+ return _vo17(input, _path, true && _exceptionable);
770
+ else if ("boolean" === input.type)
771
+ return _vo12(input, _path, true && _exceptionable);
772
+ else if ("array" === input.type)
773
+ return _vo13(input, _path, true && _exceptionable);
774
+ else if ("object" === input.type)
775
+ return _vo14(input, _path, true && _exceptionable);
776
+ else if (undefined !== input.$ref)
777
+ return _vo15(input, _path, true && _exceptionable);
778
+ else
779
+ return _report(_exceptionable, {
780
+ path: _path,
781
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference)",
782
+ value: input
783
+ });
784
+ })(); const _vu1 = (input, _path, _exceptionable = true) => (() => {
785
+ if (undefined !== input["const"])
786
+ return _vo2(input, _path, true && _exceptionable);
787
+ else if ("boolean" === input.type)
788
+ return _vo3(input, _path, true && _exceptionable);
789
+ else if ("number" === input.type)
790
+ return _vo5(input, _path, true && _exceptionable);
791
+ else if ("integer" === input.type)
792
+ return _vo4(input, _path, true && _exceptionable);
793
+ else if ("string" === input.type)
794
+ return _vo6(input, _path, true && _exceptionable);
795
+ else if ("array" === input.type)
796
+ return _vo7(input, _path, true && _exceptionable);
797
+ else if ("object" === input.type)
798
+ return _vo20(input, _path, true && _exceptionable);
799
+ else if (undefined !== input.$ref)
800
+ return _vo21(input, _path, true && _exceptionable);
801
+ else if (undefined !== input.oneOf)
802
+ return _vo22(input, _path, true && _exceptionable);
803
+ else if ("null" === input.type)
804
+ return _vo23(input, _path, true && _exceptionable);
805
+ else
806
+ return _report(_exceptionable, {
807
+ path: _path,
808
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.IString | AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.INull)",
809
+ value: input
810
+ });
811
+ })(); const _vu2 = (input, _path, _exceptionable = true) => (() => {
812
+ if ("number" === input.type)
813
+ return _vo9(input, _path, true && _exceptionable);
814
+ else if ("integer" === input.type)
815
+ return _vo8(input, _path, true && _exceptionable);
816
+ else if ("string" === input.type)
817
+ return _vo10(input, _path, true && _exceptionable);
818
+ else if (undefined !== input["const"])
819
+ return _vo11(input, _path, true && _exceptionable);
820
+ else if ("null" === input.type)
821
+ return _vo17(input, _path, true && _exceptionable);
822
+ else if ("boolean" === input.type)
823
+ return _vo12(input, _path, true && _exceptionable);
824
+ else if ("array" === input.type)
825
+ return _vo13(input, _path, true && _exceptionable);
826
+ else if ("object" === input.type)
827
+ return _vo14(input, _path, true && _exceptionable);
828
+ else if (undefined !== input.$ref)
829
+ return _vo15(input, _path, true && _exceptionable);
830
+ else if (undefined !== input.oneOf)
831
+ return _vo16(input, _path, true && _exceptionable);
832
+ else
833
+ return _report(_exceptionable, {
834
+ path: _path,
835
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IOneOf)",
836
+ value: input
837
+ });
838
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
216
839
  if (false === __is(input)) {
217
840
  errors = [];
218
841
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -240,8 +863,10 @@ function createController(props) {
240
863
  data: input
241
864
  };
242
865
  }; })()(next);
243
- if (result.success === false)
866
+ if (result.success === false) {
867
+ (0, fulfillJsonSchemaErrorMessages_1.fulfillJsonSchemaErrorMessages)(result.errors);
244
868
  return result;
869
+ }
245
870
  // Check all IAuthorized types
246
871
  const errors = [];
247
872
  (0, validateAuthorizationSchema_1.validateAuthorizationSchema)({
@@ -290,7 +915,7 @@ const collection = {
290
915
  type: "string"
291
916
  },
292
917
  schemas: {
293
- $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema"
918
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
294
919
  }
295
920
  },
296
921
  required: [
@@ -299,25 +924,805 @@ const collection = {
299
924
  ],
300
925
  additionalProperties: false,
301
926
  $defs: {
302
- "RecordstringAutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema": {
927
+ "RecordstringAutoBeOpenApi.IJsonSchemaDescriptive": {
303
928
  description: "Construct a type with a set of properties K of type T",
304
929
  type: "object",
305
930
  properties: {},
306
931
  required: [],
307
932
  additionalProperties: {
308
- $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema"
933
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive"
309
934
  }
310
935
  },
311
- "AutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema": {
936
+ "AutoBeOpenApi.IJsonSchemaDescriptive": {
312
937
  description: "Descriptive type schema info.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` is a type schema info of the OpenAPI\nGenerative, but it has a `description` property which is required.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` basically follows the JSON schema\nspecification of OpenAPI v3.1, but a little bit shrunk to remove ambiguous\nand duplicated expressions of OpenAPI v3.1 for the convenience, clarity,\nand AI generation.\n\nCRITICAL INSTRUCTIONS FOR OPTIMAL AI GENERATION:\n\nWhen creating descriptions for components, types, and properties:\n\n1. ALWAYS refer to and incorporate the description comments from the\n corresponding Prisma DB schema tables and columns. The descriptions\n should match the style, level of detail, and terminology used in the\n Prisma schema.\n2. ALL descriptions MUST be organized into MULTIPLE PARAGRAPHS separated by\n line breaks. Single-paragraph descriptions should be avoided.\n3. Descriptions should comprehensively cover:\n\n - The purpose and business meaning of the type or property\n - Relationships to other entities\n - Validation rules, constraints, and edge cases\n - Usage context and examples when helpful\n4. For each property of an object type, ensure its description reflects the\n corresponding column description in the Prisma DB schema, maintaining\n the same level of detail and terminology\n5. Descriptions should be so detailed and clear that anyone reading them can\n fully understand the type or property without needing to reference any\n other documentation",
938
+ anyOf: [
939
+ {
940
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IConstant"
941
+ },
942
+ {
943
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean"
944
+ },
945
+ {
946
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IInteger"
947
+ },
948
+ {
949
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INumber"
950
+ },
951
+ {
952
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IString"
953
+ },
954
+ {
955
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IArray"
956
+ },
957
+ {
958
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IObject"
959
+ },
960
+ {
961
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IReference"
962
+ },
963
+ {
964
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf"
965
+ },
966
+ {
967
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INull"
968
+ }
969
+ ]
970
+ },
971
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IConstant": {
972
+ description: "Constant value type.",
973
+ type: "object",
974
+ properties: {
975
+ "const": {
976
+ description: "The constant value.",
977
+ anyOf: [
978
+ {
979
+ type: "string"
980
+ },
981
+ {
982
+ type: "number"
983
+ },
984
+ {
985
+ type: "boolean"
986
+ }
987
+ ]
988
+ },
989
+ description: {
990
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
991
+ type: "string"
992
+ }
993
+ },
994
+ required: [
995
+ "const",
996
+ "description"
997
+ ]
998
+ },
999
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean": {
1000
+ description: "Boolean type info.",
1001
+ type: "object",
1002
+ properties: {
1003
+ type: {
1004
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1005
+ type: "string",
1006
+ "enum": [
1007
+ "boolean"
1008
+ ]
1009
+ },
1010
+ description: {
1011
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1012
+ type: "string"
1013
+ }
1014
+ },
1015
+ required: [
1016
+ "type",
1017
+ "description"
1018
+ ]
1019
+ },
1020
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IInteger": {
1021
+ description: "Integer type info.",
1022
+ type: "object",
1023
+ properties: {
1024
+ minimum: {
1025
+ description: "Minimum value restriction.",
1026
+ type: "integer"
1027
+ },
1028
+ maximum: {
1029
+ description: "Maximum value restriction.",
1030
+ type: "integer"
1031
+ },
1032
+ exclusiveMinimum: {
1033
+ description: "Exclusive minimum value restriction.",
1034
+ type: "number"
1035
+ },
1036
+ exclusiveMaximum: {
1037
+ description: "Exclusive maximum value restriction.",
1038
+ type: "number"
1039
+ },
1040
+ multipleOf: {
1041
+ description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
1042
+ type: "integer"
1043
+ },
1044
+ type: {
1045
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1046
+ type: "string",
1047
+ "enum": [
1048
+ "integer"
1049
+ ]
1050
+ },
1051
+ description: {
1052
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1053
+ type: "string"
1054
+ }
1055
+ },
1056
+ required: [
1057
+ "type",
1058
+ "description"
1059
+ ]
1060
+ },
1061
+ "AutoBeOpenApi.IJsonSchemaDescriptive.INumber": {
1062
+ description: "Number (double) type info.",
1063
+ type: "object",
1064
+ properties: {
1065
+ minimum: {
1066
+ description: "Minimum value restriction.",
1067
+ type: "number"
1068
+ },
1069
+ maximum: {
1070
+ description: "Maximum value restriction.",
1071
+ type: "number"
1072
+ },
1073
+ exclusiveMinimum: {
1074
+ description: "Exclusive minimum value restriction.",
1075
+ type: "number"
1076
+ },
1077
+ exclusiveMaximum: {
1078
+ description: "Exclusive maximum value restriction.",
1079
+ type: "number"
1080
+ },
1081
+ multipleOf: {
1082
+ description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
1083
+ type: "number"
1084
+ },
1085
+ type: {
1086
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1087
+ type: "string",
1088
+ "enum": [
1089
+ "number"
1090
+ ]
1091
+ },
1092
+ description: {
1093
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1094
+ type: "string"
1095
+ }
1096
+ },
1097
+ required: [
1098
+ "type",
1099
+ "description"
1100
+ ]
1101
+ },
1102
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IString": {
1103
+ description: "String type info.",
1104
+ type: "object",
1105
+ properties: {
1106
+ format: {
1107
+ description: "Format restriction.",
1108
+ type: "string"
1109
+ },
1110
+ pattern: {
1111
+ description: "Pattern restriction.",
1112
+ type: "string"
1113
+ },
1114
+ contentMediaType: {
1115
+ description: "Content media type restriction.",
1116
+ type: "string"
1117
+ },
1118
+ minLength: {
1119
+ description: "Minimum length restriction.\n\n\n@minimum 0",
1120
+ type: "integer"
1121
+ },
1122
+ maxLength: {
1123
+ description: "Maximum length restriction.\n\n\n@minimum 0",
1124
+ type: "integer"
1125
+ },
1126
+ type: {
1127
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1128
+ type: "string",
1129
+ "enum": [
1130
+ "string"
1131
+ ]
1132
+ },
1133
+ description: {
1134
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1135
+ type: "string"
1136
+ }
1137
+ },
1138
+ required: [
1139
+ "type",
1140
+ "description"
1141
+ ]
1142
+ },
1143
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IArray": {
1144
+ description: "Array type info.\n\n### Description of {@link items} property:\n\n> Items type info.\n> \n> The `items` means the type of the array elements. In other words, it is\n> the type schema info of the `T` in the TypeScript array type\n> `Array<T>`.",
1145
+ type: "object",
1146
+ properties: {
1147
+ items: {
1148
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
1149
+ },
1150
+ uniqueItems: {
1151
+ description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
1152
+ type: "boolean"
1153
+ },
1154
+ minItems: {
1155
+ description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.\n\n\n@minimum 0",
1156
+ type: "integer"
1157
+ },
1158
+ maxItems: {
1159
+ description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.\n\n\n@minimum 0",
1160
+ type: "integer"
1161
+ },
1162
+ type: {
1163
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1164
+ type: "string",
1165
+ "enum": [
1166
+ "array"
1167
+ ]
1168
+ },
1169
+ description: {
1170
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1171
+ type: "string"
1172
+ }
1173
+ },
1174
+ required: [
1175
+ "items",
1176
+ "type",
1177
+ "description"
1178
+ ]
1179
+ },
1180
+ "AutoBeOpenApi.IJsonSchema": {
1181
+ description: "Type schema info.\n\n`AutoBeOpenApi.IJsonSchema` is a type schema info of the OpenAPI\nGenerative.\n\n`AutoBeOpenApi.IJsonSchema` basically follows the JSON schema specification\nof OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience, clarity, and AI\ngeneration.\n\n## CRITICAL: Union Type Expression\n\nIn this type system, union types (including nullable types) MUST be\nexpressed using the `IOneOf` structure. NEVER use array notation in the\n`type` field.\n\n\u274C **FORBIDDEN** - Array notation in type field:\n\n```typescript\n{\n \"type\": [\"string\", \"null\"] // NEVER DO THIS!\n}\n```\n\n\u2705 **CORRECT** - Using IOneOf for unions:\n\n```typescript\n// For nullable string:\n{\n oneOf: [{ type: \"string\" }, { type: \"null\" }];\n}\n\n// For string | number union:\n{\n oneOf: [{ type: \"string\" }, { type: \"number\" }];\n}\n```\n\nThe `type` field in any schema object is a discriminator that identifies\nthe schema type and MUST contain exactly one string value.",
1182
+ anyOf: [
1183
+ {
1184
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
1185
+ },
1186
+ {
1187
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
1188
+ },
1189
+ {
1190
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
1191
+ },
1192
+ {
1193
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
1194
+ },
1195
+ {
1196
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
1197
+ },
1198
+ {
1199
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
1200
+ },
1201
+ {
1202
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
1203
+ },
1204
+ {
1205
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
1206
+ },
1207
+ {
1208
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
1209
+ },
1210
+ {
1211
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
1212
+ }
1213
+ ]
1214
+ },
1215
+ "AutoBeOpenApi.IJsonSchema.IInteger": {
1216
+ description: "Integer type info.",
1217
+ type: "object",
1218
+ properties: {
1219
+ minimum: {
1220
+ description: "Minimum value restriction.",
1221
+ type: "integer"
1222
+ },
1223
+ maximum: {
1224
+ description: "Maximum value restriction.",
1225
+ type: "integer"
1226
+ },
1227
+ exclusiveMinimum: {
1228
+ description: "Exclusive minimum value restriction.",
1229
+ type: "number"
1230
+ },
1231
+ exclusiveMaximum: {
1232
+ description: "Exclusive maximum value restriction.",
1233
+ type: "number"
1234
+ },
1235
+ multipleOf: {
1236
+ description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
1237
+ type: "integer"
1238
+ },
1239
+ type: {
1240
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1241
+ type: "string",
1242
+ "enum": [
1243
+ "integer"
1244
+ ]
1245
+ }
1246
+ },
1247
+ required: [
1248
+ "type"
1249
+ ]
1250
+ },
1251
+ "AutoBeOpenApi.IJsonSchema.INumber": {
1252
+ description: "Number (double) type info.",
1253
+ type: "object",
1254
+ properties: {
1255
+ minimum: {
1256
+ description: "Minimum value restriction.",
1257
+ type: "number"
1258
+ },
1259
+ maximum: {
1260
+ description: "Maximum value restriction.",
1261
+ type: "number"
1262
+ },
1263
+ exclusiveMinimum: {
1264
+ description: "Exclusive minimum value restriction.",
1265
+ type: "number"
1266
+ },
1267
+ exclusiveMaximum: {
1268
+ description: "Exclusive maximum value restriction.",
1269
+ type: "number"
1270
+ },
1271
+ multipleOf: {
1272
+ description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
1273
+ type: "number"
1274
+ },
1275
+ type: {
1276
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1277
+ type: "string",
1278
+ "enum": [
1279
+ "number"
1280
+ ]
1281
+ }
1282
+ },
1283
+ required: [
1284
+ "type"
1285
+ ]
1286
+ },
1287
+ "AutoBeOpenApi.IJsonSchema.IString": {
1288
+ description: "String type info.",
1289
+ type: "object",
1290
+ properties: {
1291
+ format: {
1292
+ description: "Format restriction.",
1293
+ type: "string"
1294
+ },
1295
+ pattern: {
1296
+ description: "Pattern restriction.",
1297
+ type: "string"
1298
+ },
1299
+ contentMediaType: {
1300
+ description: "Content media type restriction.",
1301
+ type: "string"
1302
+ },
1303
+ minLength: {
1304
+ description: "Minimum length restriction.\n\n\n@minimum 0",
1305
+ type: "integer"
1306
+ },
1307
+ maxLength: {
1308
+ description: "Maximum length restriction.\n\n\n@minimum 0",
1309
+ type: "integer"
1310
+ },
1311
+ type: {
1312
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1313
+ type: "string",
1314
+ "enum": [
1315
+ "string"
1316
+ ]
1317
+ }
1318
+ },
1319
+ required: [
1320
+ "type"
1321
+ ]
1322
+ },
1323
+ "AutoBeOpenApi.IJsonSchema.IConstant": {
1324
+ description: "Constant value type.",
1325
+ type: "object",
1326
+ properties: {
1327
+ "const": {
1328
+ description: "The constant value.",
1329
+ anyOf: [
1330
+ {
1331
+ type: "string"
1332
+ },
1333
+ {
1334
+ type: "number"
1335
+ },
1336
+ {
1337
+ type: "boolean"
1338
+ }
1339
+ ]
1340
+ }
1341
+ },
1342
+ required: [
1343
+ "const"
1344
+ ]
1345
+ },
1346
+ "AutoBeOpenApi.IJsonSchema.IBoolean": {
1347
+ description: "Boolean type info.",
1348
+ type: "object",
1349
+ properties: {
1350
+ type: {
1351
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1352
+ type: "string",
1353
+ "enum": [
1354
+ "boolean"
1355
+ ]
1356
+ }
1357
+ },
1358
+ required: [
1359
+ "type"
1360
+ ]
1361
+ },
1362
+ "AutoBeOpenApi.IJsonSchema.IArray": {
1363
+ description: "Array type info.\n\n### Description of {@link items} property:\n\n> Items type info.\n> \n> The `items` means the type of the array elements. In other words, it is\n> the type schema info of the `T` in the TypeScript array type\n> `Array<T>`.",
1364
+ type: "object",
1365
+ properties: {
1366
+ items: {
1367
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
1368
+ },
1369
+ uniqueItems: {
1370
+ description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
1371
+ type: "boolean"
1372
+ },
1373
+ minItems: {
1374
+ description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.\n\n\n@minimum 0",
1375
+ type: "integer"
1376
+ },
1377
+ maxItems: {
1378
+ description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.\n\n\n@minimum 0",
1379
+ type: "integer"
1380
+ },
1381
+ type: {
1382
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1383
+ type: "string",
1384
+ "enum": [
1385
+ "array"
1386
+ ]
1387
+ }
1388
+ },
1389
+ required: [
1390
+ "items",
1391
+ "type"
1392
+ ]
1393
+ },
1394
+ "AutoBeOpenApi.IJsonSchema.IObject": {
1395
+ description: "Object type info.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's\n> regular properties. The key is the name of the regular property, and\n> the value is the type schema info.\n> \n> IMPORTANT: Each property in this object MUST have a detailed\n> description that references and aligns with the description comments\n> from the corresponding Prisma DB schema column.\n> \n> If you need additional properties that is represented by dynamic key,\n> you can use the {@link additionalProperties} instead.",
1396
+ type: "object",
1397
+ properties: {
1398
+ properties: {
1399
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
1400
+ },
1401
+ additionalProperties: {
1402
+ description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
1403
+ anyOf: [
1404
+ {
1405
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
1406
+ },
1407
+ {
1408
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
1409
+ },
1410
+ {
1411
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
1412
+ },
1413
+ {
1414
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
1415
+ },
1416
+ {
1417
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
1418
+ },
1419
+ {
1420
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
1421
+ },
1422
+ {
1423
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
1424
+ },
1425
+ {
1426
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
1427
+ },
1428
+ {
1429
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
1430
+ },
1431
+ {
1432
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
1433
+ },
1434
+ {
1435
+ type: "boolean",
1436
+ "enum": [
1437
+ false
1438
+ ]
1439
+ }
1440
+ ]
1441
+ },
1442
+ required: {
1443
+ description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
1444
+ type: "array",
1445
+ items: {
1446
+ type: "string"
1447
+ }
1448
+ },
1449
+ type: {
1450
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1451
+ type: "string",
1452
+ "enum": [
1453
+ "object"
1454
+ ]
1455
+ }
1456
+ },
1457
+ required: [
1458
+ "properties",
1459
+ "required",
1460
+ "type"
1461
+ ]
1462
+ },
1463
+ "AutoBeOpenApi.IJsonSchema.INull": {
1464
+ description: "Null type.",
1465
+ type: "object",
1466
+ properties: {
1467
+ type: {
1468
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1469
+ type: "string",
1470
+ "enum": [
1471
+ "null"
1472
+ ]
1473
+ }
1474
+ },
1475
+ required: [
1476
+ "type"
1477
+ ]
1478
+ },
1479
+ "AutoBeOpenApi.IJsonSchema.IReference": {
1480
+ description: "Reference type directing named schema.",
1481
+ type: "object",
1482
+ properties: {
1483
+ $ref: {
1484
+ description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
1485
+ type: "string"
1486
+ }
1487
+ },
1488
+ required: [
1489
+ "$ref"
1490
+ ]
1491
+ },
1492
+ "AutoBeOpenApi.IJsonSchema.IOneOf": {
1493
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.\n\n### Description of {@link discriminator} property:\n\n> Discriminator info of the union type.",
1494
+ type: "object",
1495
+ properties: {
1496
+ oneOf: {
1497
+ description: "List of the union types.",
1498
+ type: "array",
1499
+ items: {
1500
+ anyOf: [
1501
+ {
1502
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
1503
+ },
1504
+ {
1505
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
1506
+ },
1507
+ {
1508
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
1509
+ },
1510
+ {
1511
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
1512
+ },
1513
+ {
1514
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
1515
+ },
1516
+ {
1517
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
1518
+ },
1519
+ {
1520
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
1521
+ },
1522
+ {
1523
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
1524
+ },
1525
+ {
1526
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
1527
+ }
1528
+ ]
1529
+ }
1530
+ },
1531
+ discriminator: {
1532
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
1533
+ }
1534
+ },
1535
+ required: [
1536
+ "oneOf"
1537
+ ]
1538
+ },
1539
+ "AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
1540
+ description: "Discriminator info of the union type.\n\n### Description of {@link mapping} property:\n\n> Mapping of the discriminator value to the schema name.\n> \n> This property is valid only for {@link IReference} typed\n> {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n> discriminator value, and `value` of `mapping` is the schema name like\n> `#/components/schemas/SomeObject`.",
1541
+ type: "object",
1542
+ properties: {
1543
+ propertyName: {
1544
+ description: "Property name for the discriminator.",
1545
+ type: "string"
1546
+ },
1547
+ mapping: {
1548
+ $ref: "#/$defs/Recordstringstring"
1549
+ }
1550
+ },
1551
+ required: [
1552
+ "propertyName"
1553
+ ]
1554
+ },
1555
+ Recordstringstring: {
1556
+ description: "Construct a type with a set of properties K of type T",
1557
+ type: "object",
1558
+ properties: {},
1559
+ required: [],
1560
+ additionalProperties: {
1561
+ type: "string"
1562
+ }
1563
+ },
1564
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IObject": {
1565
+ description: "Object type info.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's\n> regular properties. The key is the name of the regular property, and\n> the value is the type schema info.\n> \n> IMPORTANT: Each property in this object MUST have a detailed\n> description that references and aligns with the description comments\n> from the corresponding Prisma DB schema column.\n> \n> If you need additional properties that is represented by dynamic key,\n> you can use the {@link additionalProperties} instead.",
1566
+ type: "object",
1567
+ properties: {
1568
+ properties: {
1569
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
1570
+ },
1571
+ additionalProperties: {
1572
+ description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
1573
+ anyOf: [
1574
+ {
1575
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
1576
+ },
1577
+ {
1578
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
1579
+ },
1580
+ {
1581
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
1582
+ },
1583
+ {
1584
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
1585
+ },
1586
+ {
1587
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
1588
+ },
1589
+ {
1590
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
1591
+ },
1592
+ {
1593
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
1594
+ },
1595
+ {
1596
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
1597
+ },
1598
+ {
1599
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
1600
+ },
1601
+ {
1602
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
1603
+ },
1604
+ {
1605
+ type: "boolean",
1606
+ "enum": [
1607
+ false
1608
+ ]
1609
+ }
1610
+ ]
1611
+ },
1612
+ required: {
1613
+ description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
1614
+ type: "array",
1615
+ items: {
1616
+ type: "string"
1617
+ }
1618
+ },
1619
+ type: {
1620
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1621
+ type: "string",
1622
+ "enum": [
1623
+ "object"
1624
+ ]
1625
+ },
1626
+ description: {
1627
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1628
+ type: "string"
1629
+ }
1630
+ },
1631
+ required: [
1632
+ "properties",
1633
+ "required",
1634
+ "type",
1635
+ "description"
1636
+ ]
1637
+ },
1638
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IReference": {
1639
+ description: "Reference type directing named schema.",
1640
+ type: "object",
1641
+ properties: {
1642
+ $ref: {
1643
+ description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
1644
+ type: "string"
1645
+ },
1646
+ description: {
1647
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1648
+ type: "string"
1649
+ }
1650
+ },
1651
+ required: [
1652
+ "$ref",
1653
+ "description"
1654
+ ]
1655
+ },
1656
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf": {
1657
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.\n\n### Description of {@link discriminator} property:\n\n> Discriminator info of the union type.",
1658
+ type: "object",
1659
+ properties: {
1660
+ oneOf: {
1661
+ description: "List of the union types.",
1662
+ type: "array",
1663
+ items: {
1664
+ anyOf: [
1665
+ {
1666
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
1667
+ },
1668
+ {
1669
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
1670
+ },
1671
+ {
1672
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
1673
+ },
1674
+ {
1675
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
1676
+ },
1677
+ {
1678
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
1679
+ },
1680
+ {
1681
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
1682
+ },
1683
+ {
1684
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
1685
+ },
1686
+ {
1687
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
1688
+ },
1689
+ {
1690
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
1691
+ }
1692
+ ]
1693
+ }
1694
+ },
1695
+ discriminator: {
1696
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
1697
+ },
1698
+ description: {
1699
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
1700
+ type: "string"
1701
+ }
1702
+ },
1703
+ required: [
1704
+ "oneOf",
1705
+ "description"
1706
+ ]
1707
+ },
1708
+ "AutoBeOpenApi.IJsonSchemaDescriptive.INull": {
1709
+ description: "Null type.",
313
1710
  type: "object",
314
1711
  properties: {
1712
+ type: {
1713
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
1714
+ type: "string",
1715
+ "enum": [
1716
+ "null"
1717
+ ]
1718
+ },
315
1719
  description: {
316
1720
  description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
317
1721
  type: "string"
318
1722
  }
319
1723
  },
320
1724
  required: [
1725
+ "type",
321
1726
  "description"
322
1727
  ]
323
1728
  }
@@ -328,18 +1733,90 @@ const collection = {
328
1733
  const value = input[key];
329
1734
  if (undefined === value)
330
1735
  return true;
331
- return "object" === typeof value && null !== value && _io2(value);
332
- }); const _io2 = input => "string" === typeof input.description; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
1736
+ return "object" === typeof value && null !== value && _iu1(value);
1737
+ }); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io7 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io8 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io10 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io11 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io12 = input => "boolean" === input.type; const _io13 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io14 = input => "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io15 = input => "string" === typeof input.$ref; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)); const _io17 = input => "null" === input.type; const _io18 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io19(input.mapping)); const _io19 = input => Object.keys(input).every(key => {
1738
+ const value = input[key];
1739
+ if (undefined === value)
1740
+ return true;
1741
+ return "string" === typeof value;
1742
+ }); const _io20 = input => "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type && "string" === typeof input.description; const _io21 = input => "string" === typeof input.$ref && "string" === typeof input.description; const _io22 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)) && "string" === typeof input.description; const _io23 = input => "null" === input.type && "string" === typeof input.description; const _iu0 = input => (() => {
1743
+ if ("number" === input.type)
1744
+ return _io9(input);
1745
+ else if ("integer" === input.type)
1746
+ return _io8(input);
1747
+ else if ("string" === input.type)
1748
+ return _io10(input);
1749
+ else if (undefined !== input["const"])
1750
+ return _io11(input);
1751
+ else if ("null" === input.type)
1752
+ return _io17(input);
1753
+ else if ("boolean" === input.type)
1754
+ return _io12(input);
1755
+ else if ("array" === input.type)
1756
+ return _io13(input);
1757
+ else if ("object" === input.type)
1758
+ return _io14(input);
1759
+ else if (undefined !== input.$ref)
1760
+ return _io15(input);
1761
+ else
1762
+ return false;
1763
+ })(); const _iu1 = input => (() => {
1764
+ if (undefined !== input["const"])
1765
+ return _io2(input);
1766
+ else if ("boolean" === input.type)
1767
+ return _io3(input);
1768
+ else if ("number" === input.type)
1769
+ return _io5(input);
1770
+ else if ("integer" === input.type)
1771
+ return _io4(input);
1772
+ else if ("string" === input.type)
1773
+ return _io6(input);
1774
+ else if ("array" === input.type)
1775
+ return _io7(input);
1776
+ else if ("object" === input.type)
1777
+ return _io20(input);
1778
+ else if (undefined !== input.$ref)
1779
+ return _io21(input);
1780
+ else if (undefined !== input.oneOf)
1781
+ return _io22(input);
1782
+ else if ("null" === input.type)
1783
+ return _io23(input);
1784
+ else
1785
+ return false;
1786
+ })(); const _iu2 = input => (() => {
1787
+ if ("number" === input.type)
1788
+ return _io9(input);
1789
+ else if ("integer" === input.type)
1790
+ return _io8(input);
1791
+ else if ("string" === input.type)
1792
+ return _io10(input);
1793
+ else if (undefined !== input["const"])
1794
+ return _io11(input);
1795
+ else if ("null" === input.type)
1796
+ return _io17(input);
1797
+ else if ("boolean" === input.type)
1798
+ return _io12(input);
1799
+ else if ("array" === input.type)
1800
+ return _io13(input);
1801
+ else if ("object" === input.type)
1802
+ return _io14(input);
1803
+ else if (undefined !== input.$ref)
1804
+ return _io15(input);
1805
+ else if (undefined !== input.oneOf)
1806
+ return _io16(input);
1807
+ else
1808
+ return false;
1809
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
333
1810
  path: _path + ".draft",
334
1811
  expected: "string",
335
1812
  value: input.draft
336
1813
  }), ("object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) || _report(_exceptionable, {
337
1814
  path: _path + ".schemas",
338
- expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>>",
1815
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
339
1816
  value: input.schemas
340
1817
  })) && _vo1(input.schemas, _path + ".schemas", true && _exceptionable) || _report(_exceptionable, {
341
1818
  path: _path + ".schemas",
342
- expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>>",
1819
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
343
1820
  value: input.schemas
344
1821
  })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
345
1822
  const value = input[key];
@@ -347,22 +1824,574 @@ const collection = {
347
1824
  return true;
348
1825
  return ("object" === typeof value && null !== value || _report(_exceptionable, {
349
1826
  path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
350
- expected: "AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>",
1827
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
351
1828
  value: value
352
- })) && _vo2(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
1829
+ })) && _vu1(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
353
1830
  path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
354
- expected: "AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>",
1831
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
355
1832
  value: value
356
1833
  });
357
- }).every(flag => flag)].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
1834
+ }).every(flag => flag)].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
1835
+ path: _path + "[\"const\"]",
1836
+ expected: "(boolean | number | string)",
1837
+ value: input["const"]
1838
+ }), "string" === typeof input.description || _report(_exceptionable, {
358
1839
  path: _path + ".description",
359
1840
  expected: "string",
360
1841
  value: input.description
361
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
362
- if (false === __is(input)) {
363
- errors = [];
364
- _report = __typia_transform__validateReport._validateReport(errors);
365
- ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1842
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
1843
+ path: _path + ".type",
1844
+ expected: "\"boolean\"",
1845
+ value: input.type
1846
+ }), "string" === typeof input.description || _report(_exceptionable, {
1847
+ path: _path + ".description",
1848
+ expected: "string",
1849
+ value: input.description
1850
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
1851
+ path: _path + ".minimum",
1852
+ expected: "number & Type<\"int64\">",
1853
+ value: input.minimum
1854
+ })) || _report(_exceptionable, {
1855
+ path: _path + ".minimum",
1856
+ expected: "((number & Type<\"int64\">) | undefined)",
1857
+ value: input.minimum
1858
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
1859
+ path: _path + ".maximum",
1860
+ expected: "number & Type<\"int64\">",
1861
+ value: input.maximum
1862
+ })) || _report(_exceptionable, {
1863
+ path: _path + ".maximum",
1864
+ expected: "((number & Type<\"int64\">) | undefined)",
1865
+ value: input.maximum
1866
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
1867
+ path: _path + ".exclusiveMinimum",
1868
+ expected: "(number | undefined)",
1869
+ value: input.exclusiveMinimum
1870
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
1871
+ path: _path + ".exclusiveMaximum",
1872
+ expected: "(number | undefined)",
1873
+ value: input.exclusiveMaximum
1874
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
1875
+ path: _path + ".multipleOf",
1876
+ expected: "number & Type<\"uint64\">",
1877
+ value: input.multipleOf
1878
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
1879
+ path: _path + ".multipleOf",
1880
+ expected: "number & ExclusiveMinimum<0>",
1881
+ value: input.multipleOf
1882
+ })) || _report(_exceptionable, {
1883
+ path: _path + ".multipleOf",
1884
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
1885
+ value: input.multipleOf
1886
+ }), "integer" === input.type || _report(_exceptionable, {
1887
+ path: _path + ".type",
1888
+ expected: "\"integer\"",
1889
+ value: input.type
1890
+ }), "string" === typeof input.description || _report(_exceptionable, {
1891
+ path: _path + ".description",
1892
+ expected: "string",
1893
+ value: input.description
1894
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
1895
+ path: _path + ".minimum",
1896
+ expected: "(number | undefined)",
1897
+ value: input.minimum
1898
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
1899
+ path: _path + ".maximum",
1900
+ expected: "(number | undefined)",
1901
+ value: input.maximum
1902
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
1903
+ path: _path + ".exclusiveMinimum",
1904
+ expected: "(number | undefined)",
1905
+ value: input.exclusiveMinimum
1906
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
1907
+ path: _path + ".exclusiveMaximum",
1908
+ expected: "(number | undefined)",
1909
+ value: input.exclusiveMaximum
1910
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
1911
+ path: _path + ".multipleOf",
1912
+ expected: "number & ExclusiveMinimum<0>",
1913
+ value: input.multipleOf
1914
+ })) || _report(_exceptionable, {
1915
+ path: _path + ".multipleOf",
1916
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
1917
+ value: input.multipleOf
1918
+ }), "number" === input.type || _report(_exceptionable, {
1919
+ path: _path + ".type",
1920
+ expected: "\"number\"",
1921
+ value: input.type
1922
+ }), "string" === typeof input.description || _report(_exceptionable, {
1923
+ path: _path + ".description",
1924
+ expected: "string",
1925
+ value: input.description
1926
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
1927
+ path: _path + ".format",
1928
+ expected: "(string | undefined)",
1929
+ value: input.format
1930
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
1931
+ path: _path + ".pattern",
1932
+ expected: "(string | undefined)",
1933
+ value: input.pattern
1934
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
1935
+ path: _path + ".contentMediaType",
1936
+ expected: "(string | undefined)",
1937
+ value: input.contentMediaType
1938
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
1939
+ path: _path + ".minLength",
1940
+ expected: "number & Type<\"uint64\">",
1941
+ value: input.minLength
1942
+ })) || _report(_exceptionable, {
1943
+ path: _path + ".minLength",
1944
+ expected: "((number & Type<\"uint64\">) | undefined)",
1945
+ value: input.minLength
1946
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
1947
+ path: _path + ".maxLength",
1948
+ expected: "number & Type<\"uint64\">",
1949
+ value: input.maxLength
1950
+ })) || _report(_exceptionable, {
1951
+ path: _path + ".maxLength",
1952
+ expected: "((number & Type<\"uint64\">) | undefined)",
1953
+ value: input.maxLength
1954
+ }), "string" === input.type || _report(_exceptionable, {
1955
+ path: _path + ".type",
1956
+ expected: "\"string\"",
1957
+ value: input.type
1958
+ }), "string" === typeof input.description || _report(_exceptionable, {
1959
+ path: _path + ".description",
1960
+ expected: "string",
1961
+ value: input.description
1962
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
1963
+ path: _path + ".items",
1964
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
1965
+ value: input.items
1966
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
1967
+ path: _path + ".items",
1968
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
1969
+ value: input.items
1970
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
1971
+ path: _path + ".uniqueItems",
1972
+ expected: "(boolean | undefined)",
1973
+ value: input.uniqueItems
1974
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
1975
+ path: _path + ".minItems",
1976
+ expected: "number & Type<\"uint64\">",
1977
+ value: input.minItems
1978
+ })) || _report(_exceptionable, {
1979
+ path: _path + ".minItems",
1980
+ expected: "((number & Type<\"uint64\">) | undefined)",
1981
+ value: input.minItems
1982
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
1983
+ path: _path + ".maxItems",
1984
+ expected: "number & Type<\"uint64\">",
1985
+ value: input.maxItems
1986
+ })) || _report(_exceptionable, {
1987
+ path: _path + ".maxItems",
1988
+ expected: "((number & Type<\"uint64\">) | undefined)",
1989
+ value: input.maxItems
1990
+ }), "array" === input.type || _report(_exceptionable, {
1991
+ path: _path + ".type",
1992
+ expected: "\"array\"",
1993
+ value: input.type
1994
+ }), "string" === typeof input.description || _report(_exceptionable, {
1995
+ path: _path + ".description",
1996
+ expected: "string",
1997
+ value: input.description
1998
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
1999
+ path: _path + ".minimum",
2000
+ expected: "number & Type<\"int64\">",
2001
+ value: input.minimum
2002
+ })) || _report(_exceptionable, {
2003
+ path: _path + ".minimum",
2004
+ expected: "((number & Type<\"int64\">) | undefined)",
2005
+ value: input.minimum
2006
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
2007
+ path: _path + ".maximum",
2008
+ expected: "number & Type<\"int64\">",
2009
+ value: input.maximum
2010
+ })) || _report(_exceptionable, {
2011
+ path: _path + ".maximum",
2012
+ expected: "((number & Type<\"int64\">) | undefined)",
2013
+ value: input.maximum
2014
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
2015
+ path: _path + ".exclusiveMinimum",
2016
+ expected: "(number | undefined)",
2017
+ value: input.exclusiveMinimum
2018
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
2019
+ path: _path + ".exclusiveMaximum",
2020
+ expected: "(number | undefined)",
2021
+ value: input.exclusiveMaximum
2022
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
2023
+ path: _path + ".multipleOf",
2024
+ expected: "number & Type<\"uint64\">",
2025
+ value: input.multipleOf
2026
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
2027
+ path: _path + ".multipleOf",
2028
+ expected: "number & ExclusiveMinimum<0>",
2029
+ value: input.multipleOf
2030
+ })) || _report(_exceptionable, {
2031
+ path: _path + ".multipleOf",
2032
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
2033
+ value: input.multipleOf
2034
+ }), "integer" === input.type || _report(_exceptionable, {
2035
+ path: _path + ".type",
2036
+ expected: "\"integer\"",
2037
+ value: input.type
2038
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
2039
+ path: _path + ".minimum",
2040
+ expected: "(number | undefined)",
2041
+ value: input.minimum
2042
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
2043
+ path: _path + ".maximum",
2044
+ expected: "(number | undefined)",
2045
+ value: input.maximum
2046
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
2047
+ path: _path + ".exclusiveMinimum",
2048
+ expected: "(number | undefined)",
2049
+ value: input.exclusiveMinimum
2050
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
2051
+ path: _path + ".exclusiveMaximum",
2052
+ expected: "(number | undefined)",
2053
+ value: input.exclusiveMaximum
2054
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
2055
+ path: _path + ".multipleOf",
2056
+ expected: "number & ExclusiveMinimum<0>",
2057
+ value: input.multipleOf
2058
+ })) || _report(_exceptionable, {
2059
+ path: _path + ".multipleOf",
2060
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
2061
+ value: input.multipleOf
2062
+ }), "number" === input.type || _report(_exceptionable, {
2063
+ path: _path + ".type",
2064
+ expected: "\"number\"",
2065
+ value: input.type
2066
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
2067
+ path: _path + ".format",
2068
+ expected: "(string | undefined)",
2069
+ value: input.format
2070
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
2071
+ path: _path + ".pattern",
2072
+ expected: "(string | undefined)",
2073
+ value: input.pattern
2074
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
2075
+ path: _path + ".contentMediaType",
2076
+ expected: "(string | undefined)",
2077
+ value: input.contentMediaType
2078
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
2079
+ path: _path + ".minLength",
2080
+ expected: "number & Type<\"uint64\">",
2081
+ value: input.minLength
2082
+ })) || _report(_exceptionable, {
2083
+ path: _path + ".minLength",
2084
+ expected: "((number & Type<\"uint64\">) | undefined)",
2085
+ value: input.minLength
2086
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
2087
+ path: _path + ".maxLength",
2088
+ expected: "number & Type<\"uint64\">",
2089
+ value: input.maxLength
2090
+ })) || _report(_exceptionable, {
2091
+ path: _path + ".maxLength",
2092
+ expected: "((number & Type<\"uint64\">) | undefined)",
2093
+ value: input.maxLength
2094
+ }), "string" === input.type || _report(_exceptionable, {
2095
+ path: _path + ".type",
2096
+ expected: "\"string\"",
2097
+ value: input.type
2098
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
2099
+ path: _path + "[\"const\"]",
2100
+ expected: "(boolean | number | string)",
2101
+ value: input["const"]
2102
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
2103
+ path: _path + ".type",
2104
+ expected: "\"boolean\"",
2105
+ value: input.type
2106
+ })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
2107
+ path: _path + ".items",
2108
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
2109
+ value: input.items
2110
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
2111
+ path: _path + ".items",
2112
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
2113
+ value: input.items
2114
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
2115
+ path: _path + ".uniqueItems",
2116
+ expected: "(boolean | undefined)",
2117
+ value: input.uniqueItems
2118
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
2119
+ path: _path + ".minItems",
2120
+ expected: "number & Type<\"uint64\">",
2121
+ value: input.minItems
2122
+ })) || _report(_exceptionable, {
2123
+ path: _path + ".minItems",
2124
+ expected: "((number & Type<\"uint64\">) | undefined)",
2125
+ value: input.minItems
2126
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
2127
+ path: _path + ".maxItems",
2128
+ expected: "number & Type<\"uint64\">",
2129
+ value: input.maxItems
2130
+ })) || _report(_exceptionable, {
2131
+ path: _path + ".maxItems",
2132
+ expected: "((number & Type<\"uint64\">) | undefined)",
2133
+ value: input.maxItems
2134
+ }), "array" === input.type || _report(_exceptionable, {
2135
+ path: _path + ".type",
2136
+ expected: "\"array\"",
2137
+ value: input.type
2138
+ })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
2139
+ path: _path + ".properties",
2140
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
2141
+ value: input.properties
2142
+ })) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
2143
+ path: _path + ".properties",
2144
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
2145
+ value: input.properties
2146
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
2147
+ path: _path + ".additionalProperties",
2148
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
2149
+ value: input.additionalProperties
2150
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
2151
+ path: _path + ".additionalProperties",
2152
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
2153
+ value: input.additionalProperties
2154
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
2155
+ path: _path + ".additionalProperties",
2156
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
2157
+ value: input.additionalProperties
2158
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
2159
+ path: _path + ".required",
2160
+ expected: "Array<string>",
2161
+ value: input.required
2162
+ })) && input.required.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
2163
+ path: _path + ".required[" + _index5 + "]",
2164
+ expected: "string",
2165
+ value: elem
2166
+ })).every(flag => flag) || _report(_exceptionable, {
2167
+ path: _path + ".required",
2168
+ expected: "Array<string>",
2169
+ value: input.required
2170
+ }), "object" === input.type || _report(_exceptionable, {
2171
+ path: _path + ".type",
2172
+ expected: "\"object\"",
2173
+ value: input.type
2174
+ })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
2175
+ path: _path + ".$ref",
2176
+ expected: "string",
2177
+ value: input.$ref
2178
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
2179
+ path: _path + ".oneOf",
2180
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
2181
+ value: input.oneOf
2182
+ })) && input.oneOf.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2183
+ path: _path + ".oneOf[" + _index6 + "]",
2184
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
2185
+ value: elem
2186
+ })) && _vu0(elem, _path + ".oneOf[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
2187
+ path: _path + ".oneOf[" + _index6 + "]",
2188
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
2189
+ value: elem
2190
+ })).every(flag => flag) || _report(_exceptionable, {
2191
+ path: _path + ".oneOf",
2192
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
2193
+ value: input.oneOf
2194
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
2195
+ path: _path + ".discriminator",
2196
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
2197
+ value: input.discriminator
2198
+ })) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
2199
+ path: _path + ".discriminator",
2200
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
2201
+ value: input.discriminator
2202
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
2203
+ path: _path + ".type",
2204
+ expected: "\"null\"",
2205
+ value: input.type
2206
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => ["string" === typeof input.propertyName || _report(_exceptionable, {
2207
+ path: _path + ".propertyName",
2208
+ expected: "string",
2209
+ value: input.propertyName
2210
+ }), undefined === input.mapping || ("object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) || _report(_exceptionable, {
2211
+ path: _path + ".mapping",
2212
+ expected: "(Record<string, string> | undefined)",
2213
+ value: input.mapping
2214
+ })) && _vo19(input.mapping, _path + ".mapping", true && _exceptionable) || _report(_exceptionable, {
2215
+ path: _path + ".mapping",
2216
+ expected: "(Record<string, string> | undefined)",
2217
+ value: input.mapping
2218
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2219
+ const value = input[key];
2220
+ if (undefined === value)
2221
+ return true;
2222
+ return "string" === typeof value || _report(_exceptionable, {
2223
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2224
+ expected: "string",
2225
+ value: value
2226
+ });
2227
+ }).every(flag => flag)].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
2228
+ path: _path + ".properties",
2229
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
2230
+ value: input.properties
2231
+ })) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
2232
+ path: _path + ".properties",
2233
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
2234
+ value: input.properties
2235
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
2236
+ path: _path + ".additionalProperties",
2237
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
2238
+ value: input.additionalProperties
2239
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
2240
+ path: _path + ".additionalProperties",
2241
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
2242
+ value: input.additionalProperties
2243
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
2244
+ path: _path + ".additionalProperties",
2245
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
2246
+ value: input.additionalProperties
2247
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
2248
+ path: _path + ".required",
2249
+ expected: "Array<string>",
2250
+ value: input.required
2251
+ })) && input.required.map((elem, _index7) => "string" === typeof elem || _report(_exceptionable, {
2252
+ path: _path + ".required[" + _index7 + "]",
2253
+ expected: "string",
2254
+ value: elem
2255
+ })).every(flag => flag) || _report(_exceptionable, {
2256
+ path: _path + ".required",
2257
+ expected: "Array<string>",
2258
+ value: input.required
2259
+ }), "object" === input.type || _report(_exceptionable, {
2260
+ path: _path + ".type",
2261
+ expected: "\"object\"",
2262
+ value: input.type
2263
+ }), "string" === typeof input.description || _report(_exceptionable, {
2264
+ path: _path + ".description",
2265
+ expected: "string",
2266
+ value: input.description
2267
+ })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
2268
+ path: _path + ".$ref",
2269
+ expected: "string",
2270
+ value: input.$ref
2271
+ }), "string" === typeof input.description || _report(_exceptionable, {
2272
+ path: _path + ".description",
2273
+ expected: "string",
2274
+ value: input.description
2275
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
2276
+ path: _path + ".oneOf",
2277
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
2278
+ value: input.oneOf
2279
+ })) && input.oneOf.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2280
+ path: _path + ".oneOf[" + _index8 + "]",
2281
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
2282
+ value: elem
2283
+ })) && _vu0(elem, _path + ".oneOf[" + _index8 + "]", true && _exceptionable) || _report(_exceptionable, {
2284
+ path: _path + ".oneOf[" + _index8 + "]",
2285
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
2286
+ value: elem
2287
+ })).every(flag => flag) || _report(_exceptionable, {
2288
+ path: _path + ".oneOf",
2289
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
2290
+ value: input.oneOf
2291
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
2292
+ path: _path + ".discriminator",
2293
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
2294
+ value: input.discriminator
2295
+ })) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
2296
+ path: _path + ".discriminator",
2297
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
2298
+ value: input.discriminator
2299
+ }), "string" === typeof input.description || _report(_exceptionable, {
2300
+ path: _path + ".description",
2301
+ expected: "string",
2302
+ value: input.description
2303
+ })].every(flag => flag); const _vo23 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
2304
+ path: _path + ".type",
2305
+ expected: "\"null\"",
2306
+ value: input.type
2307
+ }), "string" === typeof input.description || _report(_exceptionable, {
2308
+ path: _path + ".description",
2309
+ expected: "string",
2310
+ value: input.description
2311
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
2312
+ if ("number" === input.type)
2313
+ return _vo9(input, _path, true && _exceptionable);
2314
+ else if ("integer" === input.type)
2315
+ return _vo8(input, _path, true && _exceptionable);
2316
+ else if ("string" === input.type)
2317
+ return _vo10(input, _path, true && _exceptionable);
2318
+ else if (undefined !== input["const"])
2319
+ return _vo11(input, _path, true && _exceptionable);
2320
+ else if ("null" === input.type)
2321
+ return _vo17(input, _path, true && _exceptionable);
2322
+ else if ("boolean" === input.type)
2323
+ return _vo12(input, _path, true && _exceptionable);
2324
+ else if ("array" === input.type)
2325
+ return _vo13(input, _path, true && _exceptionable);
2326
+ else if ("object" === input.type)
2327
+ return _vo14(input, _path, true && _exceptionable);
2328
+ else if (undefined !== input.$ref)
2329
+ return _vo15(input, _path, true && _exceptionable);
2330
+ else
2331
+ return _report(_exceptionable, {
2332
+ path: _path,
2333
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference)",
2334
+ value: input
2335
+ });
2336
+ })(); const _vu1 = (input, _path, _exceptionable = true) => (() => {
2337
+ if (undefined !== input["const"])
2338
+ return _vo2(input, _path, true && _exceptionable);
2339
+ else if ("boolean" === input.type)
2340
+ return _vo3(input, _path, true && _exceptionable);
2341
+ else if ("number" === input.type)
2342
+ return _vo5(input, _path, true && _exceptionable);
2343
+ else if ("integer" === input.type)
2344
+ return _vo4(input, _path, true && _exceptionable);
2345
+ else if ("string" === input.type)
2346
+ return _vo6(input, _path, true && _exceptionable);
2347
+ else if ("array" === input.type)
2348
+ return _vo7(input, _path, true && _exceptionable);
2349
+ else if ("object" === input.type)
2350
+ return _vo20(input, _path, true && _exceptionable);
2351
+ else if (undefined !== input.$ref)
2352
+ return _vo21(input, _path, true && _exceptionable);
2353
+ else if (undefined !== input.oneOf)
2354
+ return _vo22(input, _path, true && _exceptionable);
2355
+ else if ("null" === input.type)
2356
+ return _vo23(input, _path, true && _exceptionable);
2357
+ else
2358
+ return _report(_exceptionable, {
2359
+ path: _path,
2360
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.IString | AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.INull)",
2361
+ value: input
2362
+ });
2363
+ })(); const _vu2 = (input, _path, _exceptionable = true) => (() => {
2364
+ if ("number" === input.type)
2365
+ return _vo9(input, _path, true && _exceptionable);
2366
+ else if ("integer" === input.type)
2367
+ return _vo8(input, _path, true && _exceptionable);
2368
+ else if ("string" === input.type)
2369
+ return _vo10(input, _path, true && _exceptionable);
2370
+ else if (undefined !== input["const"])
2371
+ return _vo11(input, _path, true && _exceptionable);
2372
+ else if ("null" === input.type)
2373
+ return _vo17(input, _path, true && _exceptionable);
2374
+ else if ("boolean" === input.type)
2375
+ return _vo12(input, _path, true && _exceptionable);
2376
+ else if ("array" === input.type)
2377
+ return _vo13(input, _path, true && _exceptionable);
2378
+ else if ("object" === input.type)
2379
+ return _vo14(input, _path, true && _exceptionable);
2380
+ else if (undefined !== input.$ref)
2381
+ return _vo15(input, _path, true && _exceptionable);
2382
+ else if (undefined !== input.oneOf)
2383
+ return _vo16(input, _path, true && _exceptionable);
2384
+ else
2385
+ return _report(_exceptionable, {
2386
+ path: _path,
2387
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IOneOf)",
2388
+ value: input
2389
+ });
2390
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
2391
+ if (false === __is(input)) {
2392
+ errors = [];
2393
+ _report = __typia_transform__validateReport._validateReport(errors);
2394
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
366
2395
  path: _path + "",
367
2396
  expected: "IAutoBeInterfaceSchemaApplication.IProps",
368
2397
  value: input
@@ -416,7 +2445,7 @@ const collection = {
416
2445
  },
417
2446
  schemas: {
418
2447
  description: "Complete set of schema components for the OpenAPI specification.\n\nThis property contains comprehensive type definitions for all entities in\nthe system. It is the central repository of all named schema types that\nwill be used throughout the API specification.\n\nDO: Define all object types as named types in the components.schemas\nsection. DO NOT: Use inline anonymous object definitions.\n\nThis components object includes:\n\n- Main entity types (IEntityName)\n- Operation-specific variants (.ICreate, .IUpdate, .ISummary, etc.)\n- Container types (IPage<T> for pagination)\n- Enumeration types\n\nDO: Include detailed descriptions that reference the original Prisma\nschema comments and thoroughly document each property. DO: Use a $ref to\na named type in the components.schemas section for every property that\nreferences an object.\n\nThis applies to all objects in request bodies, response bodies, and\nproperties that are objects or arrays of objects.\n\nExample structure:\n\n```typescript\n{\n schemas: {\n IUser: {\n type: \"object\",\n properties: {\n id: { type: \"string\", format: \"uuid\" },\n email: { type: \"string\", format: \"email\" },\n profile: { \"$ref\": \"#/components/schemas/IUserProfile\" }\n },\n required: [\"id\", \"email\"],\n description: \"User entity representing system account holders...\"\n },\n \"IUser.ICreate\": { ... },\n // Additional schemas\n }\n}\n```",
419
- $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema"
2448
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
420
2449
  }
421
2450
  },
422
2451
  required: [
@@ -425,25 +2454,776 @@ const collection = {
425
2454
  ],
426
2455
  additionalProperties: false,
427
2456
  $defs: {
428
- "RecordstringAutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema": {
2457
+ "RecordstringAutoBeOpenApi.IJsonSchemaDescriptive": {
429
2458
  description: "Construct a type with a set of properties K of type T",
430
2459
  type: "object",
431
2460
  properties: {},
432
2461
  required: [],
433
2462
  additionalProperties: {
434
- $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema"
2463
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive"
435
2464
  }
436
2465
  },
437
- "AutoBeOpenApi.IJsonSchemaDescriptiveAutoBeOpenApi.IJsonSchema": {
2466
+ "AutoBeOpenApi.IJsonSchemaDescriptive": {
438
2467
  description: "Descriptive type schema info.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` is a type schema info of the OpenAPI\nGenerative, but it has a `description` property which is required.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` basically follows the JSON schema\nspecification of OpenAPI v3.1, but a little bit shrunk to remove ambiguous\nand duplicated expressions of OpenAPI v3.1 for the convenience, clarity,\nand AI generation.\n\nCRITICAL INSTRUCTIONS FOR OPTIMAL AI GENERATION:\n\nWhen creating descriptions for components, types, and properties:\n\n1. ALWAYS refer to and incorporate the description comments from the\n corresponding Prisma DB schema tables and columns. The descriptions\n should match the style, level of detail, and terminology used in the\n Prisma schema.\n2. ALL descriptions MUST be organized into MULTIPLE PARAGRAPHS separated by\n line breaks. Single-paragraph descriptions should be avoided.\n3. Descriptions should comprehensively cover:\n\n - The purpose and business meaning of the type or property\n - Relationships to other entities\n - Validation rules, constraints, and edge cases\n - Usage context and examples when helpful\n4. For each property of an object type, ensure its description reflects the\n corresponding column description in the Prisma DB schema, maintaining\n the same level of detail and terminology\n5. Descriptions should be so detailed and clear that anyone reading them can\n fully understand the type or property without needing to reference any\n other documentation",
2468
+ oneOf: [
2469
+ {
2470
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IConstant"
2471
+ },
2472
+ {
2473
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean"
2474
+ },
2475
+ {
2476
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IInteger"
2477
+ },
2478
+ {
2479
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INumber"
2480
+ },
2481
+ {
2482
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IString"
2483
+ },
2484
+ {
2485
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IArray"
2486
+ },
2487
+ {
2488
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IObject"
2489
+ },
2490
+ {
2491
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IReference"
2492
+ },
2493
+ {
2494
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf"
2495
+ },
2496
+ {
2497
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INull"
2498
+ }
2499
+ ]
2500
+ },
2501
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IConstant": {
2502
+ description: "Constant value type.",
2503
+ type: "object",
2504
+ properties: {
2505
+ "const": {
2506
+ description: "The constant value.",
2507
+ oneOf: [
2508
+ {
2509
+ type: "string"
2510
+ },
2511
+ {
2512
+ type: "number"
2513
+ },
2514
+ {
2515
+ type: "boolean"
2516
+ }
2517
+ ]
2518
+ },
2519
+ description: {
2520
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
2521
+ type: "string"
2522
+ }
2523
+ },
2524
+ required: [
2525
+ "const",
2526
+ "description"
2527
+ ]
2528
+ },
2529
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean": {
2530
+ description: "Boolean type info.",
2531
+ type: "object",
2532
+ properties: {
2533
+ type: {
2534
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2535
+ "const": "boolean"
2536
+ },
2537
+ description: {
2538
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
2539
+ type: "string"
2540
+ }
2541
+ },
2542
+ required: [
2543
+ "type",
2544
+ "description"
2545
+ ]
2546
+ },
2547
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IInteger": {
2548
+ description: "Integer type info.",
2549
+ type: "object",
2550
+ properties: {
2551
+ minimum: {
2552
+ description: "Minimum value restriction.",
2553
+ type: "integer"
2554
+ },
2555
+ maximum: {
2556
+ description: "Maximum value restriction.",
2557
+ type: "integer"
2558
+ },
2559
+ exclusiveMinimum: {
2560
+ description: "Exclusive minimum value restriction.",
2561
+ type: "number"
2562
+ },
2563
+ exclusiveMaximum: {
2564
+ description: "Exclusive maximum value restriction.",
2565
+ type: "number"
2566
+ },
2567
+ multipleOf: {
2568
+ description: "Multiple of value restriction.",
2569
+ type: "integer",
2570
+ exclusiveMinimum: 0
2571
+ },
2572
+ type: {
2573
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2574
+ "const": "integer"
2575
+ },
2576
+ description: {
2577
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
2578
+ type: "string"
2579
+ }
2580
+ },
2581
+ required: [
2582
+ "type",
2583
+ "description"
2584
+ ]
2585
+ },
2586
+ "AutoBeOpenApi.IJsonSchemaDescriptive.INumber": {
2587
+ description: "Number (double) type info.",
2588
+ type: "object",
2589
+ properties: {
2590
+ minimum: {
2591
+ description: "Minimum value restriction.",
2592
+ type: "number"
2593
+ },
2594
+ maximum: {
2595
+ description: "Maximum value restriction.",
2596
+ type: "number"
2597
+ },
2598
+ exclusiveMinimum: {
2599
+ description: "Exclusive minimum value restriction.",
2600
+ type: "number"
2601
+ },
2602
+ exclusiveMaximum: {
2603
+ description: "Exclusive maximum value restriction.",
2604
+ type: "number"
2605
+ },
2606
+ multipleOf: {
2607
+ description: "Multiple of value restriction.",
2608
+ type: "number",
2609
+ exclusiveMinimum: 0
2610
+ },
2611
+ type: {
2612
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2613
+ "const": "number"
2614
+ },
2615
+ description: {
2616
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
2617
+ type: "string"
2618
+ }
2619
+ },
2620
+ required: [
2621
+ "type",
2622
+ "description"
2623
+ ]
2624
+ },
2625
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IString": {
2626
+ description: "String type info.",
439
2627
  type: "object",
440
2628
  properties: {
2629
+ format: {
2630
+ description: "Format restriction.",
2631
+ type: "string"
2632
+ },
2633
+ pattern: {
2634
+ description: "Pattern restriction.",
2635
+ type: "string"
2636
+ },
2637
+ contentMediaType: {
2638
+ description: "Content media type restriction.",
2639
+ type: "string"
2640
+ },
2641
+ minLength: {
2642
+ description: "Minimum length restriction.",
2643
+ type: "integer",
2644
+ minimum: 0
2645
+ },
2646
+ maxLength: {
2647
+ description: "Maximum length restriction.",
2648
+ type: "integer",
2649
+ minimum: 0
2650
+ },
2651
+ type: {
2652
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2653
+ "const": "string"
2654
+ },
441
2655
  description: {
442
2656
  description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
443
2657
  type: "string"
444
2658
  }
445
2659
  },
446
2660
  required: [
2661
+ "type",
2662
+ "description"
2663
+ ]
2664
+ },
2665
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IArray": {
2666
+ description: "Array type info.",
2667
+ type: "object",
2668
+ properties: {
2669
+ items: {
2670
+ description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
2671
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
2672
+ },
2673
+ uniqueItems: {
2674
+ description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
2675
+ type: "boolean"
2676
+ },
2677
+ minItems: {
2678
+ description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.",
2679
+ type: "integer",
2680
+ minimum: 0
2681
+ },
2682
+ maxItems: {
2683
+ description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.",
2684
+ type: "integer",
2685
+ minimum: 0
2686
+ },
2687
+ type: {
2688
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2689
+ "const": "array"
2690
+ },
2691
+ description: {
2692
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
2693
+ type: "string"
2694
+ }
2695
+ },
2696
+ required: [
2697
+ "items",
2698
+ "type",
2699
+ "description"
2700
+ ]
2701
+ },
2702
+ "AutoBeOpenApi.IJsonSchema": {
2703
+ description: "Type schema info.\n\n`AutoBeOpenApi.IJsonSchema` is a type schema info of the OpenAPI\nGenerative.\n\n`AutoBeOpenApi.IJsonSchema` basically follows the JSON schema specification\nof OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience, clarity, and AI\ngeneration.\n\n## CRITICAL: Union Type Expression\n\nIn this type system, union types (including nullable types) MUST be\nexpressed using the `IOneOf` structure. NEVER use array notation in the\n`type` field.\n\n\u274C **FORBIDDEN** - Array notation in type field:\n\n```typescript\n{\n \"type\": [\"string\", \"null\"] // NEVER DO THIS!\n}\n```\n\n\u2705 **CORRECT** - Using IOneOf for unions:\n\n```typescript\n// For nullable string:\n{\n oneOf: [{ type: \"string\" }, { type: \"null\" }];\n}\n\n// For string | number union:\n{\n oneOf: [{ type: \"string\" }, { type: \"number\" }];\n}\n```\n\nThe `type` field in any schema object is a discriminator that identifies\nthe schema type and MUST contain exactly one string value.",
2704
+ oneOf: [
2705
+ {
2706
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
2707
+ },
2708
+ {
2709
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
2710
+ },
2711
+ {
2712
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
2713
+ },
2714
+ {
2715
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
2716
+ },
2717
+ {
2718
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
2719
+ },
2720
+ {
2721
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
2722
+ },
2723
+ {
2724
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
2725
+ },
2726
+ {
2727
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
2728
+ },
2729
+ {
2730
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
2731
+ },
2732
+ {
2733
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
2734
+ }
2735
+ ]
2736
+ },
2737
+ "AutoBeOpenApi.IJsonSchema.IInteger": {
2738
+ description: "Integer type info.",
2739
+ type: "object",
2740
+ properties: {
2741
+ minimum: {
2742
+ description: "Minimum value restriction.",
2743
+ type: "integer"
2744
+ },
2745
+ maximum: {
2746
+ description: "Maximum value restriction.",
2747
+ type: "integer"
2748
+ },
2749
+ exclusiveMinimum: {
2750
+ description: "Exclusive minimum value restriction.",
2751
+ type: "number"
2752
+ },
2753
+ exclusiveMaximum: {
2754
+ description: "Exclusive maximum value restriction.",
2755
+ type: "number"
2756
+ },
2757
+ multipleOf: {
2758
+ description: "Multiple of value restriction.",
2759
+ type: "integer",
2760
+ exclusiveMinimum: 0
2761
+ },
2762
+ type: {
2763
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2764
+ "const": "integer"
2765
+ }
2766
+ },
2767
+ required: [
2768
+ "type"
2769
+ ]
2770
+ },
2771
+ "AutoBeOpenApi.IJsonSchema.INumber": {
2772
+ description: "Number (double) type info.",
2773
+ type: "object",
2774
+ properties: {
2775
+ minimum: {
2776
+ description: "Minimum value restriction.",
2777
+ type: "number"
2778
+ },
2779
+ maximum: {
2780
+ description: "Maximum value restriction.",
2781
+ type: "number"
2782
+ },
2783
+ exclusiveMinimum: {
2784
+ description: "Exclusive minimum value restriction.",
2785
+ type: "number"
2786
+ },
2787
+ exclusiveMaximum: {
2788
+ description: "Exclusive maximum value restriction.",
2789
+ type: "number"
2790
+ },
2791
+ multipleOf: {
2792
+ description: "Multiple of value restriction.",
2793
+ type: "number",
2794
+ exclusiveMinimum: 0
2795
+ },
2796
+ type: {
2797
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2798
+ "const": "number"
2799
+ }
2800
+ },
2801
+ required: [
2802
+ "type"
2803
+ ]
2804
+ },
2805
+ "AutoBeOpenApi.IJsonSchema.IString": {
2806
+ description: "String type info.",
2807
+ type: "object",
2808
+ properties: {
2809
+ format: {
2810
+ description: "Format restriction.",
2811
+ type: "string"
2812
+ },
2813
+ pattern: {
2814
+ description: "Pattern restriction.",
2815
+ type: "string"
2816
+ },
2817
+ contentMediaType: {
2818
+ description: "Content media type restriction.",
2819
+ type: "string"
2820
+ },
2821
+ minLength: {
2822
+ description: "Minimum length restriction.",
2823
+ type: "integer",
2824
+ minimum: 0
2825
+ },
2826
+ maxLength: {
2827
+ description: "Maximum length restriction.",
2828
+ type: "integer",
2829
+ minimum: 0
2830
+ },
2831
+ type: {
2832
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2833
+ "const": "string"
2834
+ }
2835
+ },
2836
+ required: [
2837
+ "type"
2838
+ ]
2839
+ },
2840
+ "AutoBeOpenApi.IJsonSchema.IConstant": {
2841
+ description: "Constant value type.",
2842
+ type: "object",
2843
+ properties: {
2844
+ "const": {
2845
+ description: "The constant value.",
2846
+ oneOf: [
2847
+ {
2848
+ type: "string"
2849
+ },
2850
+ {
2851
+ type: "number"
2852
+ },
2853
+ {
2854
+ type: "boolean"
2855
+ }
2856
+ ]
2857
+ }
2858
+ },
2859
+ required: [
2860
+ "const"
2861
+ ]
2862
+ },
2863
+ "AutoBeOpenApi.IJsonSchema.IBoolean": {
2864
+ description: "Boolean type info.",
2865
+ type: "object",
2866
+ properties: {
2867
+ type: {
2868
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2869
+ "const": "boolean"
2870
+ }
2871
+ },
2872
+ required: [
2873
+ "type"
2874
+ ]
2875
+ },
2876
+ "AutoBeOpenApi.IJsonSchema.IArray": {
2877
+ description: "Array type info.",
2878
+ type: "object",
2879
+ properties: {
2880
+ items: {
2881
+ description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
2882
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
2883
+ },
2884
+ uniqueItems: {
2885
+ description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
2886
+ type: "boolean"
2887
+ },
2888
+ minItems: {
2889
+ description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.",
2890
+ type: "integer",
2891
+ minimum: 0
2892
+ },
2893
+ maxItems: {
2894
+ description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.",
2895
+ type: "integer",
2896
+ minimum: 0
2897
+ },
2898
+ type: {
2899
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2900
+ "const": "array"
2901
+ }
2902
+ },
2903
+ required: [
2904
+ "items",
2905
+ "type"
2906
+ ]
2907
+ },
2908
+ "AutoBeOpenApi.IJsonSchema.IObject": {
2909
+ description: "Object type info.",
2910
+ type: "object",
2911
+ properties: {
2912
+ properties: {
2913
+ description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
2914
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
2915
+ },
2916
+ additionalProperties: {
2917
+ description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
2918
+ oneOf: [
2919
+ {
2920
+ "const": false
2921
+ },
2922
+ {
2923
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
2924
+ },
2925
+ {
2926
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
2927
+ },
2928
+ {
2929
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
2930
+ },
2931
+ {
2932
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
2933
+ },
2934
+ {
2935
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
2936
+ },
2937
+ {
2938
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
2939
+ },
2940
+ {
2941
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
2942
+ },
2943
+ {
2944
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
2945
+ },
2946
+ {
2947
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
2948
+ },
2949
+ {
2950
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
2951
+ }
2952
+ ]
2953
+ },
2954
+ required: {
2955
+ description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
2956
+ type: "array",
2957
+ items: {
2958
+ type: "string"
2959
+ }
2960
+ },
2961
+ type: {
2962
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2963
+ "const": "object"
2964
+ }
2965
+ },
2966
+ required: [
2967
+ "properties",
2968
+ "required",
2969
+ "type"
2970
+ ]
2971
+ },
2972
+ "AutoBeOpenApi.IJsonSchema.INull": {
2973
+ description: "Null type.",
2974
+ type: "object",
2975
+ properties: {
2976
+ type: {
2977
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2978
+ "const": "null"
2979
+ }
2980
+ },
2981
+ required: [
2982
+ "type"
2983
+ ]
2984
+ },
2985
+ "AutoBeOpenApi.IJsonSchema.IReference": {
2986
+ description: "Reference type directing named schema.",
2987
+ type: "object",
2988
+ properties: {
2989
+ $ref: {
2990
+ description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
2991
+ type: "string"
2992
+ }
2993
+ },
2994
+ required: [
2995
+ "$ref"
2996
+ ]
2997
+ },
2998
+ "AutoBeOpenApi.IJsonSchema.IOneOf": {
2999
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
3000
+ type: "object",
3001
+ properties: {
3002
+ oneOf: {
3003
+ description: "List of the union types.",
3004
+ type: "array",
3005
+ items: {
3006
+ oneOf: [
3007
+ {
3008
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
3009
+ },
3010
+ {
3011
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
3012
+ },
3013
+ {
3014
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
3015
+ },
3016
+ {
3017
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
3018
+ },
3019
+ {
3020
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
3021
+ },
3022
+ {
3023
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
3024
+ },
3025
+ {
3026
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
3027
+ },
3028
+ {
3029
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
3030
+ },
3031
+ {
3032
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
3033
+ }
3034
+ ]
3035
+ }
3036
+ },
3037
+ discriminator: {
3038
+ description: "Discriminator info of the union type.",
3039
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
3040
+ }
3041
+ },
3042
+ required: [
3043
+ "oneOf"
3044
+ ]
3045
+ },
3046
+ "AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
3047
+ description: "Discriminator info of the union type.",
3048
+ type: "object",
3049
+ properties: {
3050
+ propertyName: {
3051
+ description: "Property name for the discriminator.",
3052
+ type: "string"
3053
+ },
3054
+ mapping: {
3055
+ description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`.",
3056
+ $ref: "#/$defs/Recordstringstring"
3057
+ }
3058
+ },
3059
+ required: [
3060
+ "propertyName"
3061
+ ]
3062
+ },
3063
+ Recordstringstring: {
3064
+ description: "Construct a type with a set of properties K of type T",
3065
+ type: "object",
3066
+ properties: {},
3067
+ required: [],
3068
+ additionalProperties: {
3069
+ type: "string"
3070
+ }
3071
+ },
3072
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IObject": {
3073
+ description: "Object type info.",
3074
+ type: "object",
3075
+ properties: {
3076
+ properties: {
3077
+ description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
3078
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
3079
+ },
3080
+ additionalProperties: {
3081
+ description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
3082
+ oneOf: [
3083
+ {
3084
+ "const": false
3085
+ },
3086
+ {
3087
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
3088
+ },
3089
+ {
3090
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
3091
+ },
3092
+ {
3093
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
3094
+ },
3095
+ {
3096
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
3097
+ },
3098
+ {
3099
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
3100
+ },
3101
+ {
3102
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
3103
+ },
3104
+ {
3105
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
3106
+ },
3107
+ {
3108
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
3109
+ },
3110
+ {
3111
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
3112
+ },
3113
+ {
3114
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
3115
+ }
3116
+ ]
3117
+ },
3118
+ required: {
3119
+ description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
3120
+ type: "array",
3121
+ items: {
3122
+ type: "string"
3123
+ }
3124
+ },
3125
+ type: {
3126
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
3127
+ "const": "object"
3128
+ },
3129
+ description: {
3130
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
3131
+ type: "string"
3132
+ }
3133
+ },
3134
+ required: [
3135
+ "properties",
3136
+ "required",
3137
+ "type",
3138
+ "description"
3139
+ ]
3140
+ },
3141
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IReference": {
3142
+ description: "Reference type directing named schema.",
3143
+ type: "object",
3144
+ properties: {
3145
+ $ref: {
3146
+ description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
3147
+ type: "string"
3148
+ },
3149
+ description: {
3150
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
3151
+ type: "string"
3152
+ }
3153
+ },
3154
+ required: [
3155
+ "$ref",
3156
+ "description"
3157
+ ]
3158
+ },
3159
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf": {
3160
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
3161
+ type: "object",
3162
+ properties: {
3163
+ oneOf: {
3164
+ description: "List of the union types.",
3165
+ type: "array",
3166
+ items: {
3167
+ oneOf: [
3168
+ {
3169
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
3170
+ },
3171
+ {
3172
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
3173
+ },
3174
+ {
3175
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
3176
+ },
3177
+ {
3178
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
3179
+ },
3180
+ {
3181
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
3182
+ },
3183
+ {
3184
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
3185
+ },
3186
+ {
3187
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
3188
+ },
3189
+ {
3190
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
3191
+ },
3192
+ {
3193
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
3194
+ }
3195
+ ]
3196
+ }
3197
+ },
3198
+ discriminator: {
3199
+ description: "Discriminator info of the union type.",
3200
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
3201
+ },
3202
+ description: {
3203
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
3204
+ type: "string"
3205
+ }
3206
+ },
3207
+ required: [
3208
+ "oneOf",
3209
+ "description"
3210
+ ]
3211
+ },
3212
+ "AutoBeOpenApi.IJsonSchemaDescriptive.INull": {
3213
+ description: "Null type.",
3214
+ type: "object",
3215
+ properties: {
3216
+ type: {
3217
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
3218
+ "const": "null"
3219
+ },
3220
+ description: {
3221
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
3222
+ type: "string"
3223
+ }
3224
+ },
3225
+ required: [
3226
+ "type",
447
3227
  "description"
448
3228
  ]
449
3229
  }
@@ -454,18 +3234,90 @@ const collection = {
454
3234
  const value = input[key];
455
3235
  if (undefined === value)
456
3236
  return true;
457
- return "object" === typeof value && null !== value && _io2(value);
458
- }); const _io2 = input => "string" === typeof input.description; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
3237
+ return "object" === typeof value && null !== value && _iu1(value);
3238
+ }); const _io2 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io3 = input => "boolean" === input.type && "string" === typeof input.description; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io7 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io8 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io10 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io11 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io12 = input => "boolean" === input.type; const _io13 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io14 = input => "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io15 = input => "string" === typeof input.$ref; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)); const _io17 = input => "null" === input.type; const _io18 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io19(input.mapping)); const _io19 = input => Object.keys(input).every(key => {
3239
+ const value = input[key];
3240
+ if (undefined === value)
3241
+ return true;
3242
+ return "string" === typeof value;
3243
+ }); const _io20 = input => "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io1(input.properties) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type && "string" === typeof input.description; const _io21 = input => "string" === typeof input.$ref && "string" === typeof input.description; const _io22 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io18(input.discriminator)) && "string" === typeof input.description; const _io23 = input => "null" === input.type && "string" === typeof input.description; const _iu0 = input => (() => {
3244
+ if ("number" === input.type)
3245
+ return _io9(input);
3246
+ else if ("integer" === input.type)
3247
+ return _io8(input);
3248
+ else if ("string" === input.type)
3249
+ return _io10(input);
3250
+ else if (undefined !== input["const"])
3251
+ return _io11(input);
3252
+ else if ("null" === input.type)
3253
+ return _io17(input);
3254
+ else if ("boolean" === input.type)
3255
+ return _io12(input);
3256
+ else if ("array" === input.type)
3257
+ return _io13(input);
3258
+ else if ("object" === input.type)
3259
+ return _io14(input);
3260
+ else if (undefined !== input.$ref)
3261
+ return _io15(input);
3262
+ else
3263
+ return false;
3264
+ })(); const _iu1 = input => (() => {
3265
+ if (undefined !== input["const"])
3266
+ return _io2(input);
3267
+ else if ("boolean" === input.type)
3268
+ return _io3(input);
3269
+ else if ("number" === input.type)
3270
+ return _io5(input);
3271
+ else if ("integer" === input.type)
3272
+ return _io4(input);
3273
+ else if ("string" === input.type)
3274
+ return _io6(input);
3275
+ else if ("array" === input.type)
3276
+ return _io7(input);
3277
+ else if ("object" === input.type)
3278
+ return _io20(input);
3279
+ else if (undefined !== input.$ref)
3280
+ return _io21(input);
3281
+ else if (undefined !== input.oneOf)
3282
+ return _io22(input);
3283
+ else if ("null" === input.type)
3284
+ return _io23(input);
3285
+ else
3286
+ return false;
3287
+ })(); const _iu2 = input => (() => {
3288
+ if ("number" === input.type)
3289
+ return _io9(input);
3290
+ else if ("integer" === input.type)
3291
+ return _io8(input);
3292
+ else if ("string" === input.type)
3293
+ return _io10(input);
3294
+ else if (undefined !== input["const"])
3295
+ return _io11(input);
3296
+ else if ("null" === input.type)
3297
+ return _io17(input);
3298
+ else if ("boolean" === input.type)
3299
+ return _io12(input);
3300
+ else if ("array" === input.type)
3301
+ return _io13(input);
3302
+ else if ("object" === input.type)
3303
+ return _io14(input);
3304
+ else if (undefined !== input.$ref)
3305
+ return _io15(input);
3306
+ else if (undefined !== input.oneOf)
3307
+ return _io16(input);
3308
+ else
3309
+ return false;
3310
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
459
3311
  path: _path + ".draft",
460
3312
  expected: "string",
461
3313
  value: input.draft
462
3314
  }), ("object" === typeof input.schemas && null !== input.schemas && false === Array.isArray(input.schemas) || _report(_exceptionable, {
463
3315
  path: _path + ".schemas",
464
- expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>>",
3316
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
465
3317
  value: input.schemas
466
3318
  })) && _vo1(input.schemas, _path + ".schemas", true && _exceptionable) || _report(_exceptionable, {
467
3319
  path: _path + ".schemas",
468
- expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>>",
3320
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
469
3321
  value: input.schemas
470
3322
  })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
471
3323
  const value = input[key];
@@ -473,18 +3325,570 @@ const collection = {
473
3325
  return true;
474
3326
  return ("object" === typeof value && null !== value || _report(_exceptionable, {
475
3327
  path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
476
- expected: "AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>",
3328
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
477
3329
  value: value
478
- })) && _vo2(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
3330
+ })) && _vu1(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
3331
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
3332
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
3333
+ value: value
3334
+ });
3335
+ }).every(flag => flag)].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
3336
+ path: _path + "[\"const\"]",
3337
+ expected: "(boolean | number | string)",
3338
+ value: input["const"]
3339
+ }), "string" === typeof input.description || _report(_exceptionable, {
3340
+ path: _path + ".description",
3341
+ expected: "string",
3342
+ value: input.description
3343
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
3344
+ path: _path + ".type",
3345
+ expected: "\"boolean\"",
3346
+ value: input.type
3347
+ }), "string" === typeof input.description || _report(_exceptionable, {
3348
+ path: _path + ".description",
3349
+ expected: "string",
3350
+ value: input.description
3351
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
3352
+ path: _path + ".minimum",
3353
+ expected: "number & Type<\"int64\">",
3354
+ value: input.minimum
3355
+ })) || _report(_exceptionable, {
3356
+ path: _path + ".minimum",
3357
+ expected: "((number & Type<\"int64\">) | undefined)",
3358
+ value: input.minimum
3359
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
3360
+ path: _path + ".maximum",
3361
+ expected: "number & Type<\"int64\">",
3362
+ value: input.maximum
3363
+ })) || _report(_exceptionable, {
3364
+ path: _path + ".maximum",
3365
+ expected: "((number & Type<\"int64\">) | undefined)",
3366
+ value: input.maximum
3367
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
3368
+ path: _path + ".exclusiveMinimum",
3369
+ expected: "(number | undefined)",
3370
+ value: input.exclusiveMinimum
3371
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
3372
+ path: _path + ".exclusiveMaximum",
3373
+ expected: "(number | undefined)",
3374
+ value: input.exclusiveMaximum
3375
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
3376
+ path: _path + ".multipleOf",
3377
+ expected: "number & Type<\"uint64\">",
3378
+ value: input.multipleOf
3379
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
3380
+ path: _path + ".multipleOf",
3381
+ expected: "number & ExclusiveMinimum<0>",
3382
+ value: input.multipleOf
3383
+ })) || _report(_exceptionable, {
3384
+ path: _path + ".multipleOf",
3385
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
3386
+ value: input.multipleOf
3387
+ }), "integer" === input.type || _report(_exceptionable, {
3388
+ path: _path + ".type",
3389
+ expected: "\"integer\"",
3390
+ value: input.type
3391
+ }), "string" === typeof input.description || _report(_exceptionable, {
3392
+ path: _path + ".description",
3393
+ expected: "string",
3394
+ value: input.description
3395
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
3396
+ path: _path + ".minimum",
3397
+ expected: "(number | undefined)",
3398
+ value: input.minimum
3399
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
3400
+ path: _path + ".maximum",
3401
+ expected: "(number | undefined)",
3402
+ value: input.maximum
3403
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
3404
+ path: _path + ".exclusiveMinimum",
3405
+ expected: "(number | undefined)",
3406
+ value: input.exclusiveMinimum
3407
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
3408
+ path: _path + ".exclusiveMaximum",
3409
+ expected: "(number | undefined)",
3410
+ value: input.exclusiveMaximum
3411
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
3412
+ path: _path + ".multipleOf",
3413
+ expected: "number & ExclusiveMinimum<0>",
3414
+ value: input.multipleOf
3415
+ })) || _report(_exceptionable, {
3416
+ path: _path + ".multipleOf",
3417
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
3418
+ value: input.multipleOf
3419
+ }), "number" === input.type || _report(_exceptionable, {
3420
+ path: _path + ".type",
3421
+ expected: "\"number\"",
3422
+ value: input.type
3423
+ }), "string" === typeof input.description || _report(_exceptionable, {
3424
+ path: _path + ".description",
3425
+ expected: "string",
3426
+ value: input.description
3427
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
3428
+ path: _path + ".format",
3429
+ expected: "(string | undefined)",
3430
+ value: input.format
3431
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
3432
+ path: _path + ".pattern",
3433
+ expected: "(string | undefined)",
3434
+ value: input.pattern
3435
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
3436
+ path: _path + ".contentMediaType",
3437
+ expected: "(string | undefined)",
3438
+ value: input.contentMediaType
3439
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
3440
+ path: _path + ".minLength",
3441
+ expected: "number & Type<\"uint64\">",
3442
+ value: input.minLength
3443
+ })) || _report(_exceptionable, {
3444
+ path: _path + ".minLength",
3445
+ expected: "((number & Type<\"uint64\">) | undefined)",
3446
+ value: input.minLength
3447
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
3448
+ path: _path + ".maxLength",
3449
+ expected: "number & Type<\"uint64\">",
3450
+ value: input.maxLength
3451
+ })) || _report(_exceptionable, {
3452
+ path: _path + ".maxLength",
3453
+ expected: "((number & Type<\"uint64\">) | undefined)",
3454
+ value: input.maxLength
3455
+ }), "string" === input.type || _report(_exceptionable, {
3456
+ path: _path + ".type",
3457
+ expected: "\"string\"",
3458
+ value: input.type
3459
+ }), "string" === typeof input.description || _report(_exceptionable, {
3460
+ path: _path + ".description",
3461
+ expected: "string",
3462
+ value: input.description
3463
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
3464
+ path: _path + ".items",
3465
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3466
+ value: input.items
3467
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
3468
+ path: _path + ".items",
3469
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3470
+ value: input.items
3471
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
3472
+ path: _path + ".uniqueItems",
3473
+ expected: "(boolean | undefined)",
3474
+ value: input.uniqueItems
3475
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
3476
+ path: _path + ".minItems",
3477
+ expected: "number & Type<\"uint64\">",
3478
+ value: input.minItems
3479
+ })) || _report(_exceptionable, {
3480
+ path: _path + ".minItems",
3481
+ expected: "((number & Type<\"uint64\">) | undefined)",
3482
+ value: input.minItems
3483
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
3484
+ path: _path + ".maxItems",
3485
+ expected: "number & Type<\"uint64\">",
3486
+ value: input.maxItems
3487
+ })) || _report(_exceptionable, {
3488
+ path: _path + ".maxItems",
3489
+ expected: "((number & Type<\"uint64\">) | undefined)",
3490
+ value: input.maxItems
3491
+ }), "array" === input.type || _report(_exceptionable, {
3492
+ path: _path + ".type",
3493
+ expected: "\"array\"",
3494
+ value: input.type
3495
+ }), "string" === typeof input.description || _report(_exceptionable, {
3496
+ path: _path + ".description",
3497
+ expected: "string",
3498
+ value: input.description
3499
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
3500
+ path: _path + ".minimum",
3501
+ expected: "number & Type<\"int64\">",
3502
+ value: input.minimum
3503
+ })) || _report(_exceptionable, {
3504
+ path: _path + ".minimum",
3505
+ expected: "((number & Type<\"int64\">) | undefined)",
3506
+ value: input.minimum
3507
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
3508
+ path: _path + ".maximum",
3509
+ expected: "number & Type<\"int64\">",
3510
+ value: input.maximum
3511
+ })) || _report(_exceptionable, {
3512
+ path: _path + ".maximum",
3513
+ expected: "((number & Type<\"int64\">) | undefined)",
3514
+ value: input.maximum
3515
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
3516
+ path: _path + ".exclusiveMinimum",
3517
+ expected: "(number | undefined)",
3518
+ value: input.exclusiveMinimum
3519
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
3520
+ path: _path + ".exclusiveMaximum",
3521
+ expected: "(number | undefined)",
3522
+ value: input.exclusiveMaximum
3523
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
3524
+ path: _path + ".multipleOf",
3525
+ expected: "number & Type<\"uint64\">",
3526
+ value: input.multipleOf
3527
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
3528
+ path: _path + ".multipleOf",
3529
+ expected: "number & ExclusiveMinimum<0>",
3530
+ value: input.multipleOf
3531
+ })) || _report(_exceptionable, {
3532
+ path: _path + ".multipleOf",
3533
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
3534
+ value: input.multipleOf
3535
+ }), "integer" === input.type || _report(_exceptionable, {
3536
+ path: _path + ".type",
3537
+ expected: "\"integer\"",
3538
+ value: input.type
3539
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
3540
+ path: _path + ".minimum",
3541
+ expected: "(number | undefined)",
3542
+ value: input.minimum
3543
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
3544
+ path: _path + ".maximum",
3545
+ expected: "(number | undefined)",
3546
+ value: input.maximum
3547
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
3548
+ path: _path + ".exclusiveMinimum",
3549
+ expected: "(number | undefined)",
3550
+ value: input.exclusiveMinimum
3551
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
3552
+ path: _path + ".exclusiveMaximum",
3553
+ expected: "(number | undefined)",
3554
+ value: input.exclusiveMaximum
3555
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
3556
+ path: _path + ".multipleOf",
3557
+ expected: "number & ExclusiveMinimum<0>",
3558
+ value: input.multipleOf
3559
+ })) || _report(_exceptionable, {
3560
+ path: _path + ".multipleOf",
3561
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
3562
+ value: input.multipleOf
3563
+ }), "number" === input.type || _report(_exceptionable, {
3564
+ path: _path + ".type",
3565
+ expected: "\"number\"",
3566
+ value: input.type
3567
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
3568
+ path: _path + ".format",
3569
+ expected: "(string | undefined)",
3570
+ value: input.format
3571
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
3572
+ path: _path + ".pattern",
3573
+ expected: "(string | undefined)",
3574
+ value: input.pattern
3575
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
3576
+ path: _path + ".contentMediaType",
3577
+ expected: "(string | undefined)",
3578
+ value: input.contentMediaType
3579
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
3580
+ path: _path + ".minLength",
3581
+ expected: "number & Type<\"uint64\">",
3582
+ value: input.minLength
3583
+ })) || _report(_exceptionable, {
3584
+ path: _path + ".minLength",
3585
+ expected: "((number & Type<\"uint64\">) | undefined)",
3586
+ value: input.minLength
3587
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
3588
+ path: _path + ".maxLength",
3589
+ expected: "number & Type<\"uint64\">",
3590
+ value: input.maxLength
3591
+ })) || _report(_exceptionable, {
3592
+ path: _path + ".maxLength",
3593
+ expected: "((number & Type<\"uint64\">) | undefined)",
3594
+ value: input.maxLength
3595
+ }), "string" === input.type || _report(_exceptionable, {
3596
+ path: _path + ".type",
3597
+ expected: "\"string\"",
3598
+ value: input.type
3599
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
3600
+ path: _path + "[\"const\"]",
3601
+ expected: "(boolean | number | string)",
3602
+ value: input["const"]
3603
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
3604
+ path: _path + ".type",
3605
+ expected: "\"boolean\"",
3606
+ value: input.type
3607
+ })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
3608
+ path: _path + ".items",
3609
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3610
+ value: input.items
3611
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
3612
+ path: _path + ".items",
3613
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3614
+ value: input.items
3615
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
3616
+ path: _path + ".uniqueItems",
3617
+ expected: "(boolean | undefined)",
3618
+ value: input.uniqueItems
3619
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
3620
+ path: _path + ".minItems",
3621
+ expected: "number & Type<\"uint64\">",
3622
+ value: input.minItems
3623
+ })) || _report(_exceptionable, {
3624
+ path: _path + ".minItems",
3625
+ expected: "((number & Type<\"uint64\">) | undefined)",
3626
+ value: input.minItems
3627
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
3628
+ path: _path + ".maxItems",
3629
+ expected: "number & Type<\"uint64\">",
3630
+ value: input.maxItems
3631
+ })) || _report(_exceptionable, {
3632
+ path: _path + ".maxItems",
3633
+ expected: "((number & Type<\"uint64\">) | undefined)",
3634
+ value: input.maxItems
3635
+ }), "array" === input.type || _report(_exceptionable, {
3636
+ path: _path + ".type",
3637
+ expected: "\"array\"",
3638
+ value: input.type
3639
+ })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
3640
+ path: _path + ".properties",
3641
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
3642
+ value: input.properties
3643
+ })) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
3644
+ path: _path + ".properties",
3645
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
3646
+ value: input.properties
3647
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
3648
+ path: _path + ".additionalProperties",
3649
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
3650
+ value: input.additionalProperties
3651
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
3652
+ path: _path + ".additionalProperties",
3653
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
3654
+ value: input.additionalProperties
3655
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
3656
+ path: _path + ".additionalProperties",
3657
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
3658
+ value: input.additionalProperties
3659
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
3660
+ path: _path + ".required",
3661
+ expected: "Array<string>",
3662
+ value: input.required
3663
+ })) && input.required.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
3664
+ path: _path + ".required[" + _index5 + "]",
3665
+ expected: "string",
3666
+ value: elem
3667
+ })).every(flag => flag) || _report(_exceptionable, {
3668
+ path: _path + ".required",
3669
+ expected: "Array<string>",
3670
+ value: input.required
3671
+ }), "object" === input.type || _report(_exceptionable, {
3672
+ path: _path + ".type",
3673
+ expected: "\"object\"",
3674
+ value: input.type
3675
+ })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
3676
+ path: _path + ".$ref",
3677
+ expected: "string",
3678
+ value: input.$ref
3679
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
3680
+ path: _path + ".oneOf",
3681
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
3682
+ value: input.oneOf
3683
+ })) && input.oneOf.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
3684
+ path: _path + ".oneOf[" + _index6 + "]",
3685
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3686
+ value: elem
3687
+ })) && _vu0(elem, _path + ".oneOf[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
3688
+ path: _path + ".oneOf[" + _index6 + "]",
3689
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3690
+ value: elem
3691
+ })).every(flag => flag) || _report(_exceptionable, {
3692
+ path: _path + ".oneOf",
3693
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
3694
+ value: input.oneOf
3695
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
3696
+ path: _path + ".discriminator",
3697
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
3698
+ value: input.discriminator
3699
+ })) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
3700
+ path: _path + ".discriminator",
3701
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
3702
+ value: input.discriminator
3703
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
3704
+ path: _path + ".type",
3705
+ expected: "\"null\"",
3706
+ value: input.type
3707
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => ["string" === typeof input.propertyName || _report(_exceptionable, {
3708
+ path: _path + ".propertyName",
3709
+ expected: "string",
3710
+ value: input.propertyName
3711
+ }), undefined === input.mapping || ("object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) || _report(_exceptionable, {
3712
+ path: _path + ".mapping",
3713
+ expected: "(Record<string, string> | undefined)",
3714
+ value: input.mapping
3715
+ })) && _vo19(input.mapping, _path + ".mapping", true && _exceptionable) || _report(_exceptionable, {
3716
+ path: _path + ".mapping",
3717
+ expected: "(Record<string, string> | undefined)",
3718
+ value: input.mapping
3719
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
3720
+ const value = input[key];
3721
+ if (undefined === value)
3722
+ return true;
3723
+ return "string" === typeof value || _report(_exceptionable, {
479
3724
  path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
480
- expected: "AutoBeOpenApi.IJsonSchemaDescriptive<AutoBeOpenApi.IJsonSchema>",
3725
+ expected: "string",
481
3726
  value: value
482
3727
  });
483
- }).every(flag => flag)].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
3728
+ }).every(flag => flag)].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
3729
+ path: _path + ".properties",
3730
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
3731
+ value: input.properties
3732
+ })) && _vo1(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
3733
+ path: _path + ".properties",
3734
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
3735
+ value: input.properties
3736
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
3737
+ path: _path + ".additionalProperties",
3738
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
3739
+ value: input.additionalProperties
3740
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
3741
+ path: _path + ".additionalProperties",
3742
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
3743
+ value: input.additionalProperties
3744
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
3745
+ path: _path + ".additionalProperties",
3746
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
3747
+ value: input.additionalProperties
3748
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
3749
+ path: _path + ".required",
3750
+ expected: "Array<string>",
3751
+ value: input.required
3752
+ })) && input.required.map((elem, _index7) => "string" === typeof elem || _report(_exceptionable, {
3753
+ path: _path + ".required[" + _index7 + "]",
3754
+ expected: "string",
3755
+ value: elem
3756
+ })).every(flag => flag) || _report(_exceptionable, {
3757
+ path: _path + ".required",
3758
+ expected: "Array<string>",
3759
+ value: input.required
3760
+ }), "object" === input.type || _report(_exceptionable, {
3761
+ path: _path + ".type",
3762
+ expected: "\"object\"",
3763
+ value: input.type
3764
+ }), "string" === typeof input.description || _report(_exceptionable, {
3765
+ path: _path + ".description",
3766
+ expected: "string",
3767
+ value: input.description
3768
+ })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
3769
+ path: _path + ".$ref",
3770
+ expected: "string",
3771
+ value: input.$ref
3772
+ }), "string" === typeof input.description || _report(_exceptionable, {
484
3773
  path: _path + ".description",
485
3774
  expected: "string",
486
3775
  value: input.description
487
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
3776
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
3777
+ path: _path + ".oneOf",
3778
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
3779
+ value: input.oneOf
3780
+ })) && input.oneOf.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
3781
+ path: _path + ".oneOf[" + _index8 + "]",
3782
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3783
+ value: elem
3784
+ })) && _vu0(elem, _path + ".oneOf[" + _index8 + "]", true && _exceptionable) || _report(_exceptionable, {
3785
+ path: _path + ".oneOf[" + _index8 + "]",
3786
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
3787
+ value: elem
3788
+ })).every(flag => flag) || _report(_exceptionable, {
3789
+ path: _path + ".oneOf",
3790
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
3791
+ value: input.oneOf
3792
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
3793
+ path: _path + ".discriminator",
3794
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
3795
+ value: input.discriminator
3796
+ })) && _vo18(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
3797
+ path: _path + ".discriminator",
3798
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
3799
+ value: input.discriminator
3800
+ }), "string" === typeof input.description || _report(_exceptionable, {
3801
+ path: _path + ".description",
3802
+ expected: "string",
3803
+ value: input.description
3804
+ })].every(flag => flag); const _vo23 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
3805
+ path: _path + ".type",
3806
+ expected: "\"null\"",
3807
+ value: input.type
3808
+ }), "string" === typeof input.description || _report(_exceptionable, {
3809
+ path: _path + ".description",
3810
+ expected: "string",
3811
+ value: input.description
3812
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
3813
+ if ("number" === input.type)
3814
+ return _vo9(input, _path, true && _exceptionable);
3815
+ else if ("integer" === input.type)
3816
+ return _vo8(input, _path, true && _exceptionable);
3817
+ else if ("string" === input.type)
3818
+ return _vo10(input, _path, true && _exceptionable);
3819
+ else if (undefined !== input["const"])
3820
+ return _vo11(input, _path, true && _exceptionable);
3821
+ else if ("null" === input.type)
3822
+ return _vo17(input, _path, true && _exceptionable);
3823
+ else if ("boolean" === input.type)
3824
+ return _vo12(input, _path, true && _exceptionable);
3825
+ else if ("array" === input.type)
3826
+ return _vo13(input, _path, true && _exceptionable);
3827
+ else if ("object" === input.type)
3828
+ return _vo14(input, _path, true && _exceptionable);
3829
+ else if (undefined !== input.$ref)
3830
+ return _vo15(input, _path, true && _exceptionable);
3831
+ else
3832
+ return _report(_exceptionable, {
3833
+ path: _path,
3834
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference)",
3835
+ value: input
3836
+ });
3837
+ })(); const _vu1 = (input, _path, _exceptionable = true) => (() => {
3838
+ if (undefined !== input["const"])
3839
+ return _vo2(input, _path, true && _exceptionable);
3840
+ else if ("boolean" === input.type)
3841
+ return _vo3(input, _path, true && _exceptionable);
3842
+ else if ("number" === input.type)
3843
+ return _vo5(input, _path, true && _exceptionable);
3844
+ else if ("integer" === input.type)
3845
+ return _vo4(input, _path, true && _exceptionable);
3846
+ else if ("string" === input.type)
3847
+ return _vo6(input, _path, true && _exceptionable);
3848
+ else if ("array" === input.type)
3849
+ return _vo7(input, _path, true && _exceptionable);
3850
+ else if ("object" === input.type)
3851
+ return _vo20(input, _path, true && _exceptionable);
3852
+ else if (undefined !== input.$ref)
3853
+ return _vo21(input, _path, true && _exceptionable);
3854
+ else if (undefined !== input.oneOf)
3855
+ return _vo22(input, _path, true && _exceptionable);
3856
+ else if ("null" === input.type)
3857
+ return _vo23(input, _path, true && _exceptionable);
3858
+ else
3859
+ return _report(_exceptionable, {
3860
+ path: _path,
3861
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.IString | AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.INull)",
3862
+ value: input
3863
+ });
3864
+ })(); const _vu2 = (input, _path, _exceptionable = true) => (() => {
3865
+ if ("number" === input.type)
3866
+ return _vo9(input, _path, true && _exceptionable);
3867
+ else if ("integer" === input.type)
3868
+ return _vo8(input, _path, true && _exceptionable);
3869
+ else if ("string" === input.type)
3870
+ return _vo10(input, _path, true && _exceptionable);
3871
+ else if (undefined !== input["const"])
3872
+ return _vo11(input, _path, true && _exceptionable);
3873
+ else if ("null" === input.type)
3874
+ return _vo17(input, _path, true && _exceptionable);
3875
+ else if ("boolean" === input.type)
3876
+ return _vo12(input, _path, true && _exceptionable);
3877
+ else if ("array" === input.type)
3878
+ return _vo13(input, _path, true && _exceptionable);
3879
+ else if ("object" === input.type)
3880
+ return _vo14(input, _path, true && _exceptionable);
3881
+ else if (undefined !== input.$ref)
3882
+ return _vo15(input, _path, true && _exceptionable);
3883
+ else if (undefined !== input.oneOf)
3884
+ return _vo16(input, _path, true && _exceptionable);
3885
+ else
3886
+ return _report(_exceptionable, {
3887
+ path: _path,
3888
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IOneOf)",
3889
+ value: input
3890
+ });
3891
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
488
3892
  if (false === __is(input)) {
489
3893
  errors = [];
490
3894
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -523,45 +3927,4 @@ const collection = {
523
3927
  return application;
524
3928
  })(),
525
3929
  };
526
- const authTokenSchema = {
527
- version: "3.1",
528
- components: {
529
- schemas: {
530
- IAuthorizationToken: {
531
- type: "object",
532
- properties: {
533
- access: {
534
- type: "string",
535
- description: "JWT access token for authenticated requests.\n\nThis token should be included in the Authorization header for subsequent\nauthenticated API requests as `Bearer {token}`."
536
- },
537
- refresh: {
538
- type: "string",
539
- description: "Refresh token for obtaining new access tokens.\n\nThis token can be used to request new access tokens when the current access\ntoken expires, extending the user's session."
540
- },
541
- expired_at: {
542
- type: "string",
543
- format: "date-time",
544
- description: "Access token expiration timestamp.\n\nISO 8601 date-time string indicating when the access token will expire and\ncan no longer be used for authentication."
545
- },
546
- refreshable_until: {
547
- type: "string",
548
- format: "date-time",
549
- description: "Refresh token expiration timestamp.\n\nISO 8601 date-time string indicating the latest time until which the\nrefresh token can be used to obtain new access tokens."
550
- }
551
- },
552
- required: [
553
- "access",
554
- "refresh",
555
- "expired_at",
556
- "refreshable_until"
557
- ],
558
- description: "Authorization token response structure.\n\nThis interface defines the structure of the authorization token response\nreturned after successful user authentication. It contains both access and\nrefresh tokens along with their expiration information.\n\nThis token structure is automatically included in API schemas when the system\ndetects authorization roles in the requirements analysis phase. It provides a\nstandard format for JWT-based authentication across the generated backend\napplications."
559
- }
560
- }
561
- },
562
- schema: {
563
- $ref: "#/components/schemas/IAuthorizationToken"
564
- }
565
- }.components.schemas
566
- .IAuthorizationToken;
567
3930
  //# sourceMappingURL=orchestrateInterfaceSchemas.js.map