@autobe/agent 0.22.1 → 0.23.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 (687) hide show
  1. package/lib/AutoBeAgent.d.ts +2 -1
  2. package/lib/{agent/src/AutoBeAgent.js → AutoBeAgent.js} +17 -3
  3. package/lib/AutoBeAgent.js.map +1 -0
  4. package/lib/AutoBeAgentBase.js.map +1 -0
  5. package/lib/{agent/src/AutoBeMockAgent.js → AutoBeMockAgent.js} +16 -0
  6. package/lib/AutoBeMockAgent.js.map +1 -0
  7. package/lib/constants/AutoBeConfigConstant.d.ts +3 -1
  8. package/lib/constants/AutoBeConfigConstant.js.map +1 -0
  9. package/lib/constants/AutoBeSystemPromptConstant.d.ts +17 -15
  10. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -0
  11. package/lib/context/AutoBeContext.js.map +1 -0
  12. package/lib/context/AutoBeState.js.map +1 -0
  13. package/lib/context/AutoBeTokenUsage.d.ts +1 -0
  14. package/lib/{agent/src/context → context}/AutoBeTokenUsage.js +8 -0
  15. package/lib/context/AutoBeTokenUsage.js.map +1 -0
  16. package/lib/context/AutoBeTokenUsageComponent.d.ts +1 -0
  17. package/lib/{agent/src/context → context}/AutoBeTokenUsageComponent.js +8 -0
  18. package/lib/context/AutoBeTokenUsageComponent.js.map +1 -0
  19. package/lib/context/IAutoBeApplication.js.map +1 -0
  20. package/lib/context/IAutoBeApplicationProps.js.map +1 -0
  21. package/lib/context/IAutoBeApplicationResult.js.map +1 -0
  22. package/lib/context/assertSchemaModel.js.map +1 -0
  23. package/lib/{agent/src/factory → factory}/consentFunctionCall.js +1 -1
  24. package/lib/factory/consentFunctionCall.js.map +1 -0
  25. package/lib/factory/createAgenticaHistory.js.map +1 -0
  26. package/lib/factory/createAutoBeApplication.js.map +1 -0
  27. package/lib/{agent/src/factory → factory}/createAutoBeContext.js +66 -20
  28. package/lib/factory/createAutoBeContext.js.map +1 -0
  29. package/lib/factory/createAutoBeState.js.map +1 -0
  30. package/lib/factory/getAutoBeGenerated.js.map +1 -0
  31. package/lib/factory/getAutoBeRealizeGenerated.js.map +1 -0
  32. package/lib/factory/getCriticalCompiler.d.ts +3 -0
  33. package/lib/factory/getCriticalCompiler.js +55 -0
  34. package/lib/factory/getCriticalCompiler.js.map +1 -0
  35. package/lib/factory/index.js.map +1 -0
  36. package/lib/index.js.map +1 -0
  37. package/lib/index.mjs +4827 -3025
  38. package/lib/index.mjs.map +1 -1
  39. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +1 -0
  40. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -0
  41. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -0
  42. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -0
  43. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -0
  44. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -0
  45. package/lib/{agent/src/orchestrate → orchestrate}/analyze/orchestrateAnalyzeWrite.js +2 -4
  46. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -0
  47. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.js.map +1 -0
  48. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.js.map +1 -0
  49. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.js.map +1 -0
  50. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.d.ts +8 -0
  51. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js +31 -0
  52. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js.map +1 -0
  53. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.d.ts +18 -0
  54. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +411 -0
  55. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js.map +1 -0
  56. package/lib/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.d.ts +122 -0
  57. package/lib/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.js +3 -0
  58. package/lib/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.js.map +1 -0
  59. package/lib/orchestrate/facade/transformFacadeStateMessage.js.map +1 -0
  60. package/lib/orchestrate/index.js.map +1 -0
  61. package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +1 -0
  62. package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceAuthorizationsHistories.js +1 -1
  63. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +1 -0
  64. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js +63 -0
  65. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -0
  66. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -0
  67. package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceEndpointsReviewHistories.js +4 -4
  68. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +1 -0
  69. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -0
  70. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js +52 -0
  71. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -0
  72. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +36 -0
  73. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -0
  74. package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.js.map +1 -0
  75. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +29 -0
  76. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -0
  77. package/lib/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +60 -0
  78. package/lib/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +1 -0
  79. package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -0
  80. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -0
  81. package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceComplement.js +2 -2
  82. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -0
  83. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -0
  84. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -0
  85. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -0
  86. package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceOperations.js +193 -274
  87. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -0
  88. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js +1747 -0
  89. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -0
  90. package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceSchemas.js +2 -2
  91. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -0
  92. package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +1 -1
  93. package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceSchemasReview.js +5 -7
  94. package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +1 -0
  95. package/lib/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.js.map +1 -0
  96. package/lib/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.js.map +1 -0
  97. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.js.map +1 -0
  98. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js.map +1 -0
  99. package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.js.map +1 -0
  100. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +247 -1
  101. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.js.map +1 -0
  102. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js.map +1 -0
  103. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.js.map +1 -0
  104. package/lib/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.js.map +1 -0
  105. package/lib/orchestrate/interface/utils/JsonSchemaFactory.js.map +1 -0
  106. package/lib/orchestrate/interface/utils/JsonSchemaNamingConvention.js.map +1 -0
  107. package/lib/orchestrate/interface/utils/JsonSchemaValidator.d.ts +6 -1
  108. package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/JsonSchemaValidator.js +26 -24
  109. package/lib/orchestrate/interface/utils/JsonSchemaValidator.js.map +1 -0
  110. package/lib/orchestrate/interface/utils/OpenApiEndpointComparator.js.map +1 -0
  111. package/lib/{agent/src/orchestrate/interface/utils/JsonSchemaValidator.d.ts → orchestrate/interface/utils/OperationValidator.d.ts} +2 -2
  112. package/lib/orchestrate/interface/utils/OperationValidator.js +114 -0
  113. package/lib/orchestrate/interface/utils/OperationValidator.js.map +1 -0
  114. package/lib/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js.map +1 -0
  115. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -0
  116. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +1 -0
  117. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +1 -0
  118. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -0
  119. package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -0
  120. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -0
  121. package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrismaCorrect.js +2 -2
  122. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -0
  123. package/lib/orchestrate/prisma/orchestratePrismaReview.js.map +1 -0
  124. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -0
  125. package/lib/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.js.map +1 -0
  126. package/lib/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.js.map +1 -0
  127. package/lib/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.js.map +1 -0
  128. package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.js.map +1 -0
  129. package/lib/orchestrate/realize/ProviderCodeComparator.js.map +1 -0
  130. package/lib/{agent/src/orchestrate → orchestrate}/realize/histories/transformRealizeAuthorization.js +1 -1
  131. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.js.map +1 -0
  132. package/lib/{agent/src/orchestrate → orchestrate}/realize/histories/transformRealizeAuthorizationCorrectHistories.js +2 -2
  133. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +1 -0
  134. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js +57 -0
  135. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +1 -0
  136. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +1 -0
  137. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js +141 -0
  138. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -0
  139. package/lib/orchestrate/realize/internal/compileRealizeFiles.js.map +1 -0
  140. package/lib/orchestrate/realize/orchestRateRealizeCorrectCasting.d.ts +4 -0
  141. package/lib/orchestrate/realize/orchestRateRealizeCorrectCasting.js +505 -0
  142. package/lib/orchestrate/realize/orchestRateRealizeCorrectCasting.js.map +1 -0
  143. package/lib/{agent/src/orchestrate → orchestrate}/realize/orchestrateRealize.js +18 -8
  144. package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -0
  145. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -0
  146. package/lib/{agent/src/orchestrate → orchestrate}/realize/orchestrateRealizeAuthorizationCorrect.js +1 -1
  147. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -0
  148. package/lib/orchestrate/realize/orchestrateRealizeCorrect.d.ts +2 -15
  149. package/lib/{agent/src/orchestrate → orchestrate}/realize/orchestrateRealizeCorrect.js +48 -43
  150. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -0
  151. package/lib/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -0
  152. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.js.map +1 -0
  153. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js.map +1 -0
  154. package/lib/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.js.map +1 -0
  155. package/lib/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.js.map +1 -0
  156. package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.js.map +1 -0
  157. package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.js.map +1 -0
  158. package/lib/orchestrate/realize/utils/AuthorizationFileSystem.js.map +1 -0
  159. package/lib/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.js.map +1 -0
  160. package/lib/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js.map +1 -0
  161. package/lib/orchestrate/realize/utils/InternalFileSystem.js.map +1 -0
  162. package/lib/orchestrate/realize/utils/ProviderFileSystem.js.map +1 -0
  163. package/lib/orchestrate/realize/utils/generateRealizeScenario.d.ts +25 -0
  164. package/lib/orchestrate/realize/utils/generateRealizeScenario.js +85 -0
  165. package/lib/orchestrate/realize/utils/generateRealizeScenario.js.map +1 -0
  166. package/lib/orchestrate/realize/utils/getRealizeWriteCodeTemplate.js.map +1 -0
  167. package/lib/orchestrate/realize/utils/getRealizeWriteDto.js.map +1 -0
  168. package/lib/orchestrate/realize/utils/getRealizeWriteImportStatements.js.map +1 -0
  169. package/lib/orchestrate/realize/utils/getRealizeWriteInputType.js.map +1 -0
  170. package/lib/orchestrate/realize/utils/replaceImportStatements.js +98 -0
  171. package/lib/orchestrate/realize/utils/replaceImportStatements.js.map +1 -0
  172. package/lib/orchestrate/test/compile/completeTestCode.js.map +1 -0
  173. package/lib/orchestrate/test/compile/filterTestFileName.js.map +1 -0
  174. package/lib/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -0
  175. package/lib/orchestrate/test/compile/getTestImportStatements.js.map +1 -0
  176. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -0
  177. package/lib/orchestrate/test/compile/getTestTemplateCode.js.map +1 -0
  178. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js +51 -0
  179. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -0
  180. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.d.ts +4 -0
  181. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js +33 -0
  182. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js.map +1 -0
  183. package/lib/orchestrate/test/histories/transformTestScenarioHistories.d.ts +1 -1
  184. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js +159 -0
  185. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -0
  186. package/lib/orchestrate/test/histories/transformTestValidateEvent.d.ts +4 -0
  187. package/lib/orchestrate/test/histories/transformTestValidateEvent.js +11 -0
  188. package/lib/orchestrate/test/histories/transformTestValidateEvent.js.map +1 -0
  189. package/lib/orchestrate/test/histories/transformTestWriteHistories.js +220 -0
  190. package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -0
  191. package/lib/{agent/src/orchestrate → orchestrate}/test/orchestrateTest.js +13 -7
  192. package/lib/orchestrate/test/orchestrateTest.js.map +1 -0
  193. package/lib/orchestrate/test/orchestrateTestCorrect.d.ts +2 -2
  194. package/lib/orchestrate/test/orchestrateTestCorrect.js +513 -0
  195. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -0
  196. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.d.ts +7 -0
  197. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +425 -0
  198. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -0
  199. package/lib/{agent/src/orchestrate → orchestrate}/test/orchestrateTestScenario.js +32 -36
  200. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -0
  201. package/lib/{agent/src/orchestrate → orchestrate}/test/orchestrateTestWrite.js +23 -35
  202. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -0
  203. package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.js.map +1 -0
  204. package/lib/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.d.ts +140 -0
  205. package/lib/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.js +3 -0
  206. package/lib/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.js.map +1 -0
  207. package/lib/orchestrate/test/structures/IAutoBeTestFunction.js.map +1 -0
  208. package/lib/orchestrate/test/structures/IAutoBeTestFunctionFailure.js.map +1 -0
  209. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +2 -2
  210. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.js.map +1 -0
  211. package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js.map +1 -0
  212. package/lib/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.js.map +1 -0
  213. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +38 -15
  214. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.js.map +1 -0
  215. package/lib/orchestrate/test/structures/IAutoBeTestWriteResult.js.map +1 -0
  216. package/lib/{agent/src/orchestrate → orchestrate}/test/utils/getReferenceIds.js +1 -1
  217. package/lib/orchestrate/test/utils/getReferenceIds.js.map +1 -0
  218. package/lib/structures/IAutoBeConfig.d.ts +1 -0
  219. package/lib/structures/IAutoBeConfig.js.map +1 -0
  220. package/lib/structures/IAutoBeProps.js.map +1 -0
  221. package/lib/structures/IAutoBeVendor.js.map +1 -0
  222. package/lib/utils/AutoBeTimeoutError.d.ts +4 -0
  223. package/lib/utils/AutoBeTimeoutError.js +18 -0
  224. package/lib/utils/AutoBeTimeoutError.js.map +1 -0
  225. package/lib/utils/TimeoutConversation.d.ts +24 -0
  226. package/lib/utils/TimeoutConversation.js +65 -0
  227. package/lib/utils/TimeoutConversation.js.map +1 -0
  228. package/lib/utils/arrayToRecord.js.map +1 -0
  229. package/lib/utils/backoffRetry.js.map +1 -0
  230. package/lib/utils/divideArray.js.map +1 -0
  231. package/lib/utils/emplaceMap.js.map +1 -0
  232. package/lib/utils/executeCachedBatch.js.map +1 -0
  233. package/lib/utils/predicateStateMessage.js.map +1 -0
  234. package/package.json +6 -6
  235. package/src/AutoBeAgent.ts +16 -1
  236. package/src/AutoBeMockAgent.ts +13 -3
  237. package/src/constants/AutoBeConfigConstant.ts +3 -1
  238. package/src/constants/AutoBeSystemPromptConstant.ts +17 -15
  239. package/src/context/AutoBeTokenUsage.ts +9 -0
  240. package/src/context/AutoBeTokenUsageComponent.ts +9 -0
  241. package/src/factory/consentFunctionCall.ts +1 -1
  242. package/src/factory/createAutoBeContext.ts +68 -20
  243. package/src/factory/getCriticalCompiler.ts +47 -0
  244. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +2 -4
  245. package/src/orchestrate/common/histories/transformCommonCorrectCastingHistories.ts +43 -0
  246. package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +170 -0
  247. package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +127 -0
  248. package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +4 -4
  249. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +2 -2
  250. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +10 -94
  251. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +49 -13
  252. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +3 -2
  253. package/src/orchestrate/interface/orchestrateInterfaceSchemasReview.ts +5 -5
  254. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +254 -4
  255. package/src/orchestrate/interface/utils/JsonSchemaValidator.ts +31 -26
  256. package/src/orchestrate/interface/utils/OperationValidator.ts +127 -0
  257. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +2 -2
  258. package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +6 -0
  259. package/src/orchestrate/realize/orchestRateRealizeCorrectCasting.ts +317 -0
  260. package/src/orchestrate/realize/orchestrateRealize.ts +29 -14
  261. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +1 -1
  262. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +79 -67
  263. package/src/orchestrate/realize/utils/generateRealizeScenario.ts +104 -0
  264. package/src/orchestrate/realize/utils/replaceImportStatements.ts +60 -32
  265. package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +4 -3
  266. package/src/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.ts +39 -0
  267. package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +75 -17
  268. package/src/orchestrate/test/histories/transformTestValidateEvent.ts +14 -0
  269. package/src/orchestrate/test/orchestrateTest.ts +11 -7
  270. package/src/orchestrate/test/orchestrateTestCorrect.ts +111 -33
  271. package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +145 -0
  272. package/src/orchestrate/test/orchestrateTestScenario.ts +29 -13
  273. package/src/orchestrate/test/orchestrateTestWrite.ts +3 -1
  274. package/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.ts +233 -0
  275. package/src/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.ts +146 -0
  276. package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +2 -2
  277. package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +110 -15
  278. package/src/orchestrate/test/utils/getReferenceIds.ts +1 -1
  279. package/src/structures/IAutoBeConfig.ts +2 -0
  280. package/src/utils/AutoBeTimeoutError.ts +13 -0
  281. package/src/utils/TimeoutConversation.ts +82 -0
  282. package/lib/agent/src/AutoBeAgent.d.ts +0 -52
  283. package/lib/agent/src/AutoBeAgent.js.map +0 -1
  284. package/lib/agent/src/AutoBeAgentBase.d.ts +0 -18
  285. package/lib/agent/src/AutoBeAgentBase.js.map +0 -1
  286. package/lib/agent/src/AutoBeMockAgent.d.ts +0 -7
  287. package/lib/agent/src/AutoBeMockAgent.js.map +0 -1
  288. package/lib/agent/src/constants/AutoBeConfigConstant.d.ts +0 -3
  289. package/lib/agent/src/constants/AutoBeConfigConstant.js.map +0 -1
  290. package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +0 -29
  291. package/lib/agent/src/constants/AutoBeSystemPromptConstant.js.map +0 -1
  292. package/lib/agent/src/context/AutoBeContext.d.ts +0 -43
  293. package/lib/agent/src/context/AutoBeContext.js.map +0 -1
  294. package/lib/agent/src/context/AutoBeState.d.ts +0 -8
  295. package/lib/agent/src/context/AutoBeState.js.map +0 -1
  296. package/lib/agent/src/context/AutoBeTokenUsage.d.ts +0 -173
  297. package/lib/agent/src/context/AutoBeTokenUsage.js.map +0 -1
  298. package/lib/agent/src/context/AutoBeTokenUsageComponent.d.ts +0 -117
  299. package/lib/agent/src/context/AutoBeTokenUsageComponent.js.map +0 -1
  300. package/lib/agent/src/context/IAutoBeApplication.d.ts +0 -107
  301. package/lib/agent/src/context/IAutoBeApplication.js.map +0 -1
  302. package/lib/agent/src/context/IAutoBeApplicationProps.d.ts +0 -4
  303. package/lib/agent/src/context/IAutoBeApplicationProps.js.map +0 -1
  304. package/lib/agent/src/context/IAutoBeApplicationResult.d.ts +0 -4
  305. package/lib/agent/src/context/IAutoBeApplicationResult.js.map +0 -1
  306. package/lib/agent/src/context/assertSchemaModel.d.ts +0 -2
  307. package/lib/agent/src/context/assertSchemaModel.js.map +0 -1
  308. package/lib/agent/src/factory/consentFunctionCall.d.ts +0 -10
  309. package/lib/agent/src/factory/consentFunctionCall.js.map +0 -1
  310. package/lib/agent/src/factory/createAgenticaHistory.d.ts +0 -7
  311. package/lib/agent/src/factory/createAgenticaHistory.js.map +0 -1
  312. package/lib/agent/src/factory/createAutoBeApplication.d.ts +0 -7
  313. package/lib/agent/src/factory/createAutoBeApplication.js.map +0 -1
  314. package/lib/agent/src/factory/createAutoBeContext.d.ts +0 -19
  315. package/lib/agent/src/factory/createAutoBeContext.js.map +0 -1
  316. package/lib/agent/src/factory/createAutoBeState.d.ts +0 -3
  317. package/lib/agent/src/factory/createAutoBeState.js.map +0 -1
  318. package/lib/agent/src/factory/getAutoBeGenerated.d.ts +0 -4
  319. package/lib/agent/src/factory/getAutoBeGenerated.js.map +0 -1
  320. package/lib/agent/src/factory/getAutoBeRealizeGenerated.d.ts +0 -7
  321. package/lib/agent/src/factory/getAutoBeRealizeGenerated.js.map +0 -1
  322. package/lib/agent/src/factory/index.d.ts +0 -1
  323. package/lib/agent/src/factory/index.js.map +0 -1
  324. package/lib/agent/src/index.d.ts +0 -6
  325. package/lib/agent/src/index.js.map +0 -1
  326. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +0 -6
  327. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +0 -1
  328. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.d.ts +0 -4
  329. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +0 -1
  330. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +0 -6
  331. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +0 -1
  332. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.d.ts +0 -5
  333. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js.map +0 -1
  334. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +0 -11
  335. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js.map +0 -1
  336. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.d.ts +0 -4
  337. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +0 -1
  338. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +0 -10
  339. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +0 -1
  340. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +0 -111
  341. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.js.map +0 -1
  342. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +0 -78
  343. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.js.map +0 -1
  344. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +0 -74
  345. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.js.map +0 -1
  346. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.d.ts +0 -2
  347. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.js.map +0 -1
  348. package/lib/agent/src/orchestrate/index.d.ts +0 -5
  349. package/lib/agent/src/orchestrate/index.js.map +0 -1
  350. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.d.ts +0 -3
  351. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +0 -1
  352. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.d.ts +0 -4
  353. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +0 -1
  354. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.d.ts +0 -4
  355. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js +0 -63
  356. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +0 -1
  357. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.d.ts +0 -5
  358. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +0 -1
  359. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +0 -4
  360. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +0 -1
  361. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.d.ts +0 -3
  362. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +0 -1
  363. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.d.ts +0 -4
  364. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js +0 -52
  365. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +0 -1
  366. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.d.ts +0 -5
  367. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +0 -36
  368. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +0 -1
  369. package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.d.ts +0 -3
  370. package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.js.map +0 -1
  371. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.d.ts +0 -4
  372. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +0 -29
  373. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +0 -1
  374. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.d.ts +0 -4
  375. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +0 -60
  376. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +0 -1
  377. package/lib/agent/src/orchestrate/interface/orchestrateInterface.d.ts +0 -5
  378. package/lib/agent/src/orchestrate/interface/orchestrateInterface.js.map +0 -1
  379. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +0 -4
  380. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +0 -1
  381. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.d.ts +0 -4
  382. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js.map +0 -1
  383. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.d.ts +0 -5
  384. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +0 -1
  385. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +0 -10
  386. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +0 -1
  387. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.d.ts +0 -4
  388. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js.map +0 -1
  389. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.d.ts +0 -4
  390. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js.map +0 -1
  391. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +0 -4
  392. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +0 -1416
  393. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +0 -1
  394. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.d.ts +0 -4
  395. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js.map +0 -1
  396. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +0 -9
  397. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +0 -1
  398. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.d.ts +0 -47
  399. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.js.map +0 -1
  400. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +0 -93
  401. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.js.map +0 -1
  402. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.d.ts +0 -24
  403. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.js.map +0 -1
  404. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +0 -60
  405. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js.map +0 -1
  406. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +0 -108
  407. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.js.map +0 -1
  408. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +0 -171
  409. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.js.map +0 -1
  410. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +0 -117
  411. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js.map +0 -1
  412. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +0 -107
  413. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.js.map +0 -1
  414. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +0 -91
  415. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.js.map +0 -1
  416. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaFactory.d.ts +0 -9
  417. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaFactory.js.map +0 -1
  418. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaNamingConvention.d.ts +0 -5
  419. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaNamingConvention.js.map +0 -1
  420. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaValidator.js.map +0 -1
  421. package/lib/agent/src/orchestrate/interface/utils/OpenApiEndpointComparator.d.ts +0 -6
  422. package/lib/agent/src/orchestrate/interface/utils/OpenApiEndpointComparator.js.map +0 -1
  423. package/lib/agent/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.d.ts +0 -2
  424. package/lib/agent/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js.map +0 -1
  425. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.d.ts +0 -3
  426. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +0 -1
  427. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.d.ts +0 -3
  428. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +0 -1
  429. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.d.ts +0 -8
  430. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +0 -1
  431. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.d.ts +0 -3
  432. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +0 -1
  433. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.d.ts +0 -5
  434. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js.map +0 -1
  435. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.d.ts +0 -4
  436. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js.map +0 -1
  437. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.d.ts +0 -4
  438. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js.map +0 -1
  439. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.d.ts +0 -5
  440. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js.map +0 -1
  441. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.d.ts +0 -5
  442. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js.map +0 -1
  443. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.d.ts +0 -121
  444. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.js.map +0 -1
  445. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.d.ts +0 -142
  446. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.js.map +0 -1
  447. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.d.ts +0 -105
  448. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.js.map +0 -1
  449. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.d.ts +0 -99
  450. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.js.map +0 -1
  451. package/lib/agent/src/orchestrate/realize/ProviderCodeComparator.d.ts +0 -5
  452. package/lib/agent/src/orchestrate/realize/ProviderCodeComparator.js.map +0 -1
  453. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.d.ts +0 -5
  454. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js.map +0 -1
  455. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.d.ts +0 -5
  456. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +0 -1
  457. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +0 -14
  458. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js +0 -51
  459. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +0 -1
  460. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +0 -3
  461. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +0 -1
  462. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +0 -11
  463. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +0 -141
  464. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +0 -1
  465. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.d.ts +0 -7
  466. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.js.map +0 -1
  467. package/lib/agent/src/orchestrate/realize/orchestrateRealize.d.ts +0 -5
  468. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js.map +0 -1
  469. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.d.ts +0 -10
  470. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js.map +0 -1
  471. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.d.ts +0 -4
  472. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +0 -1
  473. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.d.ts +0 -19
  474. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js.map +0 -1
  475. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -25
  476. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js +0 -44
  477. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +0 -1
  478. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.d.ts +0 -11
  479. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js.map +0 -1
  480. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +0 -109
  481. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.js.map +0 -1
  482. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +0 -47
  483. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js.map +0 -1
  484. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.d.ts +0 -39
  485. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.js.map +0 -1
  486. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.d.ts +0 -5
  487. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.js.map +0 -1
  488. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.d.ts +0 -36
  489. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.js.map +0 -1
  490. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +0 -295
  491. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.js.map +0 -1
  492. package/lib/agent/src/orchestrate/realize/utils/AuthorizationFileSystem.d.ts +0 -5
  493. package/lib/agent/src/orchestrate/realize/utils/AuthorizationFileSystem.js.map +0 -1
  494. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.d.ts +0 -5
  495. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.js.map +0 -1
  496. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.d.ts +0 -4
  497. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js.map +0 -1
  498. package/lib/agent/src/orchestrate/realize/utils/InternalFileSystem.d.ts +0 -8
  499. package/lib/agent/src/orchestrate/realize/utils/InternalFileSystem.js.map +0 -1
  500. package/lib/agent/src/orchestrate/realize/utils/ProviderFileSystem.d.ts +0 -3
  501. package/lib/agent/src/orchestrate/realize/utils/ProviderFileSystem.js.map +0 -1
  502. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.d.ts +0 -31
  503. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.js.map +0 -1
  504. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteDto.d.ts +0 -4
  505. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteDto.js.map +0 -1
  506. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteImportStatements.d.ts +0 -2
  507. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteImportStatements.js.map +0 -1
  508. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteInputType.d.ts +0 -30
  509. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteInputType.js.map +0 -1
  510. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.d.ts +0 -8
  511. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js +0 -77
  512. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js.map +0 -1
  513. package/lib/agent/src/orchestrate/test/compile/completeTestCode.d.ts +0 -4
  514. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js.map +0 -1
  515. package/lib/agent/src/orchestrate/test/compile/filterTestFileName.d.ts +0 -1
  516. package/lib/agent/src/orchestrate/test/compile/filterTestFileName.js.map +0 -1
  517. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.d.ts +0 -3
  518. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js.map +0 -1
  519. package/lib/agent/src/orchestrate/test/compile/getTestImportStatements.d.ts +0 -2
  520. package/lib/agent/src/orchestrate/test/compile/getTestImportStatements.js.map +0 -1
  521. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.d.ts +0 -5
  522. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.js.map +0 -1
  523. package/lib/agent/src/orchestrate/test/compile/getTestTemplateCode.d.ts +0 -2
  524. package/lib/agent/src/orchestrate/test/compile/getTestTemplateCode.js.map +0 -1
  525. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.d.ts +0 -6
  526. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js +0 -50
  527. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +0 -1
  528. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.d.ts +0 -4
  529. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +0 -105
  530. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +0 -1
  531. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.d.ts +0 -10
  532. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +0 -220
  533. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +0 -1
  534. package/lib/agent/src/orchestrate/test/orchestrateTest.d.ts +0 -5
  535. package/lib/agent/src/orchestrate/test/orchestrateTest.js.map +0 -1
  536. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.d.ts +0 -5
  537. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js +0 -405
  538. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +0 -1
  539. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.d.ts +0 -4
  540. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js.map +0 -1
  541. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.d.ts +0 -5
  542. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +0 -1
  543. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +0 -125
  544. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.js.map +0 -1
  545. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunction.d.ts +0 -8
  546. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunction.js.map +0 -1
  547. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.d.ts +0 -6
  548. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.js.map +0 -1
  549. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +0 -161
  550. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.js.map +0 -1
  551. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.d.ts +0 -8
  552. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js.map +0 -1
  553. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.d.ts +0 -6
  554. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.js.map +0 -1
  555. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +0 -126
  556. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.js.map +0 -1
  557. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteResult.d.ts +0 -7
  558. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteResult.js.map +0 -1
  559. package/lib/agent/src/orchestrate/test/utils/getReferenceIds.d.ts +0 -5
  560. package/lib/agent/src/orchestrate/test/utils/getReferenceIds.js.map +0 -1
  561. package/lib/agent/src/structures/IAutoBeConfig.d.ts +0 -75
  562. package/lib/agent/src/structures/IAutoBeConfig.js.map +0 -1
  563. package/lib/agent/src/structures/IAutoBeProps.d.ts +0 -109
  564. package/lib/agent/src/structures/IAutoBeProps.js.map +0 -1
  565. package/lib/agent/src/structures/IAutoBeVendor.d.ts +0 -87
  566. package/lib/agent/src/structures/IAutoBeVendor.js.map +0 -1
  567. package/lib/agent/src/utils/arrayToRecord.d.ts +0 -17
  568. package/lib/agent/src/utils/arrayToRecord.js.map +0 -1
  569. package/lib/agent/src/utils/backoffRetry.d.ts +0 -22
  570. package/lib/agent/src/utils/backoffRetry.js.map +0 -1
  571. package/lib/agent/src/utils/divideArray.d.ts +0 -4
  572. package/lib/agent/src/utils/divideArray.js.map +0 -1
  573. package/lib/agent/src/utils/emplaceMap.d.ts +0 -1
  574. package/lib/agent/src/utils/emplaceMap.js.map +0 -1
  575. package/lib/agent/src/utils/executeCachedBatch.d.ts +0 -1
  576. package/lib/agent/src/utils/executeCachedBatch.js.map +0 -1
  577. package/lib/agent/src/utils/predicateStateMessage.d.ts +0 -4
  578. package/lib/agent/src/utils/predicateStateMessage.js.map +0 -1
  579. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.d.ts +0 -153
  580. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.js +0 -3
  581. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.js.map +0 -1
  582. package/lib/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -25
  583. package/src/orchestrate/realize/orchestrateRealizeScenario.ts +0 -57
  584. /package/lib/{agent/src/AutoBeAgentBase.js → AutoBeAgentBase.js} +0 -0
  585. /package/lib/{agent/src/constants → constants}/AutoBeConfigConstant.js +0 -0
  586. /package/lib/{agent/src/constants → constants}/AutoBeSystemPromptConstant.js +0 -0
  587. /package/lib/{agent/src/context → context}/AutoBeContext.js +0 -0
  588. /package/lib/{agent/src/context → context}/AutoBeState.js +0 -0
  589. /package/lib/{agent/src/context → context}/IAutoBeApplication.js +0 -0
  590. /package/lib/{agent/src/context → context}/IAutoBeApplicationProps.js +0 -0
  591. /package/lib/{agent/src/context → context}/IAutoBeApplicationResult.js +0 -0
  592. /package/lib/{agent/src/context → context}/assertSchemaModel.js +0 -0
  593. /package/lib/{agent/src/factory → factory}/createAgenticaHistory.js +0 -0
  594. /package/lib/{agent/src/factory → factory}/createAutoBeApplication.js +0 -0
  595. /package/lib/{agent/src/factory → factory}/createAutoBeState.js +0 -0
  596. /package/lib/{agent/src/factory → factory}/getAutoBeGenerated.js +0 -0
  597. /package/lib/{agent/src/factory → factory}/getAutoBeRealizeGenerated.js +0 -0
  598. /package/lib/{agent/src/factory → factory}/index.js +0 -0
  599. /package/lib/{agent/src/index.js → index.js} +0 -0
  600. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/histories/transformAnalyzeReviewHistories.js +0 -0
  601. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/histories/transformAnalyzeScenarioHistories.js +0 -0
  602. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/histories/transformAnalyzeWriteHistories.js +0 -0
  603. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/orchestrateAnalyze.js +0 -0
  604. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/orchestrateAnalyzeReview.js +0 -0
  605. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/orchestrateAnalyzeScenario.js +0 -0
  606. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/structures/IAutoBeAnalyzeReviewApplication.js +0 -0
  607. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/structures/IAutoBeAnalyzeScenarioApplication.js +0 -0
  608. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/structures/IAutoBeAnalyzeWriteApplication.js +0 -0
  609. /package/lib/{agent/src/orchestrate → orchestrate}/facade/transformFacadeStateMessage.js +0 -0
  610. /package/lib/{agent/src/orchestrate → orchestrate}/index.js +0 -0
  611. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceAssetHistories.js +0 -0
  612. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceEndpointHistories.js +0 -0
  613. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceGroupHistories.js +0 -0
  614. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfacePrerequisiteHistories.js +0 -0
  615. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterface.js +0 -0
  616. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceAuthorizations.js +0 -0
  617. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceEndpoints.js +0 -0
  618. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceEndpointsReview.js +0 -0
  619. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceGroups.js +0 -0
  620. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceAuthorizationsApplication.js +0 -0
  621. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceComplementApplication.js +0 -0
  622. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceEndpointApplication.js +0 -0
  623. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js +0 -0
  624. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceGroupApplication.js +0 -0
  625. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceOperationApplication.js +0 -0
  626. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js +0 -0
  627. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceSchemaApplication.js +0 -0
  628. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutobeInterfaceSchemasReviewApplication.js +0 -0
  629. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/JsonSchemaFactory.js +0 -0
  630. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/JsonSchemaNamingConvention.js +0 -0
  631. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/OpenApiEndpointComparator.js +0 -0
  632. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/fulfillJsonSchemaErrorMessages.js +0 -0
  633. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaComponentsHistories.js +0 -0
  634. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaCorrectHistories.js +0 -0
  635. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaReviewHistories.js +0 -0
  636. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaSchemaHistories.js +0 -0
  637. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrisma.js +0 -0
  638. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrismaComponent.js +0 -0
  639. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrismaReview.js +0 -0
  640. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrismaSchemas.js +0 -0
  641. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaComponentApplication.js +0 -0
  642. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaCorrectApplication.js +0 -0
  643. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaReviewApplication.js +0 -0
  644. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaSchemaApplication.js +0 -0
  645. /package/lib/{agent/src/orchestrate → orchestrate}/realize/ProviderCodeComparator.js +0 -0
  646. /package/lib/{agent/src/orchestrate → orchestrate}/realize/histories/transformRealizeWriteAuthorizationsHistories.js +0 -0
  647. /package/lib/{agent/src/orchestrate → orchestrate}/realize/internal/compileRealizeFiles.js +0 -0
  648. /package/lib/{agent/src/orchestrate → orchestrate}/realize/orchestrateRealizeAuthorization.js +0 -0
  649. /package/lib/{agent/src/orchestrate → orchestrate}/realize/orchestrateRealizeWrite.js +0 -0
  650. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeAuthorizationApplication.js +0 -0
  651. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js +0 -0
  652. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeCorrectApplication.js +0 -0
  653. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeFunctionFailure.js +0 -0
  654. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeScenarioResult.js +0 -0
  655. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeWriteApplication.js +0 -0
  656. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/AuthorizationFileSystem.js +0 -0
  657. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/AutoBeRealizeAuthorizationFileSystem.js +0 -0
  658. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js +0 -0
  659. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/InternalFileSystem.js +0 -0
  660. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/ProviderFileSystem.js +0 -0
  661. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteCodeTemplate.js +0 -0
  662. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteDto.js +0 -0
  663. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteImportStatements.js +0 -0
  664. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteInputType.js +0 -0
  665. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/completeTestCode.js +0 -0
  666. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/filterTestFileName.js +0 -0
  667. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestExternalDeclarations.js +0 -0
  668. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestImportStatements.js +0 -0
  669. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestScenarioArtifacts.js +0 -0
  670. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestTemplateCode.js +0 -0
  671. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestCorrectApplication.js +0 -0
  672. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestFunction.js +0 -0
  673. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestFunctionFailure.js +0 -0
  674. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestScenarioApplication.js +0 -0
  675. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestScenarioArtifacts.js +0 -0
  676. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestScenarioAuthorizationRole.js +0 -0
  677. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestWriteApplication.js +0 -0
  678. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestWriteResult.js +0 -0
  679. /package/lib/{agent/src/structures → structures}/IAutoBeConfig.js +0 -0
  680. /package/lib/{agent/src/structures → structures}/IAutoBeProps.js +0 -0
  681. /package/lib/{agent/src/structures → structures}/IAutoBeVendor.js +0 -0
  682. /package/lib/{agent/src/utils → utils}/arrayToRecord.js +0 -0
  683. /package/lib/{agent/src/utils → utils}/backoffRetry.js +0 -0
  684. /package/lib/{agent/src/utils → utils}/divideArray.js +0 -0
  685. /package/lib/{agent/src/utils → utils}/emplaceMap.js +0 -0
  686. /package/lib/{agent/src/utils → utils}/executeCachedBatch.js +0 -0
  687. /package/lib/{agent/src/utils → utils}/predicateStateMessage.js +0 -0
@@ -0,0 +1,1747 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.orchestrateInterfaceOperationsReview = orchestrateInterfaceOperationsReview;
49
+ const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
50
+ const __typia_transform__llmApplicationFinalize = __importStar(require("typia/lib/internal/_llmApplicationFinalize.js"));
51
+ const typia_1 = __importDefault(require("typia"));
52
+ const uuid_1 = require("uuid");
53
+ const transformInterfaceOperationsReviewHistories_1 = require("./histories/transformInterfaceOperationsReviewHistories");
54
+ const OperationValidator_1 = require("./utils/OperationValidator");
55
+ function orchestrateInterfaceOperationsReview(ctx, operations, progress) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ var _a, _b, _c;
58
+ try {
59
+ const files = (_a = ctx.state().prisma) === null || _a === void 0 ? void 0 : _a.result.data.files;
60
+ const pointer = {
61
+ value: null,
62
+ };
63
+ const { tokenUsage } = yield ctx.conversate({
64
+ source: "interfaceOperationsReview",
65
+ histories: (0, transformInterfaceOperationsReviewHistories_1.transformInterfaceOperationsReviewHistories)(ctx, operations),
66
+ controller: createReviewController({
67
+ model: ctx.model,
68
+ prismaSchemas: files,
69
+ build: (next) => {
70
+ pointer.value = next;
71
+ },
72
+ }),
73
+ enforceFunctionCall: false,
74
+ message: "Review the operations",
75
+ });
76
+ if (pointer.value === null) {
77
+ ++progress.completed;
78
+ return [];
79
+ }
80
+ const content = pointer.value.content.map((op) => (Object.assign(Object.assign({}, op), { authorizationType: null })));
81
+ ctx.dispatch({
82
+ type: "interfaceOperationsReview",
83
+ id: (0, uuid_1.v7)(),
84
+ operations: content,
85
+ review: pointer.value.think.review,
86
+ plan: pointer.value.think.plan,
87
+ content,
88
+ tokenUsage,
89
+ created_at: new Date().toISOString(),
90
+ step: (_c = (_b = ctx.state().analyze) === null || _b === void 0 ? void 0 : _b.step) !== null && _c !== void 0 ? _c : 0,
91
+ total: progress.total,
92
+ completed: ++progress.completed,
93
+ });
94
+ return content;
95
+ }
96
+ catch (_d) {
97
+ ++progress.completed;
98
+ return [];
99
+ }
100
+ });
101
+ }
102
+ function createReviewController(props) {
103
+ const validate = (next) => {
104
+ const result = (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); 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; 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; 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; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
105
+ if ("number" === input.type)
106
+ return _io5(input);
107
+ else if ("integer" === input.type)
108
+ return _io4(input);
109
+ else if ("string" === input.type)
110
+ return _io6(input);
111
+ else
112
+ return false;
113
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.think && null !== input.think || _report(_exceptionable, {
114
+ path: _path + ".think",
115
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IThink",
116
+ value: input.think
117
+ })) && _vo1(input.think, _path + ".think", true && _exceptionable) || _report(_exceptionable, {
118
+ path: _path + ".think",
119
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IThink",
120
+ value: input.think
121
+ }), (Array.isArray(input.content) || _report(_exceptionable, {
122
+ path: _path + ".content",
123
+ expected: "Array<AutoBeOpenApi.IOperation>",
124
+ value: input.content
125
+ })) && input.content.map((elem, _index3) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
126
+ path: _path + ".content[" + _index3 + "]",
127
+ expected: "AutoBeOpenApi.IOperation",
128
+ value: elem
129
+ })) && _vo2(elem, _path + ".content[" + _index3 + "]", true && _exceptionable) || _report(_exceptionable, {
130
+ path: _path + ".content[" + _index3 + "]",
131
+ expected: "AutoBeOpenApi.IOperation",
132
+ value: elem
133
+ })).every(flag => flag) || _report(_exceptionable, {
134
+ path: _path + ".content",
135
+ expected: "Array<AutoBeOpenApi.IOperation>",
136
+ value: input.content
137
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.review || _report(_exceptionable, {
138
+ path: _path + ".review",
139
+ expected: "string",
140
+ value: input.review
141
+ }), "string" === typeof input.plan || _report(_exceptionable, {
142
+ path: _path + ".plan",
143
+ expected: "string",
144
+ value: input.plan
145
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
146
+ path: _path + ".specification",
147
+ expected: "string",
148
+ value: input.specification
149
+ }), null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType || _report(_exceptionable, {
150
+ path: _path + ".authorizationType",
151
+ expected: "(\"join\" | \"login\" | \"refresh\" | null)",
152
+ value: input.authorizationType
153
+ }), "string" === typeof input.description || _report(_exceptionable, {
154
+ path: _path + ".description",
155
+ expected: "string",
156
+ value: input.description
157
+ }), "string" === typeof input.summary || _report(_exceptionable, {
158
+ path: _path + ".summary",
159
+ expected: "string",
160
+ value: input.summary
161
+ }), (Array.isArray(input.parameters) || _report(_exceptionable, {
162
+ path: _path + ".parameters",
163
+ expected: "Array<AutoBeOpenApi.IParameter>",
164
+ value: input.parameters
165
+ })) && input.parameters.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
166
+ path: _path + ".parameters[" + _index4 + "]",
167
+ expected: "AutoBeOpenApi.IParameter",
168
+ value: elem
169
+ })) && _vo3(elem, _path + ".parameters[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
170
+ path: _path + ".parameters[" + _index4 + "]",
171
+ expected: "AutoBeOpenApi.IParameter",
172
+ value: elem
173
+ })).every(flag => flag) || _report(_exceptionable, {
174
+ path: _path + ".parameters",
175
+ expected: "Array<AutoBeOpenApi.IParameter>",
176
+ value: input.parameters
177
+ }), null === input.requestBody || ("object" === typeof input.requestBody && null !== input.requestBody || _report(_exceptionable, {
178
+ path: _path + ".requestBody",
179
+ expected: "(AutoBeOpenApi.IRequestBody | null)",
180
+ value: input.requestBody
181
+ })) && _vo7(input.requestBody, _path + ".requestBody", true && _exceptionable) || _report(_exceptionable, {
182
+ path: _path + ".requestBody",
183
+ expected: "(AutoBeOpenApi.IRequestBody | null)",
184
+ value: input.requestBody
185
+ }), null === input.responseBody || ("object" === typeof input.responseBody && null !== input.responseBody || _report(_exceptionable, {
186
+ path: _path + ".responseBody",
187
+ expected: "(AutoBeOpenApi.IResponseBody | null)",
188
+ value: input.responseBody
189
+ })) && _vo8(input.responseBody, _path + ".responseBody", true && _exceptionable) || _report(_exceptionable, {
190
+ path: _path + ".responseBody",
191
+ expected: "(AutoBeOpenApi.IResponseBody | null)",
192
+ value: input.responseBody
193
+ }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
194
+ path: _path + ".authorizationRole",
195
+ expected: "string & CamelPattern",
196
+ value: input.authorizationRole
197
+ })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
198
+ path: _path + ".authorizationRole",
199
+ expected: "string & MinLength<1>",
200
+ value: input.authorizationRole
201
+ })) || _report(_exceptionable, {
202
+ path: _path + ".authorizationRole",
203
+ expected: "((string & CamelPattern & MinLength<1>) | null)",
204
+ value: input.authorizationRole
205
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
206
+ path: _path + ".name",
207
+ expected: "string & CamelPattern",
208
+ value: input.name
209
+ })) || _report(_exceptionable, {
210
+ path: _path + ".name",
211
+ expected: "(string & CamelPattern)",
212
+ value: input.name
213
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
214
+ path: _path + ".path",
215
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
216
+ value: input.path
217
+ })) || _report(_exceptionable, {
218
+ path: _path + ".path",
219
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
220
+ value: input.path
221
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
222
+ path: _path + ".method",
223
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
224
+ value: input.method
225
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
226
+ path: _path + ".name",
227
+ expected: "string & CamelPattern",
228
+ value: input.name
229
+ })) || _report(_exceptionable, {
230
+ path: _path + ".name",
231
+ expected: "(string & CamelPattern)",
232
+ value: input.name
233
+ }), "string" === typeof input.description || _report(_exceptionable, {
234
+ path: _path + ".description",
235
+ expected: "string",
236
+ value: input.description
237
+ }), ("object" === typeof input.schema && null !== input.schema || _report(_exceptionable, {
238
+ path: _path + ".schema",
239
+ expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
240
+ value: input.schema
241
+ })) && _vu0(input.schema, _path + ".schema", true && _exceptionable) || _report(_exceptionable, {
242
+ path: _path + ".schema",
243
+ expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
244
+ value: input.schema
245
+ })].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, {
246
+ path: _path + ".minimum",
247
+ expected: "number & Type<\"int64\">",
248
+ value: input.minimum
249
+ })) || _report(_exceptionable, {
250
+ path: _path + ".minimum",
251
+ expected: "((number & Type<\"int64\">) | undefined)",
252
+ value: input.minimum
253
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
254
+ path: _path + ".maximum",
255
+ expected: "number & Type<\"int64\">",
256
+ value: input.maximum
257
+ })) || _report(_exceptionable, {
258
+ path: _path + ".maximum",
259
+ expected: "((number & Type<\"int64\">) | undefined)",
260
+ value: input.maximum
261
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
262
+ path: _path + ".exclusiveMinimum",
263
+ expected: "(number | undefined)",
264
+ value: input.exclusiveMinimum
265
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
266
+ path: _path + ".exclusiveMaximum",
267
+ expected: "(number | undefined)",
268
+ value: input.exclusiveMaximum
269
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
270
+ path: _path + ".multipleOf",
271
+ expected: "number & Type<\"uint64\">",
272
+ value: input.multipleOf
273
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
274
+ path: _path + ".multipleOf",
275
+ expected: "number & ExclusiveMinimum<0>",
276
+ value: input.multipleOf
277
+ })) || _report(_exceptionable, {
278
+ path: _path + ".multipleOf",
279
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
280
+ value: input.multipleOf
281
+ }), "integer" === input.type || _report(_exceptionable, {
282
+ path: _path + ".type",
283
+ expected: "\"integer\"",
284
+ value: input.type
285
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
286
+ path: _path + ".minimum",
287
+ expected: "(number | undefined)",
288
+ value: input.minimum
289
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
290
+ path: _path + ".maximum",
291
+ expected: "(number | undefined)",
292
+ value: input.maximum
293
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
294
+ path: _path + ".exclusiveMinimum",
295
+ expected: "(number | undefined)",
296
+ value: input.exclusiveMinimum
297
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
298
+ path: _path + ".exclusiveMaximum",
299
+ expected: "(number | undefined)",
300
+ value: input.exclusiveMaximum
301
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
302
+ path: _path + ".multipleOf",
303
+ expected: "number & ExclusiveMinimum<0>",
304
+ value: input.multipleOf
305
+ })) || _report(_exceptionable, {
306
+ path: _path + ".multipleOf",
307
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
308
+ value: input.multipleOf
309
+ }), "number" === input.type || _report(_exceptionable, {
310
+ path: _path + ".type",
311
+ expected: "\"number\"",
312
+ value: input.type
313
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
314
+ path: _path + ".format",
315
+ expected: "(string | undefined)",
316
+ value: input.format
317
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
318
+ path: _path + ".pattern",
319
+ expected: "(string | undefined)",
320
+ value: input.pattern
321
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
322
+ path: _path + ".contentMediaType",
323
+ expected: "(string | undefined)",
324
+ value: input.contentMediaType
325
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
326
+ path: _path + ".minLength",
327
+ expected: "number & Type<\"uint64\">",
328
+ value: input.minLength
329
+ })) || _report(_exceptionable, {
330
+ path: _path + ".minLength",
331
+ expected: "((number & Type<\"uint64\">) | undefined)",
332
+ value: input.minLength
333
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
334
+ path: _path + ".maxLength",
335
+ expected: "number & Type<\"uint64\">",
336
+ value: input.maxLength
337
+ })) || _report(_exceptionable, {
338
+ path: _path + ".maxLength",
339
+ expected: "((number & Type<\"uint64\">) | undefined)",
340
+ value: input.maxLength
341
+ }), "string" === input.type || _report(_exceptionable, {
342
+ path: _path + ".type",
343
+ expected: "\"string\"",
344
+ value: input.type
345
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
346
+ path: _path + ".description",
347
+ expected: "string",
348
+ value: input.description
349
+ }), "string" === typeof input.typeName || _report(_exceptionable, {
350
+ path: _path + ".typeName",
351
+ expected: "string",
352
+ value: input.typeName
353
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
354
+ path: _path + ".description",
355
+ expected: "string",
356
+ value: input.description
357
+ }), "string" === typeof input.typeName || _report(_exceptionable, {
358
+ path: _path + ".typeName",
359
+ expected: "string",
360
+ value: input.typeName
361
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
362
+ if ("number" === input.type)
363
+ return _vo5(input, _path, true && _exceptionable);
364
+ else if ("integer" === input.type)
365
+ return _vo4(input, _path, true && _exceptionable);
366
+ else if ("string" === input.type)
367
+ return _vo6(input, _path, true && _exceptionable);
368
+ else
369
+ return _report(_exceptionable, {
370
+ path: _path,
371
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString)",
372
+ value: input
373
+ });
374
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
375
+ if (false === __is(input)) {
376
+ errors = [];
377
+ _report = __typia_transform__validateReport._validateReport(errors);
378
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
379
+ path: _path + "",
380
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IProps",
381
+ value: input
382
+ })) && _vo0(input, _path + "", true) || _report(true, {
383
+ path: _path + "",
384
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IProps",
385
+ value: input
386
+ }))(input, "$input", true);
387
+ const success = 0 === errors.length;
388
+ return success ? {
389
+ success,
390
+ data: input
391
+ } : {
392
+ success,
393
+ errors,
394
+ data: input
395
+ };
396
+ }
397
+ return {
398
+ success: true,
399
+ data: input
400
+ };
401
+ }; })()(next);
402
+ if (result.success === false)
403
+ return result;
404
+ const errors = [];
405
+ OperationValidator_1.OperationValidator.validate({
406
+ path: "$input.content",
407
+ operations: result.data.content,
408
+ errors,
409
+ });
410
+ if (errors.length !== 0)
411
+ return {
412
+ success: false,
413
+ errors,
414
+ data: next,
415
+ };
416
+ return result;
417
+ };
418
+ const application = collection[props.model === "chatgpt" ? "chatgpt" : "claude"](validate);
419
+ return {
420
+ protocol: "class",
421
+ name: "review",
422
+ application,
423
+ execute: {
424
+ reviewOperations: (next) => {
425
+ props.build(next);
426
+ },
427
+ },
428
+ };
429
+ }
430
+ const collection = {
431
+ chatgpt: (validate) => (() => {
432
+ const application = {
433
+ model: "chatgpt",
434
+ options: {
435
+ reference: true,
436
+ strict: false,
437
+ separate: null
438
+ },
439
+ functions: [
440
+ {
441
+ name: "reviewOperations",
442
+ parameters: {
443
+ description: " Properties containing the thinking process (review & plan)\nand the enhanced operations content\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceOperationsReviewApplication.IProps} type:\n\n> Properties for API operation review and improvement process.\n> \n> Contains both the input operations to be reviewed and the outputs generated\n> by the Interface Operations Review Agent, which will be published as part\n> of the AutoBeInterfaceOperationsReviewEvent.\n\n### Description of {@link think} property:\n\n> Comprehensive thinking process for API operation review.\n> \n> Encapsulates the agent's analytical review findings and actionable\n> improvement plan. This structured thinking process ensures systematic\n> evaluation of API operations against AutoBE's quality standards before\n> generating the final enhanced operations.",
444
+ type: "object",
445
+ properties: {
446
+ think: {
447
+ $ref: "#/$defs/IAutoBeInterfaceOperationsReviewApplication.IThink"
448
+ },
449
+ content: {
450
+ description: "Production-ready operations with all critical issues resolved.\n\nFinal API operations after systematic enhancement:\n\n- **Security Fixes Applied**: All authentication boundaries enforced,\n sensitive data removed from responses, proper authorization\n implemented\n- **Logic Corrections Made**: Return types match operation intent, HTTP\n methods align with semantics, parameters properly utilized\n- **Schema Alignment Verified**: All fields exist in Prisma schema, types\n correctly mapped, relationships properly defined\n- **Quality Improvements Added**: Enhanced documentation, format\n specifications, validation rules, consistent naming patterns\n\nIf no issues were found during review, this contains the exact original\noperations unchanged. These operations are validated and ready for schema\ngeneration and subsequent implementation phases.",
451
+ type: "array",
452
+ items: {
453
+ $ref: "#/$defs/AutoBeOpenApi.IOperation"
454
+ }
455
+ }
456
+ },
457
+ required: [
458
+ "think",
459
+ "content"
460
+ ],
461
+ additionalProperties: false,
462
+ $defs: {
463
+ "IAutoBeInterfaceOperationsReviewApplication.IThink": {
464
+ description: "Structured thinking process for comprehensive API operation review.\n\nCombines analytical review findings with actionable improvement planning\nto guide the systematic enhancement of API operations. This thinking\nstructure ensures all aspects of API quality are evaluated and addressed\nbefore producing the final operations.",
465
+ type: "object",
466
+ properties: {
467
+ review: {
468
+ description: "Comprehensive review analysis with prioritized findings.\n\nSystematic assessment organized by severity levels (CRITICAL, HIGH,\nMEDIUM, LOW):\n\n- **Security Analysis**: Authentication boundary violations, exposed\n passwords/tokens, unauthorized data access patterns, SQL injection\n risks\n- **Logic Validation**: Return type consistency (list operations returning\n arrays, single retrieval returning single items), HTTP method semantics\n alignment, parameter usage verification\n- **Schema Compliance**: Field existence in Prisma schema, type accuracy,\n relationship validity, required field handling\n- **Quality Assessment**: Documentation completeness, naming conventions,\n error handling patterns, pagination standards\n\nEach finding includes specific examples, current vs expected behavior,\nand concrete fix recommendations. Critical security issues and logical\ncontradictions are highlighted for immediate attention.",
469
+ type: "string"
470
+ },
471
+ plan: {
472
+ description: "Prioritized action plan for identified issues.\n\nStructured improvement strategy categorized by severity:\n\n- **Immediate Actions (CRITICAL)**: Security vulnerabilities that must be\n fixed before production (password exposure, missing authorization,\n authentication bypass risks)\n- **Required Fixes (HIGH)**: Functional issues affecting API correctness\n (wrong return types, missing required fields, schema mismatches)\n- **Recommended Improvements (MEDIUM)**: Quality enhancements for better\n API design (validation rules, format specifications, consistency)\n- **Optional Enhancements (LOW)**: Documentation and usability improvements\n\nIf all operations pass review without issues, contains: \"No improvements\nrequired. All operations meet AutoBE standards.\"\n\nEach action item includes the specific operation path, the exact change\nneeded, and the rationale for the modification.",
473
+ type: "string"
474
+ }
475
+ },
476
+ required: [
477
+ "review",
478
+ "plan"
479
+ ]
480
+ },
481
+ "AutoBeOpenApi.IOperation": {
482
+ description: "Operation of the Restful API.\n\nThis interface defines a single API endpoint with its HTTP {@link method},\n{@link path}, {@link parameters path parameters},\n{@link requestBody request body}, and {@link responseBody} structure. It\ncorresponds to an individual operation in the paths section of an OpenAPI\ndocument.\n\nEach operation requires a detailed explanation of its purpose through the\nreason and description fields, making it clear why the API was designed and\nhow it should be used.\n\nAll request bodies and responses for this operation must be object types\nand must reference named types defined in the components section. The\ncontent-type is always `application/json`. For file upload/download\noperations, use `string & tags.Format<\"uri\">` in the appropriate schema\ninstead of binary data formats.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"/shoppings/customers/orders\": {\n \"post\": {\n \"description\": \"Create a new order application from shopping cart...\",\n \"parameters\": [...],\n \"requestBody\": {...},\n \"responses\": {...}\n }\n }\n}\n```",
483
+ type: "object",
484
+ properties: {
485
+ specification: {
486
+ description: "Specification of the API operation.\n\nBefore defining the API operation interface, please describe what you're\nplanning to write in this `specification` field.\n\nThe specification must be fully detailed and clear, so that anyone can\nunderstand the purpose and functionality of the API operation and its\nrelated components (e.g., {@link path}, {@link parameters},\n{@link requestBody}).\n\nIMPORTANT: The specification MUST identify which Prisma DB table this\noperation is associated with, helping ensure complete coverage of all\ndatabase entities.",
487
+ type: "string"
488
+ },
489
+ authorizationType: {
490
+ description: "Authorization type of the API operation.\n\n- `\"login\"`: User login operations that validate credentials\n- `\"join\"`: User registration operations that create accounts\n- `\"refresh\"`: Token refresh operations that renew access tokens\n- `null`: All other operations (CRUD, business logic, etc.)\n\nUse authentication values only for credential validation, user\nregistration, or token refresh operations. Use `null` for all other\nbusiness operations.\n\nExamples:\n\n- `/auth/login` \u2192 `\"login\"`\n- `/auth/register` \u2192 `\"join\"`\n- `/auth/refresh` \u2192 `\"refresh\"`\n- `/auth/validate` \u2192 `null`\n- `/users/{id}`, `/shoppings/customers/sales/cancel`, \u2192 `null`",
491
+ anyOf: [
492
+ {
493
+ type: "null"
494
+ },
495
+ {
496
+ type: "string",
497
+ "enum": [
498
+ "login",
499
+ "join",
500
+ "refresh"
501
+ ]
502
+ }
503
+ ]
504
+ },
505
+ description: {
506
+ description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related Prisma DB schema tables and\ncolumns. The description should be organized into MULTIPLE PARAGRAPHS\nseparated by line breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n**CRITICAL WARNING about soft delete keywords**: DO NOT use terms like\n\"soft delete\", \"soft-delete\", or similar variations in this description\nUNLESS the operation actually implements soft deletion. These keywords\ntrigger validation logic that expects a corresponding soft_delete_column\nto be specified. Only use these terms when you intend to implement soft\ndeletion (marking records as deleted without removing them from the\ndatabase).\n\nExample of problematic description: \u274C \"This would normally be a\nsoft-delete, but we intentionally perform permanent deletion here\" - This\ntriggers soft delete validation despite being a hard delete operation.\n\n> MUST be written in English. Never use other languages.",
507
+ type: "string"
508
+ },
509
+ summary: {
510
+ description: "Short summary of the API operation.\n\nThis should be a concise description of the API operation, typically one\nsentence long. It should provide a quick overview of what the API does\nwithout going into too much detail.\n\nThis summary will be used in the OpenAPI documentation to give users a\nquick understanding of the API operation's purpose.\n\nIMPORTANT: The summary should clearly indicate which Prisma DB table this\noperation relates to, helping to ensure all tables have API coverage.\n\n**CRITICAL WARNING about soft delete keywords**: DO NOT use terms like\n\"soft delete\", \"soft-delete\", or similar variations in this summary\nUNLESS the operation actually implements soft deletion. These keywords\ntrigger validation logic that expects a corresponding soft_delete_column\nto be specified. Only use these terms when you intend to implement soft\ndeletion (marking records as deleted without removing them from the\ndatabase).\n\n> MUST be written in English. Never use other languages",
511
+ type: "string"
512
+ },
513
+ parameters: {
514
+ description: "List of path parameters.\n\nNote that, the {@link AutoBeOpenApi.IParameter.name identifier name} of\npath parameter must be corresponded to the\n{@link path API operation path}.\n\nFor example, if there's an API operation which has {@link path} of\n`/shoppings/customers/sales/{saleId}/questions/${questionId}/comments/${commentId}`,\nits list of {@link AutoBeOpenApi.IParameter.name path parameters} must be\nlike:\n\n- `saleId`\n- `questionId`\n- `commentId`",
515
+ type: "array",
516
+ items: {
517
+ $ref: "#/$defs/AutoBeOpenApi.IParameter"
518
+ }
519
+ },
520
+ requestBody: {
521
+ description: "Request body of the API operation.\n\nDefines the payload structure for the request. Contains a description and\nschema reference to define the expected input data.\n\nShould be `null` for operations that don't require a request body, such\nas most \"get\" operations.",
522
+ anyOf: [
523
+ {
524
+ type: "null"
525
+ },
526
+ {
527
+ $ref: "#/$defs/AutoBeOpenApi.IRequestBody"
528
+ }
529
+ ]
530
+ },
531
+ responseBody: {
532
+ description: "Response body of the API operation.\n\nDefines the structure of the successful response data. Contains a\ndescription and schema reference for the returned data.\n\nShould be null for operations that don't return any data.",
533
+ anyOf: [
534
+ {
535
+ type: "null"
536
+ },
537
+ {
538
+ $ref: "#/$defs/AutoBeOpenApi.IResponseBody"
539
+ }
540
+ ]
541
+ },
542
+ authorizationRole: {
543
+ description: "Authorization role required to access this API operation.\n\nThis field specifies which user role is allowed to access this endpoint.\nThe role name must correspond exactly to the actual roles defined in your\nsystem's Prisma schema.\n\n## Naming Convention\n\nRole names MUST use camelCase.\n\n## Role-Based Path Convention\n\nWhen authorizationRole is specified, it should align with the path\nstructure:\n\n- If authorizationRole is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationRole is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of role\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific role string for role-restricted endpoints\n- The role name MUST match exactly with the user type/role defined in the\n database\n- This role will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this role\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
544
+ anyOf: [
545
+ {
546
+ type: "null"
547
+ },
548
+ {
549
+ type: "string",
550
+ description: "@minLength 1\n@pattern ^[a-z][a-zA-Z0-9]*$"
551
+ }
552
+ ]
553
+ },
554
+ name: {
555
+ description: "Functional name of the API endpoint.\n\nThis is a semantic identifier that represents the primary function or\npurpose of the API endpoint. It serves as a canonical name that can be\nused for code generation, SDK method names, and internal references.\n\n## Reserved Word Restrictions\n\nCRITICAL: The name MUST NOT be a TypeScript/JavaScript reserved word, as\nit will be used as a class method name in generated code. Avoid names\nlike:\n\n- `delete`, `for`, `if`, `else`, `while`, `do`, `switch`, `case`, `break`\n- `continue`, `function`, `return`, `with`, `in`, `of`, `instanceof`\n- `typeof`, `void`, `var`, `let`, `const`, `class`, `extends`, `import`\n- `export`, `default`, `try`, `catch`, `finally`, `throw`, `new`\n- `super`, `this`, `null`, `true`, `false`, `async`, `await`\n- `yield`, `static`, `private`, `protected`, `public`, `implements`\n- `interface`, `package`, `enum`, `debugger`\n\nInstead, use alternative names for these operations:\n\n- Use `erase` instead of `delete`\n- Use `iterate` instead of `for`\n- Use `when` instead of `if`\n- Use `cls` instead of `class`\n\n## Standard Endpoint Names\n\nUse these conventional names based on the endpoint's primary function:\n\n- **`index`**: List/search operations that return multiple entities\n\n - Typically used with PATCH method for complex queries\n - Example: `PATCH /users` \u2192 `name: \"index\"`\n- **`at`**: Retrieve a specific entity by identifier\n\n - Typically used with GET method on single resource\n - Example: `GET /users/{userId}` \u2192 `name: \"at\"`\n- **`create`**: Create a new entity\n\n - Typically used with POST method\n - Example: `POST /users` \u2192 `name: \"create\"`\n- **`update`**: Update an existing entity\n\n - Typically used with PUT method\n - Example: `PUT /users/{userId}` \u2192 `name: \"update\"`\n- **`erase`**: Delete/remove an entity (NOT `delete` - reserved word!)\n\n - Typically used with DELETE method\n - Example: `DELETE /users/{userId}` \u2192 `name: \"erase\"`\n\n## Custom Endpoint Names\n\nFor specialized operations beyond basic CRUD, use descriptive verbs:\n\n- **`activate`**: Enable or turn on a feature/entity\n- **`deactivate`**: Disable or turn off a feature/entity\n- **`approve`**: Approve a request or entity\n- **`reject`**: Reject a request or entity\n- **`publish`**: Make content publicly available\n- **`archive`**: Move to archived state\n- **`restore`**: Restore from archived/deleted state\n- **`duplicate`**: Create a copy of an entity\n- **`transfer`**: Move ownership or change assignment\n- **`validate`**: Validate data or state\n- **`process`**: Execute a business process or workflow\n- **`export`**: Generate downloadable data\n- **`import`**: Process uploaded data\n\n## Naming Guidelines\n\n- MUST use camelCase naming convention\n- Use singular verb forms\n- Be concise but descriptive\n- Avoid abbreviations unless widely understood\n- Ensure the name clearly represents the endpoint's primary action\n- For nested resources, focus on the action rather than hierarchy\n- NEVER use JavaScript/TypeScript reserved words\n\nValid Examples:\n\n- `index`, `create`, `update`, `erase` (single word)\n- `updatePassword`, `cancelOrder`, `publishArticle` (camelCase)\n- `validateEmail`, `generateReport`, `exportData` (camelCase)\n\nInvalid Examples:\n\n- `update_password` (snake_case not allowed)\n- `UpdatePassword` (PascalCase not allowed)\n- `update-password` (kebab-case not allowed)\n\nPath to Name Examples:\n\n- `GET /shopping/orders/{orderId}/items` \u2192 `name: \"index\"` (lists items)\n- `POST /shopping/orders/{orderId}/cancel` \u2192 `name: \"cancel\"`\n- `PUT /users/{userId}/password` \u2192 `name: \"updatePassword\"`\n\n## Uniqueness Rule\n\nThe `name` must be unique within the API's accessor namespace. The\naccessor is formed by combining the path segments (excluding parameters)\nwith the operation name.\n\nAccessor formation:\n\n1. Extract non-parameter segments from the path (remove `{...}` parts)\n2. Join segments with dots\n3. Append the operation name\n\nExamples:\n\n- Path: `/shopping/sale/{saleId}/review/{reviewId}`, Name: `at` \u2192 Accessor:\n `shopping.sale.review.at`\n- Path: `/users/{userId}/posts`, Name: `index` \u2192 Accessor:\n `users.posts.index`\n- Path: `/auth/login`, Name: `signIn` \u2192 Accessor: `auth.login.signIn`\n\nEach accessor must be globally unique across the entire API. This ensures\noperations can be uniquely identified in generated SDKs and prevents\nnaming conflicts.\n\n\n@pattern ^[a-z][a-zA-Z0-9]*$",
556
+ type: "string"
557
+ },
558
+ path: {
559
+ description: "HTTP path of the API operation.\n\nThe URL path for accessing this API operation, using path parameters\nenclosed in curly braces (e.g., `/shoppings/customers/sales/{saleId}`).\n\nIt must be corresponded to the {@link parameters path parameters}.\n\nThe path structure should clearly indicate which database entity this\noperation is manipulating, helping to ensure all entities have\nappropriate API coverage.\n\nPath validation rules:\n\n- Must start with a forward slash (/)\n- Can contain only: letters (a-z, A-Z), numbers (0-9), forward slashes (/),\n curly braces for parameters ({paramName}), hyphens (-), and underscores\n (_)\n- Parameters must be enclosed in curly braces: {paramName}\n- Resource names should be in camelCase\n- No quotes, spaces, or invalid special characters allowed\n- No domain or role-based prefixes\n\nValid examples:\n\n- \"/users\"\n- \"/users/{userId}\"\n- \"/articles/{articleId}/comments\"\n- \"/attachmentFiles\"\n- \"/orders/{orderId}/items/{itemId}\"\n\nInvalid examples:\n\n- \"'/users'\" (contains quotes)\n- \"/user profile\" (contains space)\n- \"/users/[userId]\" (wrong bracket format)\n- \"/admin/users\" (role prefix)\n- \"/api/v1/users\" (API prefix)\n\n\n@pattern ^\\/[a-zA-Z0-9\\/_{}.-]*$",
560
+ type: "string"
561
+ },
562
+ method: {
563
+ description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\",\nnot \"GET\").\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
564
+ type: "string",
565
+ "enum": [
566
+ "get",
567
+ "post",
568
+ "put",
569
+ "delete",
570
+ "patch"
571
+ ]
572
+ }
573
+ },
574
+ required: [
575
+ "specification",
576
+ "authorizationType",
577
+ "description",
578
+ "summary",
579
+ "parameters",
580
+ "requestBody",
581
+ "responseBody",
582
+ "authorizationRole",
583
+ "name",
584
+ "path",
585
+ "method"
586
+ ]
587
+ },
588
+ "AutoBeOpenApi.IParameter": {
589
+ description: "Path parameter information for API routes.\n\nThis interface defines a path parameter that appears in the URL of an API\nendpoint. Path parameters are enclosed in curly braces in the\n{@link AutoBeOpenApi.IOperation.path operation path} and must be defined\nwith their types and descriptions.\n\nFor example, if API operation path is\n`/shoppings/customers/sales/{saleId}/questions/${questionId}/comments/${commentId}`,\nthe path parameters should be like below:\n\n```json\n{\n \"path\": \"/shoppings/customers/sales/{saleId}/questions/${questionId}/comments/${commentId}\",\n \"method\": \"get\",\n \"parameters\": [\n {\n \"name\": \"saleId\",\n \"in\": \"path\",\n \"schema\": { \"type\": \"string\", \"format\": \"uuid\" },\n \"description\": \"Target sale's ID\"\n },\n {\n \"name\": \"questionId\",\n \"in\": \"path\",\n \"schema\": { \"type\": \"string\", \"format\": \"uuid\" },\n \"description\": \"Target question's ID\"\n },\n {\n \"name\": \"commentId\",\n \"in\": \"path\",\n \"schema\": { \"type\": \"string\", \"format\": \"uuid\" },\n \"description\": \"Target comment's ID\"\n }\n ]\n}\n```",
590
+ type: "object",
591
+ properties: {
592
+ name: {
593
+ description: "Identifier name of the path parameter.\n\nThis name must match exactly with the parameter name in the route path.\nIt must be corresponded to the\n{@link AutoBeOpenApi.IOperation.path API operation path}.\n\nMUST use camelCase naming convention.\n\n\n@pattern ^[a-z][a-zA-Z0-9]*$",
594
+ type: "string"
595
+ },
596
+ description: {
597
+ description: "Description about the path parameter.\n\nMake short, concise and clear description about the path parameter.\n\n> MUST be written in English. Never use other languages.",
598
+ type: "string"
599
+ },
600
+ schema: {
601
+ description: "Type schema of the path parameter.\n\nPath parameters are typically primitive types like\n{@link AutoBeOpenApi.IJsonSchema.IString strings},\n{@link AutoBeOpenApi.IJsonSchema.IInteger integers},\n{@link AutoBeOpenApi.IJsonSchema.INumber numbers}.\n\nIf you need other types, please use request body instead with object type\nencapsulation.",
602
+ anyOf: [
603
+ {
604
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
605
+ },
606
+ {
607
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
608
+ },
609
+ {
610
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
611
+ }
612
+ ],
613
+ "x-discriminator": {
614
+ propertyName: "type",
615
+ mapping: {
616
+ number: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber",
617
+ integer: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger",
618
+ string: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
619
+ }
620
+ }
621
+ }
622
+ },
623
+ required: [
624
+ "name",
625
+ "description",
626
+ "schema"
627
+ ]
628
+ },
629
+ "AutoBeOpenApi.IJsonSchema.INumber": {
630
+ description: "Number (double) type info.",
631
+ type: "object",
632
+ properties: {
633
+ minimum: {
634
+ description: "Minimum value restriction.",
635
+ type: "number"
636
+ },
637
+ maximum: {
638
+ description: "Maximum value restriction.",
639
+ type: "number"
640
+ },
641
+ exclusiveMinimum: {
642
+ description: "Exclusive minimum value restriction.",
643
+ type: "number"
644
+ },
645
+ exclusiveMaximum: {
646
+ description: "Exclusive maximum value restriction.",
647
+ type: "number"
648
+ },
649
+ multipleOf: {
650
+ description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
651
+ type: "number"
652
+ },
653
+ type: {
654
+ 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.",
655
+ type: "string",
656
+ "enum": [
657
+ "number"
658
+ ]
659
+ }
660
+ },
661
+ required: [
662
+ "type"
663
+ ]
664
+ },
665
+ "AutoBeOpenApi.IJsonSchema.IInteger": {
666
+ description: "Integer type info.",
667
+ type: "object",
668
+ properties: {
669
+ minimum: {
670
+ description: "Minimum value restriction.",
671
+ type: "integer"
672
+ },
673
+ maximum: {
674
+ description: "Maximum value restriction.",
675
+ type: "integer"
676
+ },
677
+ exclusiveMinimum: {
678
+ description: "Exclusive minimum value restriction.",
679
+ type: "number"
680
+ },
681
+ exclusiveMaximum: {
682
+ description: "Exclusive maximum value restriction.",
683
+ type: "number"
684
+ },
685
+ multipleOf: {
686
+ description: "Multiple of value restriction.\n\n\n@exclusiveMinimum 0",
687
+ type: "integer"
688
+ },
689
+ type: {
690
+ 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.",
691
+ type: "string",
692
+ "enum": [
693
+ "integer"
694
+ ]
695
+ }
696
+ },
697
+ required: [
698
+ "type"
699
+ ]
700
+ },
701
+ "AutoBeOpenApi.IJsonSchema.IString": {
702
+ description: "String type info.",
703
+ type: "object",
704
+ properties: {
705
+ format: {
706
+ description: "Format restriction.",
707
+ type: "string"
708
+ },
709
+ pattern: {
710
+ description: "Pattern restriction.",
711
+ type: "string"
712
+ },
713
+ contentMediaType: {
714
+ description: "Content media type restriction.",
715
+ type: "string"
716
+ },
717
+ minLength: {
718
+ description: "Minimum length restriction.\n\n\n@minimum 0",
719
+ type: "integer"
720
+ },
721
+ maxLength: {
722
+ description: "Maximum length restriction.\n\n\n@minimum 0",
723
+ type: "integer"
724
+ },
725
+ type: {
726
+ 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.",
727
+ type: "string",
728
+ "enum": [
729
+ "string"
730
+ ]
731
+ }
732
+ },
733
+ required: [
734
+ "type"
735
+ ]
736
+ },
737
+ "AutoBeOpenApi.IRequestBody": {
738
+ description: "Request body information of OpenAPI operation.\n\nThis interface defines the structure for request bodies in API routes. It\ncorresponds to the requestBody section in OpenAPI specifications, providing\nboth a description and schema reference for the request payload.\n\nThe content-type for all request bodies is always `application/json`. Even\nwhen file uploading is required, don't use `multipart/form-data` or\n`application/x-www-form-urlencoded` content types. Instead, just define an\nURI string property in the request body schema.\n\nNote that, all body schemas must be transformable to a\n{@link AutoBeOpenApi.IJsonSchema.IReference reference} type defined in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"requestBody\": {\n \"description\": \"Creation info of the order\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n }\n }\n }\n}\n```",
739
+ type: "object",
740
+ properties: {
741
+ description: {
742
+ description: "Description about the request body.\n\nMake short, concise and clear description about the request body.\n\n> MUST be written in English. Never use other languages.",
743
+ type: "string"
744
+ },
745
+ typeName: {
746
+ description: "Request body type name.\n\nThis specifies the data structure expected in the request body, that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference reference}\ntype in the {@link AutoBeOpenApi.IComponents.schemas components section}\nas an {@link AutoBeOpenApi.IJsonSchema.Object object} type.\n\nHere is the naming convention for the request body type:\n\n- `IEntityName.ICreate`: Request body for creation operations (POST)\n- `IEntityName.IUpdate`: Request body for update operations (PUT)\n- `IEntityName.IRequest`: Request parameters for list operations (often\n with search/pagination)\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder.ICreate\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n}\n```",
747
+ type: "string"
748
+ }
749
+ },
750
+ required: [
751
+ "description",
752
+ "typeName"
753
+ ]
754
+ },
755
+ "AutoBeOpenApi.IResponseBody": {
756
+ description: "Response body information for OpenAPI operation.\n\nThis interface defines the structure of a successful response from an API\noperation. It provides a description of the response and a schema reference\nto define the returned data structure.\n\nThe content-type for all responses is always `application/json`. Even when\nfile downloading is required, don't use `application/octet-stream` or\n`multipart/form-data` content types. Instead, just define an URI string\nproperty in the response body schema.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"responses\": {\n \"200\": {\n \"description\": \"Order information\",\n \"content\": {\n \"application/json\": {\n \"schema\": { \"$ref\": \"#/components/schemas/IShoppingOrder\" }\n }\n }\n }\n }\n}\n```",
757
+ type: "object",
758
+ properties: {
759
+ description: {
760
+ description: "Description about the response body.\n\nMake short, concise and clear description about the response body.\n\n> MUST be written in English. Never use other languages.",
761
+ type: "string"
762
+ },
763
+ typeName: {
764
+ description: "Response body's data type.\n\nSpecifies the structure of the returned data (response body), that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference} type in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nHere is the naming convention for the response body type:\n\n- `IEntityName`: Main entity with detailed information (e.g.,\n `IShoppingSale`)\n- `IEntityName.ISummary`: Simplified response version with essential\n properties\n- `IEntityName.IInvert`: Alternative view of an entity from a different\n perspective\n- `IPageIEntityName`: Paginated results container with `pagination` and\n `data` properties\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder\"\n }\n}\n```",
765
+ type: "string"
766
+ }
767
+ },
768
+ required: [
769
+ "description",
770
+ "typeName"
771
+ ]
772
+ }
773
+ }
774
+ },
775
+ description: "Reviews a batch of API operations for quality and correctness.\n\nAnalyzes operations for security vulnerabilities, schema compliance,\nlogical consistency, and standard adherence. Outputs a structured thinking\nprocess containing review findings and improvement plans, plus the final\nproduction-ready operations with all critical issues resolved.",
776
+ validate: (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); 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; 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; 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; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
777
+ if ("number" === input.type)
778
+ return _io5(input);
779
+ else if ("integer" === input.type)
780
+ return _io4(input);
781
+ else if ("string" === input.type)
782
+ return _io6(input);
783
+ else
784
+ return false;
785
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.think && null !== input.think || _report(_exceptionable, {
786
+ path: _path + ".think",
787
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IThink",
788
+ value: input.think
789
+ })) && _vo1(input.think, _path + ".think", true && _exceptionable) || _report(_exceptionable, {
790
+ path: _path + ".think",
791
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IThink",
792
+ value: input.think
793
+ }), (Array.isArray(input.content) || _report(_exceptionable, {
794
+ path: _path + ".content",
795
+ expected: "Array<AutoBeOpenApi.IOperation>",
796
+ value: input.content
797
+ })) && input.content.map((elem, _index3) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
798
+ path: _path + ".content[" + _index3 + "]",
799
+ expected: "AutoBeOpenApi.IOperation",
800
+ value: elem
801
+ })) && _vo2(elem, _path + ".content[" + _index3 + "]", true && _exceptionable) || _report(_exceptionable, {
802
+ path: _path + ".content[" + _index3 + "]",
803
+ expected: "AutoBeOpenApi.IOperation",
804
+ value: elem
805
+ })).every(flag => flag) || _report(_exceptionable, {
806
+ path: _path + ".content",
807
+ expected: "Array<AutoBeOpenApi.IOperation>",
808
+ value: input.content
809
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.review || _report(_exceptionable, {
810
+ path: _path + ".review",
811
+ expected: "string",
812
+ value: input.review
813
+ }), "string" === typeof input.plan || _report(_exceptionable, {
814
+ path: _path + ".plan",
815
+ expected: "string",
816
+ value: input.plan
817
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
818
+ path: _path + ".specification",
819
+ expected: "string",
820
+ value: input.specification
821
+ }), null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType || _report(_exceptionable, {
822
+ path: _path + ".authorizationType",
823
+ expected: "(\"join\" | \"login\" | \"refresh\" | null)",
824
+ value: input.authorizationType
825
+ }), "string" === typeof input.description || _report(_exceptionable, {
826
+ path: _path + ".description",
827
+ expected: "string",
828
+ value: input.description
829
+ }), "string" === typeof input.summary || _report(_exceptionable, {
830
+ path: _path + ".summary",
831
+ expected: "string",
832
+ value: input.summary
833
+ }), (Array.isArray(input.parameters) || _report(_exceptionable, {
834
+ path: _path + ".parameters",
835
+ expected: "Array<AutoBeOpenApi.IParameter>",
836
+ value: input.parameters
837
+ })) && input.parameters.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
838
+ path: _path + ".parameters[" + _index4 + "]",
839
+ expected: "AutoBeOpenApi.IParameter",
840
+ value: elem
841
+ })) && _vo3(elem, _path + ".parameters[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
842
+ path: _path + ".parameters[" + _index4 + "]",
843
+ expected: "AutoBeOpenApi.IParameter",
844
+ value: elem
845
+ })).every(flag => flag) || _report(_exceptionable, {
846
+ path: _path + ".parameters",
847
+ expected: "Array<AutoBeOpenApi.IParameter>",
848
+ value: input.parameters
849
+ }), null === input.requestBody || ("object" === typeof input.requestBody && null !== input.requestBody || _report(_exceptionable, {
850
+ path: _path + ".requestBody",
851
+ expected: "(AutoBeOpenApi.IRequestBody | null)",
852
+ value: input.requestBody
853
+ })) && _vo7(input.requestBody, _path + ".requestBody", true && _exceptionable) || _report(_exceptionable, {
854
+ path: _path + ".requestBody",
855
+ expected: "(AutoBeOpenApi.IRequestBody | null)",
856
+ value: input.requestBody
857
+ }), null === input.responseBody || ("object" === typeof input.responseBody && null !== input.responseBody || _report(_exceptionable, {
858
+ path: _path + ".responseBody",
859
+ expected: "(AutoBeOpenApi.IResponseBody | null)",
860
+ value: input.responseBody
861
+ })) && _vo8(input.responseBody, _path + ".responseBody", true && _exceptionable) || _report(_exceptionable, {
862
+ path: _path + ".responseBody",
863
+ expected: "(AutoBeOpenApi.IResponseBody | null)",
864
+ value: input.responseBody
865
+ }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
866
+ path: _path + ".authorizationRole",
867
+ expected: "string & CamelPattern",
868
+ value: input.authorizationRole
869
+ })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
870
+ path: _path + ".authorizationRole",
871
+ expected: "string & MinLength<1>",
872
+ value: input.authorizationRole
873
+ })) || _report(_exceptionable, {
874
+ path: _path + ".authorizationRole",
875
+ expected: "((string & CamelPattern & MinLength<1>) | null)",
876
+ value: input.authorizationRole
877
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
878
+ path: _path + ".name",
879
+ expected: "string & CamelPattern",
880
+ value: input.name
881
+ })) || _report(_exceptionable, {
882
+ path: _path + ".name",
883
+ expected: "(string & CamelPattern)",
884
+ value: input.name
885
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
886
+ path: _path + ".path",
887
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
888
+ value: input.path
889
+ })) || _report(_exceptionable, {
890
+ path: _path + ".path",
891
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
892
+ value: input.path
893
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
894
+ path: _path + ".method",
895
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
896
+ value: input.method
897
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
898
+ path: _path + ".name",
899
+ expected: "string & CamelPattern",
900
+ value: input.name
901
+ })) || _report(_exceptionable, {
902
+ path: _path + ".name",
903
+ expected: "(string & CamelPattern)",
904
+ value: input.name
905
+ }), "string" === typeof input.description || _report(_exceptionable, {
906
+ path: _path + ".description",
907
+ expected: "string",
908
+ value: input.description
909
+ }), ("object" === typeof input.schema && null !== input.schema || _report(_exceptionable, {
910
+ path: _path + ".schema",
911
+ expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
912
+ value: input.schema
913
+ })) && _vu0(input.schema, _path + ".schema", true && _exceptionable) || _report(_exceptionable, {
914
+ path: _path + ".schema",
915
+ expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
916
+ value: input.schema
917
+ })].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, {
918
+ path: _path + ".minimum",
919
+ expected: "number & Type<\"int64\">",
920
+ value: input.minimum
921
+ })) || _report(_exceptionable, {
922
+ path: _path + ".minimum",
923
+ expected: "((number & Type<\"int64\">) | undefined)",
924
+ value: input.minimum
925
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
926
+ path: _path + ".maximum",
927
+ expected: "number & Type<\"int64\">",
928
+ value: input.maximum
929
+ })) || _report(_exceptionable, {
930
+ path: _path + ".maximum",
931
+ expected: "((number & Type<\"int64\">) | undefined)",
932
+ value: input.maximum
933
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
934
+ path: _path + ".exclusiveMinimum",
935
+ expected: "(number | undefined)",
936
+ value: input.exclusiveMinimum
937
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
938
+ path: _path + ".exclusiveMaximum",
939
+ expected: "(number | undefined)",
940
+ value: input.exclusiveMaximum
941
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
942
+ path: _path + ".multipleOf",
943
+ expected: "number & Type<\"uint64\">",
944
+ value: input.multipleOf
945
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
946
+ path: _path + ".multipleOf",
947
+ expected: "number & ExclusiveMinimum<0>",
948
+ value: input.multipleOf
949
+ })) || _report(_exceptionable, {
950
+ path: _path + ".multipleOf",
951
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
952
+ value: input.multipleOf
953
+ }), "integer" === input.type || _report(_exceptionable, {
954
+ path: _path + ".type",
955
+ expected: "\"integer\"",
956
+ value: input.type
957
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
958
+ path: _path + ".minimum",
959
+ expected: "(number | undefined)",
960
+ value: input.minimum
961
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
962
+ path: _path + ".maximum",
963
+ expected: "(number | undefined)",
964
+ value: input.maximum
965
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
966
+ path: _path + ".exclusiveMinimum",
967
+ expected: "(number | undefined)",
968
+ value: input.exclusiveMinimum
969
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
970
+ path: _path + ".exclusiveMaximum",
971
+ expected: "(number | undefined)",
972
+ value: input.exclusiveMaximum
973
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
974
+ path: _path + ".multipleOf",
975
+ expected: "number & ExclusiveMinimum<0>",
976
+ value: input.multipleOf
977
+ })) || _report(_exceptionable, {
978
+ path: _path + ".multipleOf",
979
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
980
+ value: input.multipleOf
981
+ }), "number" === input.type || _report(_exceptionable, {
982
+ path: _path + ".type",
983
+ expected: "\"number\"",
984
+ value: input.type
985
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
986
+ path: _path + ".format",
987
+ expected: "(string | undefined)",
988
+ value: input.format
989
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
990
+ path: _path + ".pattern",
991
+ expected: "(string | undefined)",
992
+ value: input.pattern
993
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
994
+ path: _path + ".contentMediaType",
995
+ expected: "(string | undefined)",
996
+ value: input.contentMediaType
997
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
998
+ path: _path + ".minLength",
999
+ expected: "number & Type<\"uint64\">",
1000
+ value: input.minLength
1001
+ })) || _report(_exceptionable, {
1002
+ path: _path + ".minLength",
1003
+ expected: "((number & Type<\"uint64\">) | undefined)",
1004
+ value: input.minLength
1005
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
1006
+ path: _path + ".maxLength",
1007
+ expected: "number & Type<\"uint64\">",
1008
+ value: input.maxLength
1009
+ })) || _report(_exceptionable, {
1010
+ path: _path + ".maxLength",
1011
+ expected: "((number & Type<\"uint64\">) | undefined)",
1012
+ value: input.maxLength
1013
+ }), "string" === input.type || _report(_exceptionable, {
1014
+ path: _path + ".type",
1015
+ expected: "\"string\"",
1016
+ value: input.type
1017
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
1018
+ path: _path + ".description",
1019
+ expected: "string",
1020
+ value: input.description
1021
+ }), "string" === typeof input.typeName || _report(_exceptionable, {
1022
+ path: _path + ".typeName",
1023
+ expected: "string",
1024
+ value: input.typeName
1025
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
1026
+ path: _path + ".description",
1027
+ expected: "string",
1028
+ value: input.description
1029
+ }), "string" === typeof input.typeName || _report(_exceptionable, {
1030
+ path: _path + ".typeName",
1031
+ expected: "string",
1032
+ value: input.typeName
1033
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1034
+ if ("number" === input.type)
1035
+ return _vo5(input, _path, true && _exceptionable);
1036
+ else if ("integer" === input.type)
1037
+ return _vo4(input, _path, true && _exceptionable);
1038
+ else if ("string" === input.type)
1039
+ return _vo6(input, _path, true && _exceptionable);
1040
+ else
1041
+ return _report(_exceptionable, {
1042
+ path: _path,
1043
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString)",
1044
+ value: input
1045
+ });
1046
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1047
+ if (false === __is(input)) {
1048
+ errors = [];
1049
+ _report = __typia_transform__validateReport._validateReport(errors);
1050
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1051
+ path: _path + "",
1052
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IProps",
1053
+ value: input
1054
+ })) && _vo0(input, _path + "", true) || _report(true, {
1055
+ path: _path + "",
1056
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IProps",
1057
+ value: input
1058
+ }))(input, "$input", true);
1059
+ const success = 0 === errors.length;
1060
+ return success ? {
1061
+ success,
1062
+ data: input
1063
+ } : {
1064
+ success,
1065
+ errors,
1066
+ data: input
1067
+ };
1068
+ }
1069
+ return {
1070
+ success: true,
1071
+ data: input
1072
+ };
1073
+ }; })()
1074
+ }
1075
+ ]
1076
+ };
1077
+ __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
1078
+ validate: {
1079
+ reviewOperations: validate,
1080
+ },
1081
+ }), { equals: false }));
1082
+ return application;
1083
+ })(),
1084
+ claude: (validate) => (() => {
1085
+ const application = {
1086
+ model: "claude",
1087
+ options: {
1088
+ reference: true,
1089
+ separate: null
1090
+ },
1091
+ functions: [
1092
+ {
1093
+ name: "reviewOperations",
1094
+ parameters: {
1095
+ description: " Properties containing the thinking process (review & plan)\nand the enhanced operations content\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceOperationsReviewApplication.IProps} type:\n\n> Properties for API operation review and improvement process.\n> \n> Contains both the input operations to be reviewed and the outputs generated\n> by the Interface Operations Review Agent, which will be published as part\n> of the AutoBeInterfaceOperationsReviewEvent.",
1096
+ type: "object",
1097
+ properties: {
1098
+ think: {
1099
+ description: "Comprehensive thinking process for API operation review.\n\nEncapsulates the agent's analytical review findings and actionable\nimprovement plan. This structured thinking process ensures systematic\nevaluation of API operations against AutoBE's quality standards before\ngenerating the final enhanced operations.",
1100
+ $ref: "#/$defs/IAutoBeInterfaceOperationsReviewApplication.IThink"
1101
+ },
1102
+ content: {
1103
+ description: "Production-ready operations with all critical issues resolved.\n\nFinal API operations after systematic enhancement:\n\n- **Security Fixes Applied**: All authentication boundaries enforced,\n sensitive data removed from responses, proper authorization\n implemented\n- **Logic Corrections Made**: Return types match operation intent, HTTP\n methods align with semantics, parameters properly utilized\n- **Schema Alignment Verified**: All fields exist in Prisma schema, types\n correctly mapped, relationships properly defined\n- **Quality Improvements Added**: Enhanced documentation, format\n specifications, validation rules, consistent naming patterns\n\nIf no issues were found during review, this contains the exact original\noperations unchanged. These operations are validated and ready for schema\ngeneration and subsequent implementation phases.",
1104
+ type: "array",
1105
+ items: {
1106
+ $ref: "#/$defs/AutoBeOpenApi.IOperation"
1107
+ }
1108
+ }
1109
+ },
1110
+ required: [
1111
+ "think",
1112
+ "content"
1113
+ ],
1114
+ additionalProperties: false,
1115
+ $defs: {
1116
+ "IAutoBeInterfaceOperationsReviewApplication.IThink": {
1117
+ description: "Structured thinking process for comprehensive API operation review.\n\nCombines analytical review findings with actionable improvement planning\nto guide the systematic enhancement of API operations. This thinking\nstructure ensures all aspects of API quality are evaluated and addressed\nbefore producing the final operations.",
1118
+ type: "object",
1119
+ properties: {
1120
+ review: {
1121
+ description: "Comprehensive review analysis with prioritized findings.\n\nSystematic assessment organized by severity levels (CRITICAL, HIGH,\nMEDIUM, LOW):\n\n- **Security Analysis**: Authentication boundary violations, exposed\n passwords/tokens, unauthorized data access patterns, SQL injection\n risks\n- **Logic Validation**: Return type consistency (list operations returning\n arrays, single retrieval returning single items), HTTP method semantics\n alignment, parameter usage verification\n- **Schema Compliance**: Field existence in Prisma schema, type accuracy,\n relationship validity, required field handling\n- **Quality Assessment**: Documentation completeness, naming conventions,\n error handling patterns, pagination standards\n\nEach finding includes specific examples, current vs expected behavior,\nand concrete fix recommendations. Critical security issues and logical\ncontradictions are highlighted for immediate attention.",
1122
+ type: "string"
1123
+ },
1124
+ plan: {
1125
+ description: "Prioritized action plan for identified issues.\n\nStructured improvement strategy categorized by severity:\n\n- **Immediate Actions (CRITICAL)**: Security vulnerabilities that must be\n fixed before production (password exposure, missing authorization,\n authentication bypass risks)\n- **Required Fixes (HIGH)**: Functional issues affecting API correctness\n (wrong return types, missing required fields, schema mismatches)\n- **Recommended Improvements (MEDIUM)**: Quality enhancements for better\n API design (validation rules, format specifications, consistency)\n- **Optional Enhancements (LOW)**: Documentation and usability improvements\n\nIf all operations pass review without issues, contains: \"No improvements\nrequired. All operations meet AutoBE standards.\"\n\nEach action item includes the specific operation path, the exact change\nneeded, and the rationale for the modification.",
1126
+ type: "string"
1127
+ }
1128
+ },
1129
+ required: [
1130
+ "review",
1131
+ "plan"
1132
+ ]
1133
+ },
1134
+ "AutoBeOpenApi.IOperation": {
1135
+ description: "Operation of the Restful API.\n\nThis interface defines a single API endpoint with its HTTP {@link method},\n{@link path}, {@link parameters path parameters},\n{@link requestBody request body}, and {@link responseBody} structure. It\ncorresponds to an individual operation in the paths section of an OpenAPI\ndocument.\n\nEach operation requires a detailed explanation of its purpose through the\nreason and description fields, making it clear why the API was designed and\nhow it should be used.\n\nAll request bodies and responses for this operation must be object types\nand must reference named types defined in the components section. The\ncontent-type is always `application/json`. For file upload/download\noperations, use `string & tags.Format<\"uri\">` in the appropriate schema\ninstead of binary data formats.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"/shoppings/customers/orders\": {\n \"post\": {\n \"description\": \"Create a new order application from shopping cart...\",\n \"parameters\": [...],\n \"requestBody\": {...},\n \"responses\": {...}\n }\n }\n}\n```",
1136
+ type: "object",
1137
+ properties: {
1138
+ specification: {
1139
+ description: "Specification of the API operation.\n\nBefore defining the API operation interface, please describe what you're\nplanning to write in this `specification` field.\n\nThe specification must be fully detailed and clear, so that anyone can\nunderstand the purpose and functionality of the API operation and its\nrelated components (e.g., {@link path}, {@link parameters},\n{@link requestBody}).\n\nIMPORTANT: The specification MUST identify which Prisma DB table this\noperation is associated with, helping ensure complete coverage of all\ndatabase entities.",
1140
+ type: "string"
1141
+ },
1142
+ authorizationType: {
1143
+ description: "Authorization type of the API operation.\n\n- `\"login\"`: User login operations that validate credentials\n- `\"join\"`: User registration operations that create accounts\n- `\"refresh\"`: Token refresh operations that renew access tokens\n- `null`: All other operations (CRUD, business logic, etc.)\n\nUse authentication values only for credential validation, user\nregistration, or token refresh operations. Use `null` for all other\nbusiness operations.\n\nExamples:\n\n- `/auth/login` \u2192 `\"login\"`\n- `/auth/register` \u2192 `\"join\"`\n- `/auth/refresh` \u2192 `\"refresh\"`\n- `/auth/validate` \u2192 `null`\n- `/users/{id}`, `/shoppings/customers/sales/cancel`, \u2192 `null`",
1144
+ oneOf: [
1145
+ {
1146
+ type: "null"
1147
+ },
1148
+ {
1149
+ "const": "login"
1150
+ },
1151
+ {
1152
+ "const": "join"
1153
+ },
1154
+ {
1155
+ "const": "refresh"
1156
+ }
1157
+ ]
1158
+ },
1159
+ description: {
1160
+ description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related Prisma DB schema tables and\ncolumns. The description should be organized into MULTIPLE PARAGRAPHS\nseparated by line breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n**CRITICAL WARNING about soft delete keywords**: DO NOT use terms like\n\"soft delete\", \"soft-delete\", or similar variations in this description\nUNLESS the operation actually implements soft deletion. These keywords\ntrigger validation logic that expects a corresponding soft_delete_column\nto be specified. Only use these terms when you intend to implement soft\ndeletion (marking records as deleted without removing them from the\ndatabase).\n\nExample of problematic description: \u274C \"This would normally be a\nsoft-delete, but we intentionally perform permanent deletion here\" - This\ntriggers soft delete validation despite being a hard delete operation.\n\n> MUST be written in English. Never use other languages.",
1161
+ type: "string"
1162
+ },
1163
+ summary: {
1164
+ description: "Short summary of the API operation.\n\nThis should be a concise description of the API operation, typically one\nsentence long. It should provide a quick overview of what the API does\nwithout going into too much detail.\n\nThis summary will be used in the OpenAPI documentation to give users a\nquick understanding of the API operation's purpose.\n\nIMPORTANT: The summary should clearly indicate which Prisma DB table this\noperation relates to, helping to ensure all tables have API coverage.\n\n**CRITICAL WARNING about soft delete keywords**: DO NOT use terms like\n\"soft delete\", \"soft-delete\", or similar variations in this summary\nUNLESS the operation actually implements soft deletion. These keywords\ntrigger validation logic that expects a corresponding soft_delete_column\nto be specified. Only use these terms when you intend to implement soft\ndeletion (marking records as deleted without removing them from the\ndatabase).\n\n> MUST be written in English. Never use other languages",
1165
+ type: "string"
1166
+ },
1167
+ parameters: {
1168
+ description: "List of path parameters.\n\nNote that, the {@link AutoBeOpenApi.IParameter.name identifier name} of\npath parameter must be corresponded to the\n{@link path API operation path}.\n\nFor example, if there's an API operation which has {@link path} of\n`/shoppings/customers/sales/{saleId}/questions/${questionId}/comments/${commentId}`,\nits list of {@link AutoBeOpenApi.IParameter.name path parameters} must be\nlike:\n\n- `saleId`\n- `questionId`\n- `commentId`",
1169
+ type: "array",
1170
+ items: {
1171
+ $ref: "#/$defs/AutoBeOpenApi.IParameter"
1172
+ }
1173
+ },
1174
+ requestBody: {
1175
+ description: "Request body of the API operation.\n\nDefines the payload structure for the request. Contains a description and\nschema reference to define the expected input data.\n\nShould be `null` for operations that don't require a request body, such\nas most \"get\" operations.",
1176
+ oneOf: [
1177
+ {
1178
+ type: "null"
1179
+ },
1180
+ {
1181
+ $ref: "#/$defs/AutoBeOpenApi.IRequestBody"
1182
+ }
1183
+ ]
1184
+ },
1185
+ responseBody: {
1186
+ description: "Response body of the API operation.\n\nDefines the structure of the successful response data. Contains a\ndescription and schema reference for the returned data.\n\nShould be null for operations that don't return any data.",
1187
+ oneOf: [
1188
+ {
1189
+ type: "null"
1190
+ },
1191
+ {
1192
+ $ref: "#/$defs/AutoBeOpenApi.IResponseBody"
1193
+ }
1194
+ ]
1195
+ },
1196
+ authorizationRole: {
1197
+ description: "Authorization role required to access this API operation.\n\nThis field specifies which user role is allowed to access this endpoint.\nThe role name must correspond exactly to the actual roles defined in your\nsystem's Prisma schema.\n\n## Naming Convention\n\nRole names MUST use camelCase.\n\n## Role-Based Path Convention\n\nWhen authorizationRole is specified, it should align with the path\nstructure:\n\n- If authorizationRole is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationRole is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of role\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific role string for role-restricted endpoints\n- The role name MUST match exactly with the user type/role defined in the\n database\n- This role will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this role\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
1198
+ oneOf: [
1199
+ {
1200
+ type: "null"
1201
+ },
1202
+ {
1203
+ type: "string",
1204
+ pattern: "^[a-z][a-zA-Z0-9]*$",
1205
+ minLength: 1
1206
+ }
1207
+ ]
1208
+ },
1209
+ name: {
1210
+ description: "Functional name of the API endpoint.\n\nThis is a semantic identifier that represents the primary function or\npurpose of the API endpoint. It serves as a canonical name that can be\nused for code generation, SDK method names, and internal references.\n\n## Reserved Word Restrictions\n\nCRITICAL: The name MUST NOT be a TypeScript/JavaScript reserved word, as\nit will be used as a class method name in generated code. Avoid names\nlike:\n\n- `delete`, `for`, `if`, `else`, `while`, `do`, `switch`, `case`, `break`\n- `continue`, `function`, `return`, `with`, `in`, `of`, `instanceof`\n- `typeof`, `void`, `var`, `let`, `const`, `class`, `extends`, `import`\n- `export`, `default`, `try`, `catch`, `finally`, `throw`, `new`\n- `super`, `this`, `null`, `true`, `false`, `async`, `await`\n- `yield`, `static`, `private`, `protected`, `public`, `implements`\n- `interface`, `package`, `enum`, `debugger`\n\nInstead, use alternative names for these operations:\n\n- Use `erase` instead of `delete`\n- Use `iterate` instead of `for`\n- Use `when` instead of `if`\n- Use `cls` instead of `class`\n\n## Standard Endpoint Names\n\nUse these conventional names based on the endpoint's primary function:\n\n- **`index`**: List/search operations that return multiple entities\n\n - Typically used with PATCH method for complex queries\n - Example: `PATCH /users` \u2192 `name: \"index\"`\n- **`at`**: Retrieve a specific entity by identifier\n\n - Typically used with GET method on single resource\n - Example: `GET /users/{userId}` \u2192 `name: \"at\"`\n- **`create`**: Create a new entity\n\n - Typically used with POST method\n - Example: `POST /users` \u2192 `name: \"create\"`\n- **`update`**: Update an existing entity\n\n - Typically used with PUT method\n - Example: `PUT /users/{userId}` \u2192 `name: \"update\"`\n- **`erase`**: Delete/remove an entity (NOT `delete` - reserved word!)\n\n - Typically used with DELETE method\n - Example: `DELETE /users/{userId}` \u2192 `name: \"erase\"`\n\n## Custom Endpoint Names\n\nFor specialized operations beyond basic CRUD, use descriptive verbs:\n\n- **`activate`**: Enable or turn on a feature/entity\n- **`deactivate`**: Disable or turn off a feature/entity\n- **`approve`**: Approve a request or entity\n- **`reject`**: Reject a request or entity\n- **`publish`**: Make content publicly available\n- **`archive`**: Move to archived state\n- **`restore`**: Restore from archived/deleted state\n- **`duplicate`**: Create a copy of an entity\n- **`transfer`**: Move ownership or change assignment\n- **`validate`**: Validate data or state\n- **`process`**: Execute a business process or workflow\n- **`export`**: Generate downloadable data\n- **`import`**: Process uploaded data\n\n## Naming Guidelines\n\n- MUST use camelCase naming convention\n- Use singular verb forms\n- Be concise but descriptive\n- Avoid abbreviations unless widely understood\n- Ensure the name clearly represents the endpoint's primary action\n- For nested resources, focus on the action rather than hierarchy\n- NEVER use JavaScript/TypeScript reserved words\n\nValid Examples:\n\n- `index`, `create`, `update`, `erase` (single word)\n- `updatePassword`, `cancelOrder`, `publishArticle` (camelCase)\n- `validateEmail`, `generateReport`, `exportData` (camelCase)\n\nInvalid Examples:\n\n- `update_password` (snake_case not allowed)\n- `UpdatePassword` (PascalCase not allowed)\n- `update-password` (kebab-case not allowed)\n\nPath to Name Examples:\n\n- `GET /shopping/orders/{orderId}/items` \u2192 `name: \"index\"` (lists items)\n- `POST /shopping/orders/{orderId}/cancel` \u2192 `name: \"cancel\"`\n- `PUT /users/{userId}/password` \u2192 `name: \"updatePassword\"`\n\n## Uniqueness Rule\n\nThe `name` must be unique within the API's accessor namespace. The\naccessor is formed by combining the path segments (excluding parameters)\nwith the operation name.\n\nAccessor formation:\n\n1. Extract non-parameter segments from the path (remove `{...}` parts)\n2. Join segments with dots\n3. Append the operation name\n\nExamples:\n\n- Path: `/shopping/sale/{saleId}/review/{reviewId}`, Name: `at` \u2192 Accessor:\n `shopping.sale.review.at`\n- Path: `/users/{userId}/posts`, Name: `index` \u2192 Accessor:\n `users.posts.index`\n- Path: `/auth/login`, Name: `signIn` \u2192 Accessor: `auth.login.signIn`\n\nEach accessor must be globally unique across the entire API. This ensures\noperations can be uniquely identified in generated SDKs and prevents\nnaming conflicts.",
1211
+ type: "string",
1212
+ pattern: "^[a-z][a-zA-Z0-9]*$"
1213
+ },
1214
+ path: {
1215
+ description: "HTTP path of the API operation.\n\nThe URL path for accessing this API operation, using path parameters\nenclosed in curly braces (e.g., `/shoppings/customers/sales/{saleId}`).\n\nIt must be corresponded to the {@link parameters path parameters}.\n\nThe path structure should clearly indicate which database entity this\noperation is manipulating, helping to ensure all entities have\nappropriate API coverage.\n\nPath validation rules:\n\n- Must start with a forward slash (/)\n- Can contain only: letters (a-z, A-Z), numbers (0-9), forward slashes (/),\n curly braces for parameters ({paramName}), hyphens (-), and underscores\n (_)\n- Parameters must be enclosed in curly braces: {paramName}\n- Resource names should be in camelCase\n- No quotes, spaces, or invalid special characters allowed\n- No domain or role-based prefixes\n\nValid examples:\n\n- \"/users\"\n- \"/users/{userId}\"\n- \"/articles/{articleId}/comments\"\n- \"/attachmentFiles\"\n- \"/orders/{orderId}/items/{itemId}\"\n\nInvalid examples:\n\n- \"'/users'\" (contains quotes)\n- \"/user profile\" (contains space)\n- \"/users/[userId]\" (wrong bracket format)\n- \"/admin/users\" (role prefix)\n- \"/api/v1/users\" (API prefix)",
1216
+ type: "string",
1217
+ pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
1218
+ },
1219
+ method: {
1220
+ description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\",\nnot \"GET\").\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
1221
+ oneOf: [
1222
+ {
1223
+ "const": "get"
1224
+ },
1225
+ {
1226
+ "const": "post"
1227
+ },
1228
+ {
1229
+ "const": "put"
1230
+ },
1231
+ {
1232
+ "const": "delete"
1233
+ },
1234
+ {
1235
+ "const": "patch"
1236
+ }
1237
+ ]
1238
+ }
1239
+ },
1240
+ required: [
1241
+ "specification",
1242
+ "authorizationType",
1243
+ "description",
1244
+ "summary",
1245
+ "parameters",
1246
+ "requestBody",
1247
+ "responseBody",
1248
+ "authorizationRole",
1249
+ "name",
1250
+ "path",
1251
+ "method"
1252
+ ]
1253
+ },
1254
+ "AutoBeOpenApi.IParameter": {
1255
+ description: "Path parameter information for API routes.\n\nThis interface defines a path parameter that appears in the URL of an API\nendpoint. Path parameters are enclosed in curly braces in the\n{@link AutoBeOpenApi.IOperation.path operation path} and must be defined\nwith their types and descriptions.\n\nFor example, if API operation path is\n`/shoppings/customers/sales/{saleId}/questions/${questionId}/comments/${commentId}`,\nthe path parameters should be like below:\n\n```json\n{\n \"path\": \"/shoppings/customers/sales/{saleId}/questions/${questionId}/comments/${commentId}\",\n \"method\": \"get\",\n \"parameters\": [\n {\n \"name\": \"saleId\",\n \"in\": \"path\",\n \"schema\": { \"type\": \"string\", \"format\": \"uuid\" },\n \"description\": \"Target sale's ID\"\n },\n {\n \"name\": \"questionId\",\n \"in\": \"path\",\n \"schema\": { \"type\": \"string\", \"format\": \"uuid\" },\n \"description\": \"Target question's ID\"\n },\n {\n \"name\": \"commentId\",\n \"in\": \"path\",\n \"schema\": { \"type\": \"string\", \"format\": \"uuid\" },\n \"description\": \"Target comment's ID\"\n }\n ]\n}\n```",
1256
+ type: "object",
1257
+ properties: {
1258
+ name: {
1259
+ description: "Identifier name of the path parameter.\n\nThis name must match exactly with the parameter name in the route path.\nIt must be corresponded to the\n{@link AutoBeOpenApi.IOperation.path API operation path}.\n\nMUST use camelCase naming convention.",
1260
+ type: "string",
1261
+ pattern: "^[a-z][a-zA-Z0-9]*$"
1262
+ },
1263
+ description: {
1264
+ description: "Description about the path parameter.\n\nMake short, concise and clear description about the path parameter.\n\n> MUST be written in English. Never use other languages.",
1265
+ type: "string"
1266
+ },
1267
+ schema: {
1268
+ description: "Type schema of the path parameter.\n\nPath parameters are typically primitive types like\n{@link AutoBeOpenApi.IJsonSchema.IString strings},\n{@link AutoBeOpenApi.IJsonSchema.IInteger integers},\n{@link AutoBeOpenApi.IJsonSchema.INumber numbers}.\n\nIf you need other types, please use request body instead with object type\nencapsulation.",
1269
+ oneOf: [
1270
+ {
1271
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
1272
+ },
1273
+ {
1274
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
1275
+ },
1276
+ {
1277
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
1278
+ }
1279
+ ],
1280
+ discriminator: {
1281
+ propertyName: "type",
1282
+ mapping: {
1283
+ number: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber",
1284
+ integer: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger",
1285
+ string: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
1286
+ }
1287
+ }
1288
+ }
1289
+ },
1290
+ required: [
1291
+ "name",
1292
+ "description",
1293
+ "schema"
1294
+ ]
1295
+ },
1296
+ "AutoBeOpenApi.IJsonSchema.INumber": {
1297
+ description: "Number (double) type info.",
1298
+ type: "object",
1299
+ properties: {
1300
+ minimum: {
1301
+ description: "Minimum value restriction.",
1302
+ type: "number"
1303
+ },
1304
+ maximum: {
1305
+ description: "Maximum value restriction.",
1306
+ type: "number"
1307
+ },
1308
+ exclusiveMinimum: {
1309
+ description: "Exclusive minimum value restriction.",
1310
+ type: "number"
1311
+ },
1312
+ exclusiveMaximum: {
1313
+ description: "Exclusive maximum value restriction.",
1314
+ type: "number"
1315
+ },
1316
+ multipleOf: {
1317
+ description: "Multiple of value restriction.",
1318
+ type: "number",
1319
+ exclusiveMinimum: 0
1320
+ },
1321
+ type: {
1322
+ 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.",
1323
+ "const": "number"
1324
+ }
1325
+ },
1326
+ required: [
1327
+ "type"
1328
+ ]
1329
+ },
1330
+ "AutoBeOpenApi.IJsonSchema.IInteger": {
1331
+ description: "Integer type info.",
1332
+ type: "object",
1333
+ properties: {
1334
+ minimum: {
1335
+ description: "Minimum value restriction.",
1336
+ type: "integer"
1337
+ },
1338
+ maximum: {
1339
+ description: "Maximum value restriction.",
1340
+ type: "integer"
1341
+ },
1342
+ exclusiveMinimum: {
1343
+ description: "Exclusive minimum value restriction.",
1344
+ type: "number"
1345
+ },
1346
+ exclusiveMaximum: {
1347
+ description: "Exclusive maximum value restriction.",
1348
+ type: "number"
1349
+ },
1350
+ multipleOf: {
1351
+ description: "Multiple of value restriction.",
1352
+ type: "integer",
1353
+ exclusiveMinimum: 0
1354
+ },
1355
+ type: {
1356
+ 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.",
1357
+ "const": "integer"
1358
+ }
1359
+ },
1360
+ required: [
1361
+ "type"
1362
+ ]
1363
+ },
1364
+ "AutoBeOpenApi.IJsonSchema.IString": {
1365
+ description: "String type info.",
1366
+ type: "object",
1367
+ properties: {
1368
+ format: {
1369
+ description: "Format restriction.",
1370
+ type: "string"
1371
+ },
1372
+ pattern: {
1373
+ description: "Pattern restriction.",
1374
+ type: "string"
1375
+ },
1376
+ contentMediaType: {
1377
+ description: "Content media type restriction.",
1378
+ type: "string"
1379
+ },
1380
+ minLength: {
1381
+ description: "Minimum length restriction.",
1382
+ type: "integer",
1383
+ minimum: 0
1384
+ },
1385
+ maxLength: {
1386
+ description: "Maximum length restriction.",
1387
+ type: "integer",
1388
+ minimum: 0
1389
+ },
1390
+ type: {
1391
+ 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.",
1392
+ "const": "string"
1393
+ }
1394
+ },
1395
+ required: [
1396
+ "type"
1397
+ ]
1398
+ },
1399
+ "AutoBeOpenApi.IRequestBody": {
1400
+ description: "Request body information of OpenAPI operation.\n\nThis interface defines the structure for request bodies in API routes. It\ncorresponds to the requestBody section in OpenAPI specifications, providing\nboth a description and schema reference for the request payload.\n\nThe content-type for all request bodies is always `application/json`. Even\nwhen file uploading is required, don't use `multipart/form-data` or\n`application/x-www-form-urlencoded` content types. Instead, just define an\nURI string property in the request body schema.\n\nNote that, all body schemas must be transformable to a\n{@link AutoBeOpenApi.IJsonSchema.IReference reference} type defined in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"requestBody\": {\n \"description\": \"Creation info of the order\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n }\n }\n }\n}\n```",
1401
+ type: "object",
1402
+ properties: {
1403
+ description: {
1404
+ description: "Description about the request body.\n\nMake short, concise and clear description about the request body.\n\n> MUST be written in English. Never use other languages.",
1405
+ type: "string"
1406
+ },
1407
+ typeName: {
1408
+ description: "Request body type name.\n\nThis specifies the data structure expected in the request body, that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference reference}\ntype in the {@link AutoBeOpenApi.IComponents.schemas components section}\nas an {@link AutoBeOpenApi.IJsonSchema.Object object} type.\n\nHere is the naming convention for the request body type:\n\n- `IEntityName.ICreate`: Request body for creation operations (POST)\n- `IEntityName.IUpdate`: Request body for update operations (PUT)\n- `IEntityName.IRequest`: Request parameters for list operations (often\n with search/pagination)\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder.ICreate\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n}\n```",
1409
+ type: "string"
1410
+ }
1411
+ },
1412
+ required: [
1413
+ "description",
1414
+ "typeName"
1415
+ ]
1416
+ },
1417
+ "AutoBeOpenApi.IResponseBody": {
1418
+ description: "Response body information for OpenAPI operation.\n\nThis interface defines the structure of a successful response from an API\noperation. It provides a description of the response and a schema reference\nto define the returned data structure.\n\nThe content-type for all responses is always `application/json`. Even when\nfile downloading is required, don't use `application/octet-stream` or\n`multipart/form-data` content types. Instead, just define an URI string\nproperty in the response body schema.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"responses\": {\n \"200\": {\n \"description\": \"Order information\",\n \"content\": {\n \"application/json\": {\n \"schema\": { \"$ref\": \"#/components/schemas/IShoppingOrder\" }\n }\n }\n }\n }\n}\n```",
1419
+ type: "object",
1420
+ properties: {
1421
+ description: {
1422
+ description: "Description about the response body.\n\nMake short, concise and clear description about the response body.\n\n> MUST be written in English. Never use other languages.",
1423
+ type: "string"
1424
+ },
1425
+ typeName: {
1426
+ description: "Response body's data type.\n\nSpecifies the structure of the returned data (response body), that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference} type in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nHere is the naming convention for the response body type:\n\n- `IEntityName`: Main entity with detailed information (e.g.,\n `IShoppingSale`)\n- `IEntityName.ISummary`: Simplified response version with essential\n properties\n- `IEntityName.IInvert`: Alternative view of an entity from a different\n perspective\n- `IPageIEntityName`: Paginated results container with `pagination` and\n `data` properties\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder\"\n }\n}\n```",
1427
+ type: "string"
1428
+ }
1429
+ },
1430
+ required: [
1431
+ "description",
1432
+ "typeName"
1433
+ ]
1434
+ }
1435
+ }
1436
+ },
1437
+ description: "Reviews a batch of API operations for quality and correctness.\n\nAnalyzes operations for security vulnerabilities, schema compliance,\nlogical consistency, and standard adherence. Outputs a structured thinking\nprocess containing review findings and improvement plans, plus the final\nproduction-ready operations with all critical issues resolved.",
1438
+ validate: (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); 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; 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; 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; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
1439
+ if ("number" === input.type)
1440
+ return _io5(input);
1441
+ else if ("integer" === input.type)
1442
+ return _io4(input);
1443
+ else if ("string" === input.type)
1444
+ return _io6(input);
1445
+ else
1446
+ return false;
1447
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.think && null !== input.think || _report(_exceptionable, {
1448
+ path: _path + ".think",
1449
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IThink",
1450
+ value: input.think
1451
+ })) && _vo1(input.think, _path + ".think", true && _exceptionable) || _report(_exceptionable, {
1452
+ path: _path + ".think",
1453
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IThink",
1454
+ value: input.think
1455
+ }), (Array.isArray(input.content) || _report(_exceptionable, {
1456
+ path: _path + ".content",
1457
+ expected: "Array<AutoBeOpenApi.IOperation>",
1458
+ value: input.content
1459
+ })) && input.content.map((elem, _index3) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1460
+ path: _path + ".content[" + _index3 + "]",
1461
+ expected: "AutoBeOpenApi.IOperation",
1462
+ value: elem
1463
+ })) && _vo2(elem, _path + ".content[" + _index3 + "]", true && _exceptionable) || _report(_exceptionable, {
1464
+ path: _path + ".content[" + _index3 + "]",
1465
+ expected: "AutoBeOpenApi.IOperation",
1466
+ value: elem
1467
+ })).every(flag => flag) || _report(_exceptionable, {
1468
+ path: _path + ".content",
1469
+ expected: "Array<AutoBeOpenApi.IOperation>",
1470
+ value: input.content
1471
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.review || _report(_exceptionable, {
1472
+ path: _path + ".review",
1473
+ expected: "string",
1474
+ value: input.review
1475
+ }), "string" === typeof input.plan || _report(_exceptionable, {
1476
+ path: _path + ".plan",
1477
+ expected: "string",
1478
+ value: input.plan
1479
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
1480
+ path: _path + ".specification",
1481
+ expected: "string",
1482
+ value: input.specification
1483
+ }), null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType || _report(_exceptionable, {
1484
+ path: _path + ".authorizationType",
1485
+ expected: "(\"join\" | \"login\" | \"refresh\" | null)",
1486
+ value: input.authorizationType
1487
+ }), "string" === typeof input.description || _report(_exceptionable, {
1488
+ path: _path + ".description",
1489
+ expected: "string",
1490
+ value: input.description
1491
+ }), "string" === typeof input.summary || _report(_exceptionable, {
1492
+ path: _path + ".summary",
1493
+ expected: "string",
1494
+ value: input.summary
1495
+ }), (Array.isArray(input.parameters) || _report(_exceptionable, {
1496
+ path: _path + ".parameters",
1497
+ expected: "Array<AutoBeOpenApi.IParameter>",
1498
+ value: input.parameters
1499
+ })) && input.parameters.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1500
+ path: _path + ".parameters[" + _index4 + "]",
1501
+ expected: "AutoBeOpenApi.IParameter",
1502
+ value: elem
1503
+ })) && _vo3(elem, _path + ".parameters[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
1504
+ path: _path + ".parameters[" + _index4 + "]",
1505
+ expected: "AutoBeOpenApi.IParameter",
1506
+ value: elem
1507
+ })).every(flag => flag) || _report(_exceptionable, {
1508
+ path: _path + ".parameters",
1509
+ expected: "Array<AutoBeOpenApi.IParameter>",
1510
+ value: input.parameters
1511
+ }), null === input.requestBody || ("object" === typeof input.requestBody && null !== input.requestBody || _report(_exceptionable, {
1512
+ path: _path + ".requestBody",
1513
+ expected: "(AutoBeOpenApi.IRequestBody | null)",
1514
+ value: input.requestBody
1515
+ })) && _vo7(input.requestBody, _path + ".requestBody", true && _exceptionable) || _report(_exceptionable, {
1516
+ path: _path + ".requestBody",
1517
+ expected: "(AutoBeOpenApi.IRequestBody | null)",
1518
+ value: input.requestBody
1519
+ }), null === input.responseBody || ("object" === typeof input.responseBody && null !== input.responseBody || _report(_exceptionable, {
1520
+ path: _path + ".responseBody",
1521
+ expected: "(AutoBeOpenApi.IResponseBody | null)",
1522
+ value: input.responseBody
1523
+ })) && _vo8(input.responseBody, _path + ".responseBody", true && _exceptionable) || _report(_exceptionable, {
1524
+ path: _path + ".responseBody",
1525
+ expected: "(AutoBeOpenApi.IResponseBody | null)",
1526
+ value: input.responseBody
1527
+ }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
1528
+ path: _path + ".authorizationRole",
1529
+ expected: "string & CamelPattern",
1530
+ value: input.authorizationRole
1531
+ })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
1532
+ path: _path + ".authorizationRole",
1533
+ expected: "string & MinLength<1>",
1534
+ value: input.authorizationRole
1535
+ })) || _report(_exceptionable, {
1536
+ path: _path + ".authorizationRole",
1537
+ expected: "((string & CamelPattern & MinLength<1>) | null)",
1538
+ value: input.authorizationRole
1539
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
1540
+ path: _path + ".name",
1541
+ expected: "string & CamelPattern",
1542
+ value: input.name
1543
+ })) || _report(_exceptionable, {
1544
+ path: _path + ".name",
1545
+ expected: "(string & CamelPattern)",
1546
+ value: input.name
1547
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1548
+ path: _path + ".path",
1549
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1550
+ value: input.path
1551
+ })) || _report(_exceptionable, {
1552
+ path: _path + ".path",
1553
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1554
+ value: input.path
1555
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1556
+ path: _path + ".method",
1557
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
1558
+ value: input.method
1559
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
1560
+ path: _path + ".name",
1561
+ expected: "string & CamelPattern",
1562
+ value: input.name
1563
+ })) || _report(_exceptionable, {
1564
+ path: _path + ".name",
1565
+ expected: "(string & CamelPattern)",
1566
+ value: input.name
1567
+ }), "string" === typeof input.description || _report(_exceptionable, {
1568
+ path: _path + ".description",
1569
+ expected: "string",
1570
+ value: input.description
1571
+ }), ("object" === typeof input.schema && null !== input.schema || _report(_exceptionable, {
1572
+ path: _path + ".schema",
1573
+ expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
1574
+ value: input.schema
1575
+ })) && _vu0(input.schema, _path + ".schema", true && _exceptionable) || _report(_exceptionable, {
1576
+ path: _path + ".schema",
1577
+ expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
1578
+ value: input.schema
1579
+ })].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, {
1580
+ path: _path + ".minimum",
1581
+ expected: "number & Type<\"int64\">",
1582
+ value: input.minimum
1583
+ })) || _report(_exceptionable, {
1584
+ path: _path + ".minimum",
1585
+ expected: "((number & Type<\"int64\">) | undefined)",
1586
+ value: input.minimum
1587
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
1588
+ path: _path + ".maximum",
1589
+ expected: "number & Type<\"int64\">",
1590
+ value: input.maximum
1591
+ })) || _report(_exceptionable, {
1592
+ path: _path + ".maximum",
1593
+ expected: "((number & Type<\"int64\">) | undefined)",
1594
+ value: input.maximum
1595
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
1596
+ path: _path + ".exclusiveMinimum",
1597
+ expected: "(number | undefined)",
1598
+ value: input.exclusiveMinimum
1599
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
1600
+ path: _path + ".exclusiveMaximum",
1601
+ expected: "(number | undefined)",
1602
+ value: input.exclusiveMaximum
1603
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
1604
+ path: _path + ".multipleOf",
1605
+ expected: "number & Type<\"uint64\">",
1606
+ value: input.multipleOf
1607
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
1608
+ path: _path + ".multipleOf",
1609
+ expected: "number & ExclusiveMinimum<0>",
1610
+ value: input.multipleOf
1611
+ })) || _report(_exceptionable, {
1612
+ path: _path + ".multipleOf",
1613
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
1614
+ value: input.multipleOf
1615
+ }), "integer" === input.type || _report(_exceptionable, {
1616
+ path: _path + ".type",
1617
+ expected: "\"integer\"",
1618
+ value: input.type
1619
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
1620
+ path: _path + ".minimum",
1621
+ expected: "(number | undefined)",
1622
+ value: input.minimum
1623
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
1624
+ path: _path + ".maximum",
1625
+ expected: "(number | undefined)",
1626
+ value: input.maximum
1627
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
1628
+ path: _path + ".exclusiveMinimum",
1629
+ expected: "(number | undefined)",
1630
+ value: input.exclusiveMinimum
1631
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
1632
+ path: _path + ".exclusiveMaximum",
1633
+ expected: "(number | undefined)",
1634
+ value: input.exclusiveMaximum
1635
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
1636
+ path: _path + ".multipleOf",
1637
+ expected: "number & ExclusiveMinimum<0>",
1638
+ value: input.multipleOf
1639
+ })) || _report(_exceptionable, {
1640
+ path: _path + ".multipleOf",
1641
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
1642
+ value: input.multipleOf
1643
+ }), "number" === input.type || _report(_exceptionable, {
1644
+ path: _path + ".type",
1645
+ expected: "\"number\"",
1646
+ value: input.type
1647
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
1648
+ path: _path + ".format",
1649
+ expected: "(string | undefined)",
1650
+ value: input.format
1651
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
1652
+ path: _path + ".pattern",
1653
+ expected: "(string | undefined)",
1654
+ value: input.pattern
1655
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
1656
+ path: _path + ".contentMediaType",
1657
+ expected: "(string | undefined)",
1658
+ value: input.contentMediaType
1659
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
1660
+ path: _path + ".minLength",
1661
+ expected: "number & Type<\"uint64\">",
1662
+ value: input.minLength
1663
+ })) || _report(_exceptionable, {
1664
+ path: _path + ".minLength",
1665
+ expected: "((number & Type<\"uint64\">) | undefined)",
1666
+ value: input.minLength
1667
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
1668
+ path: _path + ".maxLength",
1669
+ expected: "number & Type<\"uint64\">",
1670
+ value: input.maxLength
1671
+ })) || _report(_exceptionable, {
1672
+ path: _path + ".maxLength",
1673
+ expected: "((number & Type<\"uint64\">) | undefined)",
1674
+ value: input.maxLength
1675
+ }), "string" === input.type || _report(_exceptionable, {
1676
+ path: _path + ".type",
1677
+ expected: "\"string\"",
1678
+ value: input.type
1679
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
1680
+ path: _path + ".description",
1681
+ expected: "string",
1682
+ value: input.description
1683
+ }), "string" === typeof input.typeName || _report(_exceptionable, {
1684
+ path: _path + ".typeName",
1685
+ expected: "string",
1686
+ value: input.typeName
1687
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
1688
+ path: _path + ".description",
1689
+ expected: "string",
1690
+ value: input.description
1691
+ }), "string" === typeof input.typeName || _report(_exceptionable, {
1692
+ path: _path + ".typeName",
1693
+ expected: "string",
1694
+ value: input.typeName
1695
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1696
+ if ("number" === input.type)
1697
+ return _vo5(input, _path, true && _exceptionable);
1698
+ else if ("integer" === input.type)
1699
+ return _vo4(input, _path, true && _exceptionable);
1700
+ else if ("string" === input.type)
1701
+ return _vo6(input, _path, true && _exceptionable);
1702
+ else
1703
+ return _report(_exceptionable, {
1704
+ path: _path,
1705
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString)",
1706
+ value: input
1707
+ });
1708
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1709
+ if (false === __is(input)) {
1710
+ errors = [];
1711
+ _report = __typia_transform__validateReport._validateReport(errors);
1712
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1713
+ path: _path + "",
1714
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IProps",
1715
+ value: input
1716
+ })) && _vo0(input, _path + "", true) || _report(true, {
1717
+ path: _path + "",
1718
+ expected: "IAutoBeInterfaceOperationsReviewApplication.IProps",
1719
+ value: input
1720
+ }))(input, "$input", true);
1721
+ const success = 0 === errors.length;
1722
+ return success ? {
1723
+ success,
1724
+ data: input
1725
+ } : {
1726
+ success,
1727
+ errors,
1728
+ data: input
1729
+ };
1730
+ }
1731
+ return {
1732
+ success: true,
1733
+ data: input
1734
+ };
1735
+ }; })()
1736
+ }
1737
+ ]
1738
+ };
1739
+ __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
1740
+ validate: {
1741
+ reviewOperations: validate,
1742
+ },
1743
+ }), { equals: false }));
1744
+ return application;
1745
+ })(),
1746
+ };
1747
+ //# sourceMappingURL=orchestrateInterfaceOperationsReview.js.map