@autobe/agent 0.22.0 → 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 (695) 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 +4869 -3042
  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 +3 -3
  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 +3 -3
  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 +6 -8
  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 +15 -0
  108. package/lib/orchestrate/interface/utils/JsonSchemaValidator.js +61 -0
  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/orchestrate/interface/utils/OperationValidator.d.ts +10 -0
  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.d.ts +3 -1
  173. package/lib/orchestrate/test/compile/completeTestCode.js +31 -0
  174. package/lib/orchestrate/test/compile/completeTestCode.js.map +1 -0
  175. package/lib/orchestrate/test/compile/filterTestFileName.js.map +1 -0
  176. package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestExternalDeclarations.js +5 -1
  177. package/lib/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -0
  178. package/lib/orchestrate/test/compile/getTestImportStatements.js.map +1 -0
  179. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -0
  180. package/lib/orchestrate/test/compile/getTestTemplateCode.js.map +1 -0
  181. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js +51 -0
  182. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -0
  183. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.d.ts +4 -0
  184. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js +33 -0
  185. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js.map +1 -0
  186. package/lib/orchestrate/test/histories/transformTestScenarioHistories.d.ts +1 -1
  187. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js +159 -0
  188. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -0
  189. package/lib/orchestrate/test/histories/transformTestValidateEvent.d.ts +4 -0
  190. package/lib/orchestrate/test/histories/transformTestValidateEvent.js +11 -0
  191. package/lib/orchestrate/test/histories/transformTestValidateEvent.js.map +1 -0
  192. package/lib/orchestrate/test/histories/transformTestWriteHistories.js +220 -0
  193. package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -0
  194. package/lib/{agent/src/orchestrate → orchestrate}/test/orchestrateTest.js +13 -7
  195. package/lib/orchestrate/test/orchestrateTest.js.map +1 -0
  196. package/lib/orchestrate/test/orchestrateTestCorrect.d.ts +2 -2
  197. package/lib/orchestrate/test/orchestrateTestCorrect.js +513 -0
  198. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -0
  199. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.d.ts +7 -0
  200. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +425 -0
  201. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -0
  202. package/lib/{agent/src/orchestrate → orchestrate}/test/orchestrateTestScenario.js +32 -36
  203. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -0
  204. package/lib/{agent/src/orchestrate → orchestrate}/test/orchestrateTestWrite.js +25 -44
  205. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -0
  206. package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.js.map +1 -0
  207. package/lib/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.d.ts +140 -0
  208. package/lib/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.js +3 -0
  209. package/lib/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.js.map +1 -0
  210. package/lib/orchestrate/test/structures/IAutoBeTestFunction.js.map +1 -0
  211. package/lib/orchestrate/test/structures/IAutoBeTestFunctionFailure.js.map +1 -0
  212. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +2 -2
  213. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.js.map +1 -0
  214. package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js.map +1 -0
  215. package/lib/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.js.map +1 -0
  216. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +38 -15
  217. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.js.map +1 -0
  218. package/lib/orchestrate/test/structures/IAutoBeTestWriteResult.js.map +1 -0
  219. package/lib/{agent/src/orchestrate → orchestrate}/test/utils/getReferenceIds.js +1 -1
  220. package/lib/orchestrate/test/utils/getReferenceIds.js.map +1 -0
  221. package/lib/structures/IAutoBeConfig.d.ts +1 -0
  222. package/lib/structures/IAutoBeConfig.js.map +1 -0
  223. package/lib/structures/IAutoBeProps.js.map +1 -0
  224. package/lib/structures/IAutoBeVendor.js.map +1 -0
  225. package/lib/utils/AutoBeTimeoutError.d.ts +4 -0
  226. package/lib/utils/AutoBeTimeoutError.js +18 -0
  227. package/lib/utils/AutoBeTimeoutError.js.map +1 -0
  228. package/lib/utils/TimeoutConversation.d.ts +24 -0
  229. package/lib/utils/TimeoutConversation.js +65 -0
  230. package/lib/utils/TimeoutConversation.js.map +1 -0
  231. package/lib/utils/arrayToRecord.js.map +1 -0
  232. package/lib/utils/backoffRetry.js.map +1 -0
  233. package/lib/utils/divideArray.js.map +1 -0
  234. package/lib/utils/emplaceMap.js.map +1 -0
  235. package/lib/utils/executeCachedBatch.js.map +1 -0
  236. package/lib/utils/predicateStateMessage.js.map +1 -0
  237. package/package.json +7 -7
  238. package/src/AutoBeAgent.ts +16 -1
  239. package/src/AutoBeMockAgent.ts +13 -3
  240. package/src/constants/AutoBeConfigConstant.ts +3 -1
  241. package/src/constants/AutoBeSystemPromptConstant.ts +17 -15
  242. package/src/context/AutoBeTokenUsage.ts +9 -0
  243. package/src/context/AutoBeTokenUsageComponent.ts +9 -0
  244. package/src/factory/consentFunctionCall.ts +1 -1
  245. package/src/factory/createAutoBeContext.ts +68 -20
  246. package/src/factory/getCriticalCompiler.ts +47 -0
  247. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +2 -4
  248. package/src/orchestrate/common/histories/transformCommonCorrectCastingHistories.ts +43 -0
  249. package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +170 -0
  250. package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +127 -0
  251. package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +4 -4
  252. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +3 -3
  253. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +10 -94
  254. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +49 -13
  255. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +4 -3
  256. package/src/orchestrate/interface/orchestrateInterfaceSchemasReview.ts +6 -6
  257. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +254 -4
  258. package/src/orchestrate/interface/utils/JsonSchemaValidator.ts +71 -0
  259. package/src/orchestrate/interface/utils/OperationValidator.ts +127 -0
  260. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +2 -2
  261. package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +6 -0
  262. package/src/orchestrate/realize/orchestRateRealizeCorrectCasting.ts +317 -0
  263. package/src/orchestrate/realize/orchestrateRealize.ts +29 -14
  264. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +1 -1
  265. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +79 -67
  266. package/src/orchestrate/realize/utils/generateRealizeScenario.ts +104 -0
  267. package/src/orchestrate/realize/utils/replaceImportStatements.ts +60 -32
  268. package/src/orchestrate/test/compile/completeTestCode.ts +10 -12
  269. package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +11 -0
  270. package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +4 -3
  271. package/src/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.ts +39 -0
  272. package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +75 -17
  273. package/src/orchestrate/test/histories/transformTestValidateEvent.ts +14 -0
  274. package/src/orchestrate/test/orchestrateTest.ts +11 -7
  275. package/src/orchestrate/test/orchestrateTestCorrect.ts +121 -50
  276. package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +145 -0
  277. package/src/orchestrate/test/orchestrateTestScenario.ts +29 -13
  278. package/src/orchestrate/test/orchestrateTestWrite.ts +13 -19
  279. package/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.ts +233 -0
  280. package/src/orchestrate/test/structures/IAutoBeTestCorrectInvalidRequestApplication.ts +146 -0
  281. package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +2 -2
  282. package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +110 -15
  283. package/src/orchestrate/test/utils/getReferenceIds.ts +1 -1
  284. package/src/structures/IAutoBeConfig.ts +2 -0
  285. package/src/utils/AutoBeTimeoutError.ts +13 -0
  286. package/src/utils/TimeoutConversation.ts +82 -0
  287. package/lib/agent/src/AutoBeAgent.d.ts +0 -52
  288. package/lib/agent/src/AutoBeAgent.js.map +0 -1
  289. package/lib/agent/src/AutoBeAgentBase.d.ts +0 -18
  290. package/lib/agent/src/AutoBeAgentBase.js.map +0 -1
  291. package/lib/agent/src/AutoBeMockAgent.d.ts +0 -7
  292. package/lib/agent/src/AutoBeMockAgent.js.map +0 -1
  293. package/lib/agent/src/constants/AutoBeConfigConstant.d.ts +0 -3
  294. package/lib/agent/src/constants/AutoBeConfigConstant.js.map +0 -1
  295. package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +0 -29
  296. package/lib/agent/src/constants/AutoBeSystemPromptConstant.js.map +0 -1
  297. package/lib/agent/src/context/AutoBeContext.d.ts +0 -43
  298. package/lib/agent/src/context/AutoBeContext.js.map +0 -1
  299. package/lib/agent/src/context/AutoBeState.d.ts +0 -8
  300. package/lib/agent/src/context/AutoBeState.js.map +0 -1
  301. package/lib/agent/src/context/AutoBeTokenUsage.d.ts +0 -173
  302. package/lib/agent/src/context/AutoBeTokenUsage.js.map +0 -1
  303. package/lib/agent/src/context/AutoBeTokenUsageComponent.d.ts +0 -117
  304. package/lib/agent/src/context/AutoBeTokenUsageComponent.js.map +0 -1
  305. package/lib/agent/src/context/IAutoBeApplication.d.ts +0 -107
  306. package/lib/agent/src/context/IAutoBeApplication.js.map +0 -1
  307. package/lib/agent/src/context/IAutoBeApplicationProps.d.ts +0 -4
  308. package/lib/agent/src/context/IAutoBeApplicationProps.js.map +0 -1
  309. package/lib/agent/src/context/IAutoBeApplicationResult.d.ts +0 -4
  310. package/lib/agent/src/context/IAutoBeApplicationResult.js.map +0 -1
  311. package/lib/agent/src/context/assertSchemaModel.d.ts +0 -2
  312. package/lib/agent/src/context/assertSchemaModel.js.map +0 -1
  313. package/lib/agent/src/factory/consentFunctionCall.d.ts +0 -10
  314. package/lib/agent/src/factory/consentFunctionCall.js.map +0 -1
  315. package/lib/agent/src/factory/createAgenticaHistory.d.ts +0 -7
  316. package/lib/agent/src/factory/createAgenticaHistory.js.map +0 -1
  317. package/lib/agent/src/factory/createAutoBeApplication.d.ts +0 -7
  318. package/lib/agent/src/factory/createAutoBeApplication.js.map +0 -1
  319. package/lib/agent/src/factory/createAutoBeContext.d.ts +0 -19
  320. package/lib/agent/src/factory/createAutoBeContext.js.map +0 -1
  321. package/lib/agent/src/factory/createAutoBeState.d.ts +0 -3
  322. package/lib/agent/src/factory/createAutoBeState.js.map +0 -1
  323. package/lib/agent/src/factory/getAutoBeGenerated.d.ts +0 -4
  324. package/lib/agent/src/factory/getAutoBeGenerated.js.map +0 -1
  325. package/lib/agent/src/factory/getAutoBeRealizeGenerated.d.ts +0 -7
  326. package/lib/agent/src/factory/getAutoBeRealizeGenerated.js.map +0 -1
  327. package/lib/agent/src/factory/index.d.ts +0 -1
  328. package/lib/agent/src/factory/index.js.map +0 -1
  329. package/lib/agent/src/index.d.ts +0 -6
  330. package/lib/agent/src/index.js.map +0 -1
  331. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +0 -6
  332. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +0 -1
  333. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.d.ts +0 -4
  334. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +0 -1
  335. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +0 -6
  336. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +0 -1
  337. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.d.ts +0 -5
  338. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js.map +0 -1
  339. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +0 -11
  340. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js.map +0 -1
  341. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.d.ts +0 -4
  342. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +0 -1
  343. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +0 -10
  344. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +0 -1
  345. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +0 -111
  346. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.js.map +0 -1
  347. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +0 -78
  348. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.js.map +0 -1
  349. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +0 -74
  350. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.js.map +0 -1
  351. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.d.ts +0 -2
  352. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.js.map +0 -1
  353. package/lib/agent/src/orchestrate/index.d.ts +0 -5
  354. package/lib/agent/src/orchestrate/index.js.map +0 -1
  355. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.d.ts +0 -3
  356. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +0 -1
  357. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.d.ts +0 -4
  358. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +0 -1
  359. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.d.ts +0 -4
  360. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js +0 -63
  361. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +0 -1
  362. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.d.ts +0 -5
  363. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +0 -1
  364. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +0 -4
  365. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +0 -1
  366. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.d.ts +0 -3
  367. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +0 -1
  368. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.d.ts +0 -4
  369. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js +0 -52
  370. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +0 -1
  371. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.d.ts +0 -5
  372. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +0 -36
  373. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +0 -1
  374. package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.d.ts +0 -3
  375. package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.js.map +0 -1
  376. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.d.ts +0 -4
  377. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +0 -29
  378. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +0 -1
  379. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.d.ts +0 -4
  380. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +0 -60
  381. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +0 -1
  382. package/lib/agent/src/orchestrate/interface/orchestrateInterface.d.ts +0 -5
  383. package/lib/agent/src/orchestrate/interface/orchestrateInterface.js.map +0 -1
  384. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +0 -4
  385. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +0 -1
  386. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.d.ts +0 -4
  387. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js.map +0 -1
  388. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.d.ts +0 -5
  389. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +0 -1
  390. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +0 -10
  391. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +0 -1
  392. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.d.ts +0 -4
  393. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js.map +0 -1
  394. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.d.ts +0 -4
  395. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js.map +0 -1
  396. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +0 -4
  397. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +0 -1416
  398. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +0 -1
  399. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.d.ts +0 -4
  400. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js.map +0 -1
  401. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +0 -9
  402. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +0 -1
  403. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.d.ts +0 -47
  404. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.js.map +0 -1
  405. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +0 -93
  406. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.js.map +0 -1
  407. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.d.ts +0 -24
  408. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.js.map +0 -1
  409. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +0 -60
  410. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js.map +0 -1
  411. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +0 -108
  412. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.js.map +0 -1
  413. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +0 -171
  414. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.js.map +0 -1
  415. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +0 -117
  416. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js.map +0 -1
  417. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +0 -107
  418. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.js.map +0 -1
  419. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +0 -91
  420. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.js.map +0 -1
  421. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaFactory.d.ts +0 -9
  422. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaFactory.js.map +0 -1
  423. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaNamingConvention.d.ts +0 -5
  424. package/lib/agent/src/orchestrate/interface/utils/JsonSchemaNamingConvention.js.map +0 -1
  425. package/lib/agent/src/orchestrate/interface/utils/OpenApiEndpointComparator.d.ts +0 -6
  426. package/lib/agent/src/orchestrate/interface/utils/OpenApiEndpointComparator.js.map +0 -1
  427. package/lib/agent/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.d.ts +0 -2
  428. package/lib/agent/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js.map +0 -1
  429. package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.d.ts +0 -7
  430. package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.js +0 -35
  431. package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.js.map +0 -1
  432. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.d.ts +0 -3
  433. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +0 -1
  434. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.d.ts +0 -3
  435. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +0 -1
  436. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.d.ts +0 -8
  437. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +0 -1
  438. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.d.ts +0 -3
  439. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +0 -1
  440. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.d.ts +0 -5
  441. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js.map +0 -1
  442. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.d.ts +0 -4
  443. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js.map +0 -1
  444. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.d.ts +0 -4
  445. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js.map +0 -1
  446. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.d.ts +0 -5
  447. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js.map +0 -1
  448. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.d.ts +0 -5
  449. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js.map +0 -1
  450. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.d.ts +0 -121
  451. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.js.map +0 -1
  452. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.d.ts +0 -142
  453. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.js.map +0 -1
  454. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.d.ts +0 -105
  455. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.js.map +0 -1
  456. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.d.ts +0 -99
  457. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.js.map +0 -1
  458. package/lib/agent/src/orchestrate/realize/ProviderCodeComparator.d.ts +0 -5
  459. package/lib/agent/src/orchestrate/realize/ProviderCodeComparator.js.map +0 -1
  460. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.d.ts +0 -5
  461. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js.map +0 -1
  462. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.d.ts +0 -5
  463. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +0 -1
  464. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +0 -14
  465. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js +0 -51
  466. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +0 -1
  467. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +0 -3
  468. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +0 -1
  469. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +0 -11
  470. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +0 -141
  471. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +0 -1
  472. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.d.ts +0 -7
  473. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.js.map +0 -1
  474. package/lib/agent/src/orchestrate/realize/orchestrateRealize.d.ts +0 -5
  475. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js.map +0 -1
  476. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.d.ts +0 -10
  477. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js.map +0 -1
  478. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.d.ts +0 -4
  479. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +0 -1
  480. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.d.ts +0 -19
  481. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js.map +0 -1
  482. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -25
  483. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js +0 -44
  484. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +0 -1
  485. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.d.ts +0 -11
  486. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js.map +0 -1
  487. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +0 -109
  488. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.js.map +0 -1
  489. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +0 -47
  490. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js.map +0 -1
  491. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.d.ts +0 -39
  492. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.js.map +0 -1
  493. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.d.ts +0 -5
  494. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.js.map +0 -1
  495. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.d.ts +0 -36
  496. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.js.map +0 -1
  497. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +0 -295
  498. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.js.map +0 -1
  499. package/lib/agent/src/orchestrate/realize/utils/AuthorizationFileSystem.d.ts +0 -5
  500. package/lib/agent/src/orchestrate/realize/utils/AuthorizationFileSystem.js.map +0 -1
  501. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.d.ts +0 -5
  502. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.js.map +0 -1
  503. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.d.ts +0 -4
  504. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js.map +0 -1
  505. package/lib/agent/src/orchestrate/realize/utils/InternalFileSystem.d.ts +0 -8
  506. package/lib/agent/src/orchestrate/realize/utils/InternalFileSystem.js.map +0 -1
  507. package/lib/agent/src/orchestrate/realize/utils/ProviderFileSystem.d.ts +0 -3
  508. package/lib/agent/src/orchestrate/realize/utils/ProviderFileSystem.js.map +0 -1
  509. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.d.ts +0 -31
  510. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.js.map +0 -1
  511. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteDto.d.ts +0 -4
  512. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteDto.js.map +0 -1
  513. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteImportStatements.d.ts +0 -2
  514. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteImportStatements.js.map +0 -1
  515. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteInputType.d.ts +0 -30
  516. package/lib/agent/src/orchestrate/realize/utils/getRealizeWriteInputType.js.map +0 -1
  517. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.d.ts +0 -8
  518. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js +0 -77
  519. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js.map +0 -1
  520. package/lib/agent/src/orchestrate/test/compile/completeTestCode.d.ts +0 -2
  521. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js +0 -25
  522. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js.map +0 -1
  523. package/lib/agent/src/orchestrate/test/compile/filterTestFileName.d.ts +0 -1
  524. package/lib/agent/src/orchestrate/test/compile/filterTestFileName.js.map +0 -1
  525. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.d.ts +0 -3
  526. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js.map +0 -1
  527. package/lib/agent/src/orchestrate/test/compile/getTestImportStatements.d.ts +0 -2
  528. package/lib/agent/src/orchestrate/test/compile/getTestImportStatements.js.map +0 -1
  529. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.d.ts +0 -5
  530. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.js.map +0 -1
  531. package/lib/agent/src/orchestrate/test/compile/getTestTemplateCode.d.ts +0 -2
  532. package/lib/agent/src/orchestrate/test/compile/getTestTemplateCode.js.map +0 -1
  533. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.d.ts +0 -6
  534. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js +0 -50
  535. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +0 -1
  536. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.d.ts +0 -4
  537. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +0 -105
  538. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +0 -1
  539. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.d.ts +0 -10
  540. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +0 -220
  541. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +0 -1
  542. package/lib/agent/src/orchestrate/test/orchestrateTest.d.ts +0 -5
  543. package/lib/agent/src/orchestrate/test/orchestrateTest.js.map +0 -1
  544. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.d.ts +0 -5
  545. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js +0 -411
  546. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +0 -1
  547. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.d.ts +0 -4
  548. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js.map +0 -1
  549. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.d.ts +0 -5
  550. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +0 -1
  551. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +0 -125
  552. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.js.map +0 -1
  553. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunction.d.ts +0 -8
  554. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunction.js.map +0 -1
  555. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.d.ts +0 -6
  556. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.js.map +0 -1
  557. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +0 -161
  558. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.js.map +0 -1
  559. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.d.ts +0 -8
  560. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js.map +0 -1
  561. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.d.ts +0 -6
  562. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.js.map +0 -1
  563. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +0 -126
  564. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.js.map +0 -1
  565. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteResult.d.ts +0 -7
  566. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteResult.js.map +0 -1
  567. package/lib/agent/src/orchestrate/test/utils/getReferenceIds.d.ts +0 -5
  568. package/lib/agent/src/orchestrate/test/utils/getReferenceIds.js.map +0 -1
  569. package/lib/agent/src/structures/IAutoBeConfig.d.ts +0 -75
  570. package/lib/agent/src/structures/IAutoBeConfig.js.map +0 -1
  571. package/lib/agent/src/structures/IAutoBeProps.d.ts +0 -109
  572. package/lib/agent/src/structures/IAutoBeProps.js.map +0 -1
  573. package/lib/agent/src/structures/IAutoBeVendor.d.ts +0 -87
  574. package/lib/agent/src/structures/IAutoBeVendor.js.map +0 -1
  575. package/lib/agent/src/utils/arrayToRecord.d.ts +0 -17
  576. package/lib/agent/src/utils/arrayToRecord.js.map +0 -1
  577. package/lib/agent/src/utils/backoffRetry.d.ts +0 -22
  578. package/lib/agent/src/utils/backoffRetry.js.map +0 -1
  579. package/lib/agent/src/utils/divideArray.d.ts +0 -4
  580. package/lib/agent/src/utils/divideArray.js.map +0 -1
  581. package/lib/agent/src/utils/emplaceMap.d.ts +0 -1
  582. package/lib/agent/src/utils/emplaceMap.js.map +0 -1
  583. package/lib/agent/src/utils/executeCachedBatch.d.ts +0 -1
  584. package/lib/agent/src/utils/executeCachedBatch.js.map +0 -1
  585. package/lib/agent/src/utils/predicateStateMessage.d.ts +0 -4
  586. package/lib/agent/src/utils/predicateStateMessage.js.map +0 -1
  587. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.d.ts +0 -153
  588. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.js +0 -3
  589. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.js.map +0 -1
  590. package/lib/orchestrate/interface/utils/validateAuthorizationSchema.d.ts +0 -7
  591. package/lib/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -25
  592. package/src/orchestrate/interface/utils/validateAuthorizationSchema.ts +0 -41
  593. package/src/orchestrate/realize/orchestrateRealizeScenario.ts +0 -57
  594. /package/lib/{agent/src/AutoBeAgentBase.js → AutoBeAgentBase.js} +0 -0
  595. /package/lib/{agent/src/constants → constants}/AutoBeConfigConstant.js +0 -0
  596. /package/lib/{agent/src/constants → constants}/AutoBeSystemPromptConstant.js +0 -0
  597. /package/lib/{agent/src/context → context}/AutoBeContext.js +0 -0
  598. /package/lib/{agent/src/context → context}/AutoBeState.js +0 -0
  599. /package/lib/{agent/src/context → context}/IAutoBeApplication.js +0 -0
  600. /package/lib/{agent/src/context → context}/IAutoBeApplicationProps.js +0 -0
  601. /package/lib/{agent/src/context → context}/IAutoBeApplicationResult.js +0 -0
  602. /package/lib/{agent/src/context → context}/assertSchemaModel.js +0 -0
  603. /package/lib/{agent/src/factory → factory}/createAgenticaHistory.js +0 -0
  604. /package/lib/{agent/src/factory → factory}/createAutoBeApplication.js +0 -0
  605. /package/lib/{agent/src/factory → factory}/createAutoBeState.js +0 -0
  606. /package/lib/{agent/src/factory → factory}/getAutoBeGenerated.js +0 -0
  607. /package/lib/{agent/src/factory → factory}/getAutoBeRealizeGenerated.js +0 -0
  608. /package/lib/{agent/src/factory → factory}/index.js +0 -0
  609. /package/lib/{agent/src/index.js → index.js} +0 -0
  610. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/histories/transformAnalyzeReviewHistories.js +0 -0
  611. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/histories/transformAnalyzeScenarioHistories.js +0 -0
  612. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/histories/transformAnalyzeWriteHistories.js +0 -0
  613. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/orchestrateAnalyze.js +0 -0
  614. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/orchestrateAnalyzeReview.js +0 -0
  615. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/orchestrateAnalyzeScenario.js +0 -0
  616. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/structures/IAutoBeAnalyzeReviewApplication.js +0 -0
  617. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/structures/IAutoBeAnalyzeScenarioApplication.js +0 -0
  618. /package/lib/{agent/src/orchestrate → orchestrate}/analyze/structures/IAutoBeAnalyzeWriteApplication.js +0 -0
  619. /package/lib/{agent/src/orchestrate → orchestrate}/facade/transformFacadeStateMessage.js +0 -0
  620. /package/lib/{agent/src/orchestrate → orchestrate}/index.js +0 -0
  621. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceAssetHistories.js +0 -0
  622. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceEndpointHistories.js +0 -0
  623. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfaceGroupHistories.js +0 -0
  624. /package/lib/{agent/src/orchestrate → orchestrate}/interface/histories/transformInterfacePrerequisiteHistories.js +0 -0
  625. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterface.js +0 -0
  626. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceAuthorizations.js +0 -0
  627. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceEndpoints.js +0 -0
  628. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceEndpointsReview.js +0 -0
  629. /package/lib/{agent/src/orchestrate → orchestrate}/interface/orchestrateInterfaceGroups.js +0 -0
  630. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceAuthorizationsApplication.js +0 -0
  631. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceComplementApplication.js +0 -0
  632. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceEndpointApplication.js +0 -0
  633. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js +0 -0
  634. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceGroupApplication.js +0 -0
  635. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceOperationApplication.js +0 -0
  636. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js +0 -0
  637. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutoBeInterfaceSchemaApplication.js +0 -0
  638. /package/lib/{agent/src/orchestrate → orchestrate}/interface/structures/IAutobeInterfaceSchemasReviewApplication.js +0 -0
  639. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/JsonSchemaFactory.js +0 -0
  640. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/JsonSchemaNamingConvention.js +0 -0
  641. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/OpenApiEndpointComparator.js +0 -0
  642. /package/lib/{agent/src/orchestrate → orchestrate}/interface/utils/fulfillJsonSchemaErrorMessages.js +0 -0
  643. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaComponentsHistories.js +0 -0
  644. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaCorrectHistories.js +0 -0
  645. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaReviewHistories.js +0 -0
  646. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/histories/transformPrismaSchemaHistories.js +0 -0
  647. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrisma.js +0 -0
  648. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrismaComponent.js +0 -0
  649. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrismaReview.js +0 -0
  650. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/orchestratePrismaSchemas.js +0 -0
  651. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaComponentApplication.js +0 -0
  652. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaCorrectApplication.js +0 -0
  653. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaReviewApplication.js +0 -0
  654. /package/lib/{agent/src/orchestrate → orchestrate}/prisma/structures/IAutoBePrismaSchemaApplication.js +0 -0
  655. /package/lib/{agent/src/orchestrate → orchestrate}/realize/ProviderCodeComparator.js +0 -0
  656. /package/lib/{agent/src/orchestrate → orchestrate}/realize/histories/transformRealizeWriteAuthorizationsHistories.js +0 -0
  657. /package/lib/{agent/src/orchestrate → orchestrate}/realize/internal/compileRealizeFiles.js +0 -0
  658. /package/lib/{agent/src/orchestrate → orchestrate}/realize/orchestrateRealizeAuthorization.js +0 -0
  659. /package/lib/{agent/src/orchestrate → orchestrate}/realize/orchestrateRealizeWrite.js +0 -0
  660. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeAuthorizationApplication.js +0 -0
  661. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js +0 -0
  662. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeCorrectApplication.js +0 -0
  663. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeFunctionFailure.js +0 -0
  664. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeScenarioResult.js +0 -0
  665. /package/lib/{agent/src/orchestrate → orchestrate}/realize/structures/IAutoBeRealizeWriteApplication.js +0 -0
  666. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/AuthorizationFileSystem.js +0 -0
  667. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/AutoBeRealizeAuthorizationFileSystem.js +0 -0
  668. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js +0 -0
  669. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/InternalFileSystem.js +0 -0
  670. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/ProviderFileSystem.js +0 -0
  671. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteCodeTemplate.js +0 -0
  672. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteDto.js +0 -0
  673. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteImportStatements.js +0 -0
  674. /package/lib/{agent/src/orchestrate → orchestrate}/realize/utils/getRealizeWriteInputType.js +0 -0
  675. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/filterTestFileName.js +0 -0
  676. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestImportStatements.js +0 -0
  677. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestScenarioArtifacts.js +0 -0
  678. /package/lib/{agent/src/orchestrate → orchestrate}/test/compile/getTestTemplateCode.js +0 -0
  679. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestCorrectApplication.js +0 -0
  680. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestFunction.js +0 -0
  681. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestFunctionFailure.js +0 -0
  682. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestScenarioApplication.js +0 -0
  683. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestScenarioArtifacts.js +0 -0
  684. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestScenarioAuthorizationRole.js +0 -0
  685. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestWriteApplication.js +0 -0
  686. /package/lib/{agent/src/orchestrate → orchestrate}/test/structures/IAutoBeTestWriteResult.js +0 -0
  687. /package/lib/{agent/src/structures → structures}/IAutoBeConfig.js +0 -0
  688. /package/lib/{agent/src/structures → structures}/IAutoBeProps.js +0 -0
  689. /package/lib/{agent/src/structures → structures}/IAutoBeVendor.js +0 -0
  690. /package/lib/{agent/src/utils → utils}/arrayToRecord.js +0 -0
  691. /package/lib/{agent/src/utils → utils}/backoffRetry.js +0 -0
  692. /package/lib/{agent/src/utils → utils}/divideArray.js +0 -0
  693. /package/lib/{agent/src/utils → utils}/emplaceMap.js +0 -0
  694. /package/lib/{agent/src/utils → utils}/executeCachedBatch.js +0 -0
  695. /package/lib/{agent/src/utils → utils}/predicateStateMessage.js +0 -0
@@ -51,18 +51,17 @@ const __typia_transform__llmApplicationFinalize = __importStar(require("typia/li
51
51
  const utils_1 = require("@autobe/utils");
52
52
  const tstl_1 = require("tstl");
53
53
  const typia_1 = __importDefault(require("typia"));
54
- const Escaper_1 = require("typia/lib/utils/Escaper");
55
54
  const NamingConvention_1 = require("typia/lib/utils/NamingConvention");
56
55
  const uuid_1 = require("uuid");
57
56
  const assertSchemaModel_1 = require("../../context/assertSchemaModel");
58
57
  const divideArray_1 = require("../../utils/divideArray");
59
- const emplaceMap_1 = require("../../utils/emplaceMap");
60
58
  const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
61
59
  const transformInterfaceOperationHistories_1 = require("./histories/transformInterfaceOperationHistories");
62
60
  const orchestrateInterfaceOperationsReview_1 = require("./orchestrateInterfaceOperationsReview");
63
61
  const OpenApiEndpointComparator_1 = require("./utils/OpenApiEndpointComparator");
62
+ const OperationValidator_1 = require("./utils/OperationValidator");
64
63
  function orchestrateInterfaceOperations(ctx_1, endpoints_1) {
65
- return __awaiter(this, arguments, void 0, function* (ctx, endpoints, capacity = 8) {
64
+ return __awaiter(this, arguments, void 0, function* (ctx, endpoints, capacity = 4 /* AutoBeConfigConstant.INTERFACE_CAPACITY */) {
66
65
  const matrix = (0, divideArray_1.divideArray)({
67
66
  array: endpoints,
68
67
  capacity,
@@ -155,7 +154,7 @@ function process(ctx, endpoints, progress, promptCacheKey) {
155
154
  function createController(props) {
156
155
  (0, assertSchemaModel_1.assertSchemaModel)(props.model);
157
156
  const validate = (next) => {
158
- const result = (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && "string" === typeof input.description && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = 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 _io3 = 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 _io4 = 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 _io5 = 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 _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
157
+ const result = (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.specification && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length))) && ("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 _io2 = 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 _io3 = 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 _io4 = 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 _io5 = 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 _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
159
158
  if ("number" === input.type)
160
159
  return _io4(input);
161
160
  else if ("integer" === input.type)
@@ -180,64 +179,28 @@ function createController(props) {
180
179
  path: _path + ".operations",
181
180
  expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
182
181
  value: input.operations
183
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
184
- path: _path + ".authorizationRoles",
185
- expected: "Array<string & CamelPattern & MinLength<1>>",
186
- value: input.authorizationRoles
187
- })) && input.authorizationRoles.map((elem, _index5) => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) || _report(_exceptionable, {
188
- path: _path + ".authorizationRoles[" + _index5 + "]",
189
- expected: "string & CamelPattern",
190
- value: elem
191
- })) && (1 <= elem.length || _report(_exceptionable, {
192
- path: _path + ".authorizationRoles[" + _index5 + "]",
193
- expected: "string & MinLength<1>",
194
- value: elem
195
- })) || _report(_exceptionable, {
196
- path: _path + ".authorizationRoles[" + _index5 + "]",
197
- expected: "(string & CamelPattern & MinLength<1>)",
198
- value: elem
199
- })).every(flag => flag) || _report(_exceptionable, {
200
- path: _path + ".authorizationRoles",
201
- expected: "Array<string & CamelPattern & MinLength<1>>",
202
- value: input.authorizationRoles
203
- }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
204
- path: _path + ".name",
205
- expected: "string & CamelPattern",
206
- value: input.name
207
- })) || _report(_exceptionable, {
208
- path: _path + ".name",
209
- expected: "(string & CamelPattern)",
210
- value: input.name
211
- }), "string" === typeof input.specification || _report(_exceptionable, {
182
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
212
183
  path: _path + ".specification",
213
184
  expected: "string",
214
185
  value: input.specification
215
- }), "string" === typeof input.summary || _report(_exceptionable, {
216
- path: _path + ".summary",
217
- expected: "string",
218
- value: input.summary
219
186
  }), "string" === typeof input.description || _report(_exceptionable, {
220
187
  path: _path + ".description",
221
188
  expected: "string",
222
189
  value: input.description
223
- }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
224
- path: _path + ".path",
225
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
226
- value: input.path
227
- })) || _report(_exceptionable, {
228
- path: _path + ".path",
229
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
230
- value: input.path
190
+ }), "string" === typeof input.summary || _report(_exceptionable, {
191
+ path: _path + ".summary",
192
+ expected: "string",
193
+ value: input.summary
231
194
  }), (Array.isArray(input.parameters) || _report(_exceptionable, {
232
195
  path: _path + ".parameters",
233
196
  expected: "Array<AutoBeOpenApi.IParameter>",
234
197
  value: input.parameters
235
- })) && input.parameters.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
236
- path: _path + ".parameters[" + _index6 + "]",
198
+ })) && input.parameters.map((elem, _index5) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
199
+ path: _path + ".parameters[" + _index5 + "]",
237
200
  expected: "AutoBeOpenApi.IParameter",
238
201
  value: elem
239
- })) && _vo2(elem, _path + ".parameters[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
240
- path: _path + ".parameters[" + _index6 + "]",
202
+ })) && _vo2(elem, _path + ".parameters[" + _index5 + "]", true && _exceptionable) || _report(_exceptionable, {
203
+ path: _path + ".parameters[" + _index5 + "]",
241
204
  expected: "AutoBeOpenApi.IParameter",
242
205
  value: elem
243
206
  })).every(flag => flag) || _report(_exceptionable, {
@@ -260,6 +223,42 @@ function createController(props) {
260
223
  path: _path + ".responseBody",
261
224
  expected: "(AutoBeOpenApi.IResponseBody | null)",
262
225
  value: input.responseBody
226
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
227
+ path: _path + ".name",
228
+ expected: "string & CamelPattern",
229
+ value: input.name
230
+ })) || _report(_exceptionable, {
231
+ path: _path + ".name",
232
+ expected: "(string & CamelPattern)",
233
+ value: input.name
234
+ }), (Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
235
+ path: _path + ".authorizationRoles",
236
+ expected: "Array<string & CamelPattern & MinLength<1>>",
237
+ value: input.authorizationRoles
238
+ })) && input.authorizationRoles.map((elem, _index6) => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) || _report(_exceptionable, {
239
+ path: _path + ".authorizationRoles[" + _index6 + "]",
240
+ expected: "string & CamelPattern",
241
+ value: elem
242
+ })) && (1 <= elem.length || _report(_exceptionable, {
243
+ path: _path + ".authorizationRoles[" + _index6 + "]",
244
+ expected: "string & MinLength<1>",
245
+ value: elem
246
+ })) || _report(_exceptionable, {
247
+ path: _path + ".authorizationRoles[" + _index6 + "]",
248
+ expected: "(string & CamelPattern & MinLength<1>)",
249
+ value: elem
250
+ })).every(flag => flag) || _report(_exceptionable, {
251
+ path: _path + ".authorizationRoles",
252
+ expected: "Array<string & CamelPattern & MinLength<1>>",
253
+ value: input.authorizationRoles
254
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
255
+ path: _path + ".path",
256
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
257
+ value: input.path
258
+ })) || _report(_exceptionable, {
259
+ path: _path + ".path",
260
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
261
+ value: input.path
263
262
  }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
264
263
  path: _path + ".method",
265
264
  expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
@@ -445,30 +444,12 @@ function createController(props) {
445
444
  return result;
446
445
  const operations = result.data.operations;
447
446
  const errors = [];
447
+ OperationValidator_1.OperationValidator.validate({
448
+ path: "$input.operations",
449
+ errors,
450
+ operations,
451
+ });
448
452
  operations.forEach((op, i) => {
449
- // get method has request body
450
- if (op.method === "get" && op.requestBody !== null)
451
- errors.push({
452
- path: `$input.operations[${i}].requestBody`,
453
- expected: "GET method should not have request body. Change method, or re-design the operation.",
454
- value: op.requestBody,
455
- });
456
- // operation name
457
- if (Escaper_1.Escaper.variable(op.name) === false)
458
- errors.push({
459
- path: `$input.operations[${i}].name`,
460
- expected: "<valid_variable_name>",
461
- value: op.name,
462
- description: utils_1.StringUtil.trim `
463
- The operation name will be converted to the API controller method
464
- (function) name, so the operation.name must be a valid JavaScript
465
- variable/function name.
466
-
467
- However, what you've configured value ${JSON.stringify(op.name)}
468
- is not a valid JavaScript variable/function name. Please change
469
- it to a valid variable/function name.
470
- `,
471
- });
472
453
  // validate roles
473
454
  if (props.roles.length === 0)
474
455
  op.authorizationRoles = [];
@@ -490,68 +471,6 @@ function createController(props) {
490
471
  });
491
472
  });
492
473
  });
493
- // validate duplicated endpoints
494
- const endpoints = new tstl_1.HashMap(utils_1.AutoBeEndpointComparator.hashCode, utils_1.AutoBeEndpointComparator.equals);
495
- operations.forEach((op, i) => {
496
- const key = {
497
- path: op.path,
498
- method: op.method,
499
- };
500
- const it = endpoints.find(key);
501
- if (it.equals(endpoints.end()) === false) {
502
- const indexes = it.second;
503
- errors.push({
504
- path: `$input.operations[${i}].{"path"|"method"}`,
505
- expected: "Unique endpoint (path and method)",
506
- value: key,
507
- description: utils_1.StringUtil.trim `
508
- Duplicated endpoint detected (method: ${op.method}, path: ${op.path}).
509
-
510
- The duplicated endpoints of others are located in below accessors.
511
- Check them, and consider which operation endpoint would be proper to modify.
512
-
513
- ${indexes
514
- .map((idx) => `- $input.operations.[${idx}].{"path"|"method"}`)
515
- .join("\n")}
516
- `,
517
- });
518
- indexes.push(i);
519
- }
520
- else
521
- endpoints.emplace(key, [i]);
522
- });
523
- // validate duplicated method names
524
- const accessors = new Map();
525
- operations.forEach((op, i) => {
526
- const key = op.path
527
- .split("/")
528
- .filter((e) => e[0] !== "{" && e.at(-1) !== "}")
529
- .filter((e) => e.length !== 0)
530
- .join(".") + `.${op.name}`;
531
- const indexes = (0, emplaceMap_1.emplaceMap)(accessors, key, () => []);
532
- if (indexes.length !== 0) {
533
- errors.push({
534
- path: `$input.operations[${i}].name`,
535
- expected: "Unique name in the same accessor scope.",
536
- value: op.name,
537
- description: utils_1.StringUtil.trim `
538
- Duplicated operation accessor detected (name: ${op.name}, accessor: ${key}).
539
-
540
- The operation name must be unique within the parent accessor.
541
- In other worlds, the operation accessor determined by the name
542
- must be unique in the OpenAPI document.
543
-
544
- Here is the list of elements of duplicated operation names.
545
- Check them, and consider which operation name would be proper to modify.
546
-
547
- ${indexes
548
- .map((idx) => `- ${operations[idx].name} (accessor: ${key})`)
549
- .join("\n")}
550
- `,
551
- });
552
- }
553
- indexes.push(i);
554
- });
555
474
  if (errors.length !== 0)
556
475
  return {
557
476
  success: false,
@@ -605,32 +524,16 @@ const collection = {
605
524
  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\nDO: Use object types for all request bodies and responses. DO: Reference\nnamed types defined in the components section. DO: Use `application/json`\nas the content-type. DO: Use `string & tags.Format<\"uri\">` in the schema\nfor file upload/download operations instead 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```",
606
525
  type: "object",
607
526
  properties: {
608
- authorizationRoles: {
609
- description: "Authorization roles required to access this API operation.\n\nThis field specifies which user roles are allowed to access this\nendpoint. Multiple roles can be specified to allow different types of\nusers to access the same endpoint.\n\n## \u26A0\uFE0F CRITICAL: Role Multiplication Effect\n\n**EACH ROLE IN THIS ARRAY GENERATES A SEPARATE ENDPOINT**\n\n- If you specify `[\"admin\", \"moderator\", \"member\"]`, this creates 3\n separate endpoints\n- Total generated endpoints = operations \u00D7 average roles.length\n- Example: 100 operations with 3 roles each = 300 actual endpoints\n\n## \uD83D\uDD34 AVOID OVER-GENERATION\n\n**DO NOT create role-specific endpoints when a public endpoint would\nsuffice:**\n\n- \u274C BAD: Separate GET endpoints for admin, member, moderator to view the\n same public data\n- \u2705 GOOD: Single public endpoint `[]` with role-based filtering in business\n logic\n\n**DO NOT enumerate all possible roles when the Prisma schema uses a\nsingle User table:**\n\n- If Prisma has a User table with role/permission fields, you likely only\n need `[\"user\"]`\n- Avoid listing `[\"admin\", \"seller\", \"buyer\", \"moderator\", ...]`\n unnecessarily\n- The actual role checking happens in business logic, not at the endpoint\n level\n\n## Naming Convention\n\nDO: Use camelCase for all role names.\n\n## Important Guidelines\n\n- Set to empty array `[]` for public endpoints that require no\n authentication\n- Set to array with role strings for role-restricted endpoints\n- **MINIMIZE the number of roles per endpoint to prevent explosion**\n- Consider if the endpoint can be public with role-based filtering instead\n- The role names match exactly with the user type/role defined in the\n database\n- This will be used by the Realize Agent to generate appropriate decorator\n and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on these roles\n\n## Examples\n\n- `[]` - Public endpoint, no authentication required (PREFERRED for read\n operations)\n- `[\"user\"]` - Any authenticated user can access (PREFERRED for\n user-specific operations)\n- `[\"admin\"]` - Only admin users can access (USE SPARINGLY)\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n (AVOID if possible)\n- `[\"seller\"]` - Only seller users can access (ONLY if Seller is a separate\n table)\n\n## Best Practices\n\n1. **Start with public `[]` for all read operations** unless sensitive data\n is involved\n2. **Use single role `[\"user\"]` for authenticated operations** and handle\n permissions in business logic\n3. **Only use multiple roles when absolutely necessary** for different\n business logic paths\n4. **Remember: Fewer roles = Fewer endpoints = Better performance and\n maintainability**\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.",
610
- type: "array",
611
- items: {
612
- description: "@minLength 1\n@pattern ^[a-z][a-zA-Z0-9]*$",
613
- type: "string"
614
- }
615
- },
616
- name: {
617
- 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]*$",
618
- type: "string"
619
- },
620
527
  specification: {
621
528
  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.",
622
529
  type: "string"
623
530
  },
624
- summary: {
625
- 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",
626
- type: "string"
627
- },
628
531
  description: {
629
532
  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.",
630
533
  type: "string"
631
534
  },
632
- path: {
633
- 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\\/_{}.-]*$",
535
+ summary: {
536
+ 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",
634
537
  type: "string"
635
538
  },
636
539
  parameters: {
@@ -662,6 +565,22 @@ const collection = {
662
565
  }
663
566
  ]
664
567
  },
568
+ name: {
569
+ 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]*$",
570
+ type: "string"
571
+ },
572
+ authorizationRoles: {
573
+ description: "Authorization roles required to access this API operation.\n\nThis field specifies which user roles are allowed to access this\nendpoint. Multiple roles can be specified to allow different types of\nusers to access the same endpoint.\n\n## \u26A0\uFE0F CRITICAL: Role Multiplication Effect\n\n**EACH ROLE IN THIS ARRAY GENERATES A SEPARATE ENDPOINT**\n\n- If you specify `[\"admin\", \"moderator\", \"member\"]`, this creates 3\n separate endpoints\n- Total generated endpoints = operations \u00D7 average roles.length\n- Example: 100 operations with 3 roles each = 300 actual endpoints\n\n## \uD83D\uDD34 AVOID OVER-GENERATION\n\n**DO NOT create role-specific endpoints when a public endpoint would\nsuffice:**\n\n- \u274C BAD: Separate GET endpoints for admin, member, moderator to view the\n same public data\n- \u2705 GOOD: Single public endpoint `[]` with role-based filtering in business\n logic\n\n**DO NOT enumerate all possible roles when the Prisma schema uses a\nsingle User table:**\n\n- If Prisma has a User table with role/permission fields, you likely only\n need `[\"user\"]`\n- Avoid listing `[\"admin\", \"seller\", \"buyer\", \"moderator\", ...]`\n unnecessarily\n- The actual role checking happens in business logic, not at the endpoint\n level\n\n## Naming Convention\n\nDO: Use camelCase for all role names.\n\n## Important Guidelines\n\n- Set to empty array `[]` for public endpoints that require no\n authentication\n- Set to array with role strings for role-restricted endpoints\n- **MINIMIZE the number of roles per endpoint to prevent explosion**\n- Consider if the endpoint can be public with role-based filtering instead\n- The role names match exactly with the user type/role defined in the\n database\n- This will be used by the Realize Agent to generate appropriate decorator\n and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on these roles\n\n## Examples\n\n- `[]` - Public endpoint, no authentication required (PREFERRED for read\n operations)\n- `[\"user\"]` - Any authenticated user can access (PREFERRED for\n user-specific operations)\n- `[\"admin\"]` - Only admin users can access (USE SPARINGLY)\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n (AVOID if possible)\n- `[\"seller\"]` - Only seller users can access (ONLY if Seller is a separate\n table)\n\n## Best Practices\n\n1. **Start with public `[]` for all read operations** unless sensitive data\n is involved\n2. **Use single role `[\"user\"]` for authenticated operations** and handle\n permissions in business logic\n3. **Only use multiple roles when absolutely necessary** for different\n business logic paths\n4. **Remember: Fewer roles = Fewer endpoints = Better performance and\n maintainability**\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.",
574
+ type: "array",
575
+ items: {
576
+ description: "@minLength 1\n@pattern ^[a-z][a-zA-Z0-9]*$",
577
+ type: "string"
578
+ }
579
+ },
580
+ path: {
581
+ 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\\/_{}.-]*$",
582
+ type: "string"
583
+ },
665
584
  method: {
666
585
  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",
667
586
  type: "string",
@@ -675,15 +594,15 @@ const collection = {
675
594
  }
676
595
  },
677
596
  required: [
678
- "authorizationRoles",
679
- "name",
680
597
  "specification",
681
- "summary",
682
598
  "description",
683
- "path",
599
+ "summary",
684
600
  "parameters",
685
601
  "requestBody",
686
602
  "responseBody",
603
+ "name",
604
+ "authorizationRoles",
605
+ "path",
687
606
  "method"
688
607
  ]
689
608
  },
@@ -875,7 +794,7 @@ const collection = {
875
794
  }
876
795
  },
877
796
  description: "Generate detailed API operations from path/method combinations.\n\nThis function creates complete API operations following REST principles and\nquality standards. Each generated operation includes specification, path,\nmethod, detailed multi-paragraph description, concise summary, parameters,\nand appropriate request/response bodies.\n\nThe function processes as many operations as possible in a single call,\nwith progress tracking to ensure iterative completion of all required\nendpoints.",
878
- validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && "string" === typeof input.description && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = 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 _io3 = 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 _io4 = 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 _io5 = 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 _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
797
+ validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.specification && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length))) && ("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 _io2 = 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 _io3 = 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 _io4 = 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 _io5 = 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 _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
879
798
  if ("number" === input.type)
880
799
  return _io4(input);
881
800
  else if ("integer" === input.type)
@@ -900,64 +819,28 @@ const collection = {
900
819
  path: _path + ".operations",
901
820
  expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
902
821
  value: input.operations
903
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
904
- path: _path + ".authorizationRoles",
905
- expected: "Array<string & CamelPattern & MinLength<1>>",
906
- value: input.authorizationRoles
907
- })) && input.authorizationRoles.map((elem, _index5) => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) || _report(_exceptionable, {
908
- path: _path + ".authorizationRoles[" + _index5 + "]",
909
- expected: "string & CamelPattern",
910
- value: elem
911
- })) && (1 <= elem.length || _report(_exceptionable, {
912
- path: _path + ".authorizationRoles[" + _index5 + "]",
913
- expected: "string & MinLength<1>",
914
- value: elem
915
- })) || _report(_exceptionable, {
916
- path: _path + ".authorizationRoles[" + _index5 + "]",
917
- expected: "(string & CamelPattern & MinLength<1>)",
918
- value: elem
919
- })).every(flag => flag) || _report(_exceptionable, {
920
- path: _path + ".authorizationRoles",
921
- expected: "Array<string & CamelPattern & MinLength<1>>",
922
- value: input.authorizationRoles
923
- }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
924
- path: _path + ".name",
925
- expected: "string & CamelPattern",
926
- value: input.name
927
- })) || _report(_exceptionable, {
928
- path: _path + ".name",
929
- expected: "(string & CamelPattern)",
930
- value: input.name
931
- }), "string" === typeof input.specification || _report(_exceptionable, {
822
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
932
823
  path: _path + ".specification",
933
824
  expected: "string",
934
825
  value: input.specification
935
- }), "string" === typeof input.summary || _report(_exceptionable, {
936
- path: _path + ".summary",
937
- expected: "string",
938
- value: input.summary
939
826
  }), "string" === typeof input.description || _report(_exceptionable, {
940
827
  path: _path + ".description",
941
828
  expected: "string",
942
829
  value: input.description
943
- }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
944
- path: _path + ".path",
945
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
946
- value: input.path
947
- })) || _report(_exceptionable, {
948
- path: _path + ".path",
949
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
950
- value: input.path
830
+ }), "string" === typeof input.summary || _report(_exceptionable, {
831
+ path: _path + ".summary",
832
+ expected: "string",
833
+ value: input.summary
951
834
  }), (Array.isArray(input.parameters) || _report(_exceptionable, {
952
835
  path: _path + ".parameters",
953
836
  expected: "Array<AutoBeOpenApi.IParameter>",
954
837
  value: input.parameters
955
- })) && input.parameters.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
956
- path: _path + ".parameters[" + _index6 + "]",
838
+ })) && input.parameters.map((elem, _index5) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
839
+ path: _path + ".parameters[" + _index5 + "]",
957
840
  expected: "AutoBeOpenApi.IParameter",
958
841
  value: elem
959
- })) && _vo2(elem, _path + ".parameters[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
960
- path: _path + ".parameters[" + _index6 + "]",
842
+ })) && _vo2(elem, _path + ".parameters[" + _index5 + "]", true && _exceptionable) || _report(_exceptionable, {
843
+ path: _path + ".parameters[" + _index5 + "]",
961
844
  expected: "AutoBeOpenApi.IParameter",
962
845
  value: elem
963
846
  })).every(flag => flag) || _report(_exceptionable, {
@@ -980,6 +863,42 @@ const collection = {
980
863
  path: _path + ".responseBody",
981
864
  expected: "(AutoBeOpenApi.IResponseBody | null)",
982
865
  value: input.responseBody
866
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
867
+ path: _path + ".name",
868
+ expected: "string & CamelPattern",
869
+ value: input.name
870
+ })) || _report(_exceptionable, {
871
+ path: _path + ".name",
872
+ expected: "(string & CamelPattern)",
873
+ value: input.name
874
+ }), (Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
875
+ path: _path + ".authorizationRoles",
876
+ expected: "Array<string & CamelPattern & MinLength<1>>",
877
+ value: input.authorizationRoles
878
+ })) && input.authorizationRoles.map((elem, _index6) => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) || _report(_exceptionable, {
879
+ path: _path + ".authorizationRoles[" + _index6 + "]",
880
+ expected: "string & CamelPattern",
881
+ value: elem
882
+ })) && (1 <= elem.length || _report(_exceptionable, {
883
+ path: _path + ".authorizationRoles[" + _index6 + "]",
884
+ expected: "string & MinLength<1>",
885
+ value: elem
886
+ })) || _report(_exceptionable, {
887
+ path: _path + ".authorizationRoles[" + _index6 + "]",
888
+ expected: "(string & CamelPattern & MinLength<1>)",
889
+ value: elem
890
+ })).every(flag => flag) || _report(_exceptionable, {
891
+ path: _path + ".authorizationRoles",
892
+ expected: "Array<string & CamelPattern & MinLength<1>>",
893
+ value: input.authorizationRoles
894
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
895
+ path: _path + ".path",
896
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
897
+ value: input.path
898
+ })) || _report(_exceptionable, {
899
+ path: _path + ".path",
900
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
901
+ value: input.path
983
902
  }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
984
903
  path: _path + ".method",
985
904
  expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
@@ -1202,36 +1121,17 @@ const collection = {
1202
1121
  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\nDO: Use object types for all request bodies and responses. DO: Reference\nnamed types defined in the components section. DO: Use `application/json`\nas the content-type. DO: Use `string & tags.Format<\"uri\">` in the schema\nfor file upload/download operations instead 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```",
1203
1122
  type: "object",
1204
1123
  properties: {
1205
- authorizationRoles: {
1206
- description: "Authorization roles required to access this API operation.\n\nThis field specifies which user roles are allowed to access this\nendpoint. Multiple roles can be specified to allow different types of\nusers to access the same endpoint.\n\n## \u26A0\uFE0F CRITICAL: Role Multiplication Effect\n\n**EACH ROLE IN THIS ARRAY GENERATES A SEPARATE ENDPOINT**\n\n- If you specify `[\"admin\", \"moderator\", \"member\"]`, this creates 3\n separate endpoints\n- Total generated endpoints = operations \u00D7 average roles.length\n- Example: 100 operations with 3 roles each = 300 actual endpoints\n\n## \uD83D\uDD34 AVOID OVER-GENERATION\n\n**DO NOT create role-specific endpoints when a public endpoint would\nsuffice:**\n\n- \u274C BAD: Separate GET endpoints for admin, member, moderator to view the\n same public data\n- \u2705 GOOD: Single public endpoint `[]` with role-based filtering in business\n logic\n\n**DO NOT enumerate all possible roles when the Prisma schema uses a\nsingle User table:**\n\n- If Prisma has a User table with role/permission fields, you likely only\n need `[\"user\"]`\n- Avoid listing `[\"admin\", \"seller\", \"buyer\", \"moderator\", ...]`\n unnecessarily\n- The actual role checking happens in business logic, not at the endpoint\n level\n\n## Naming Convention\n\nDO: Use camelCase for all role names.\n\n## Important Guidelines\n\n- Set to empty array `[]` for public endpoints that require no\n authentication\n- Set to array with role strings for role-restricted endpoints\n- **MINIMIZE the number of roles per endpoint to prevent explosion**\n- Consider if the endpoint can be public with role-based filtering instead\n- The role names match exactly with the user type/role defined in the\n database\n- This will be used by the Realize Agent to generate appropriate decorator\n and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on these roles\n\n## Examples\n\n- `[]` - Public endpoint, no authentication required (PREFERRED for read\n operations)\n- `[\"user\"]` - Any authenticated user can access (PREFERRED for\n user-specific operations)\n- `[\"admin\"]` - Only admin users can access (USE SPARINGLY)\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n (AVOID if possible)\n- `[\"seller\"]` - Only seller users can access (ONLY if Seller is a separate\n table)\n\n## Best Practices\n\n1. **Start with public `[]` for all read operations** unless sensitive data\n is involved\n2. **Use single role `[\"user\"]` for authenticated operations** and handle\n permissions in business logic\n3. **Only use multiple roles when absolutely necessary** for different\n business logic paths\n4. **Remember: Fewer roles = Fewer endpoints = Better performance and\n maintainability**\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.",
1207
- type: "array",
1208
- items: {
1209
- type: "string",
1210
- pattern: "^[a-z][a-zA-Z0-9]*$",
1211
- minLength: 1
1212
- }
1213
- },
1214
- name: {
1215
- 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.",
1216
- type: "string",
1217
- pattern: "^[a-z][a-zA-Z0-9]*$"
1218
- },
1219
1124
  specification: {
1220
1125
  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.",
1221
1126
  type: "string"
1222
1127
  },
1223
- summary: {
1224
- 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",
1225
- type: "string"
1226
- },
1227
1128
  description: {
1228
1129
  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.",
1229
1130
  type: "string"
1230
1131
  },
1231
- path: {
1232
- 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)",
1233
- type: "string",
1234
- pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
1132
+ summary: {
1133
+ 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",
1134
+ type: "string"
1235
1135
  },
1236
1136
  parameters: {
1237
1137
  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`",
@@ -1262,6 +1162,25 @@ const collection = {
1262
1162
  }
1263
1163
  ]
1264
1164
  },
1165
+ name: {
1166
+ 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.",
1167
+ type: "string",
1168
+ pattern: "^[a-z][a-zA-Z0-9]*$"
1169
+ },
1170
+ authorizationRoles: {
1171
+ description: "Authorization roles required to access this API operation.\n\nThis field specifies which user roles are allowed to access this\nendpoint. Multiple roles can be specified to allow different types of\nusers to access the same endpoint.\n\n## \u26A0\uFE0F CRITICAL: Role Multiplication Effect\n\n**EACH ROLE IN THIS ARRAY GENERATES A SEPARATE ENDPOINT**\n\n- If you specify `[\"admin\", \"moderator\", \"member\"]`, this creates 3\n separate endpoints\n- Total generated endpoints = operations \u00D7 average roles.length\n- Example: 100 operations with 3 roles each = 300 actual endpoints\n\n## \uD83D\uDD34 AVOID OVER-GENERATION\n\n**DO NOT create role-specific endpoints when a public endpoint would\nsuffice:**\n\n- \u274C BAD: Separate GET endpoints for admin, member, moderator to view the\n same public data\n- \u2705 GOOD: Single public endpoint `[]` with role-based filtering in business\n logic\n\n**DO NOT enumerate all possible roles when the Prisma schema uses a\nsingle User table:**\n\n- If Prisma has a User table with role/permission fields, you likely only\n need `[\"user\"]`\n- Avoid listing `[\"admin\", \"seller\", \"buyer\", \"moderator\", ...]`\n unnecessarily\n- The actual role checking happens in business logic, not at the endpoint\n level\n\n## Naming Convention\n\nDO: Use camelCase for all role names.\n\n## Important Guidelines\n\n- Set to empty array `[]` for public endpoints that require no\n authentication\n- Set to array with role strings for role-restricted endpoints\n- **MINIMIZE the number of roles per endpoint to prevent explosion**\n- Consider if the endpoint can be public with role-based filtering instead\n- The role names match exactly with the user type/role defined in the\n database\n- This will be used by the Realize Agent to generate appropriate decorator\n and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on these roles\n\n## Examples\n\n- `[]` - Public endpoint, no authentication required (PREFERRED for read\n operations)\n- `[\"user\"]` - Any authenticated user can access (PREFERRED for\n user-specific operations)\n- `[\"admin\"]` - Only admin users can access (USE SPARINGLY)\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n (AVOID if possible)\n- `[\"seller\"]` - Only seller users can access (ONLY if Seller is a separate\n table)\n\n## Best Practices\n\n1. **Start with public `[]` for all read operations** unless sensitive data\n is involved\n2. **Use single role `[\"user\"]` for authenticated operations** and handle\n permissions in business logic\n3. **Only use multiple roles when absolutely necessary** for different\n business logic paths\n4. **Remember: Fewer roles = Fewer endpoints = Better performance and\n maintainability**\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.",
1172
+ type: "array",
1173
+ items: {
1174
+ type: "string",
1175
+ pattern: "^[a-z][a-zA-Z0-9]*$",
1176
+ minLength: 1
1177
+ }
1178
+ },
1179
+ path: {
1180
+ 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)",
1181
+ type: "string",
1182
+ pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
1183
+ },
1265
1184
  method: {
1266
1185
  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",
1267
1186
  oneOf: [
@@ -1284,15 +1203,15 @@ const collection = {
1284
1203
  }
1285
1204
  },
1286
1205
  required: [
1287
- "authorizationRoles",
1288
- "name",
1289
1206
  "specification",
1290
- "summary",
1291
1207
  "description",
1292
- "path",
1208
+ "summary",
1293
1209
  "parameters",
1294
1210
  "requestBody",
1295
1211
  "responseBody",
1212
+ "name",
1213
+ "authorizationRoles",
1214
+ "path",
1296
1215
  "method"
1297
1216
  ]
1298
1217
  },
@@ -1480,7 +1399,7 @@ const collection = {
1480
1399
  }
1481
1400
  },
1482
1401
  description: "Generate detailed API operations from path/method combinations.\n\nThis function creates complete API operations following REST principles and\nquality standards. Each generated operation includes specification, path,\nmethod, detailed multi-paragraph description, concise summary, parameters,\nand appropriate request/response bodies.\n\nThe function processes as many operations as possible in a single call,\nwith progress tracking to ensure iterative completion of all required\nendpoints.",
1483
- validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && "string" === typeof input.description && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = 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 _io3 = 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 _io4 = 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 _io5 = 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 _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
1402
+ validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.specification && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length))) && ("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 _io2 = 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 _io3 = 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 _io4 = 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 _io5 = 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 _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
1484
1403
  if ("number" === input.type)
1485
1404
  return _io4(input);
1486
1405
  else if ("integer" === input.type)
@@ -1505,64 +1424,28 @@ const collection = {
1505
1424
  path: _path + ".operations",
1506
1425
  expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
1507
1426
  value: input.operations
1508
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
1509
- path: _path + ".authorizationRoles",
1510
- expected: "Array<string & CamelPattern & MinLength<1>>",
1511
- value: input.authorizationRoles
1512
- })) && input.authorizationRoles.map((elem, _index5) => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) || _report(_exceptionable, {
1513
- path: _path + ".authorizationRoles[" + _index5 + "]",
1514
- expected: "string & CamelPattern",
1515
- value: elem
1516
- })) && (1 <= elem.length || _report(_exceptionable, {
1517
- path: _path + ".authorizationRoles[" + _index5 + "]",
1518
- expected: "string & MinLength<1>",
1519
- value: elem
1520
- })) || _report(_exceptionable, {
1521
- path: _path + ".authorizationRoles[" + _index5 + "]",
1522
- expected: "(string & CamelPattern & MinLength<1>)",
1523
- value: elem
1524
- })).every(flag => flag) || _report(_exceptionable, {
1525
- path: _path + ".authorizationRoles",
1526
- expected: "Array<string & CamelPattern & MinLength<1>>",
1527
- value: input.authorizationRoles
1528
- }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
1529
- path: _path + ".name",
1530
- expected: "string & CamelPattern",
1531
- value: input.name
1532
- })) || _report(_exceptionable, {
1533
- path: _path + ".name",
1534
- expected: "(string & CamelPattern)",
1535
- value: input.name
1536
- }), "string" === typeof input.specification || _report(_exceptionable, {
1427
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
1537
1428
  path: _path + ".specification",
1538
1429
  expected: "string",
1539
1430
  value: input.specification
1540
- }), "string" === typeof input.summary || _report(_exceptionable, {
1541
- path: _path + ".summary",
1542
- expected: "string",
1543
- value: input.summary
1544
1431
  }), "string" === typeof input.description || _report(_exceptionable, {
1545
1432
  path: _path + ".description",
1546
1433
  expected: "string",
1547
1434
  value: input.description
1548
- }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1549
- path: _path + ".path",
1550
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1551
- value: input.path
1552
- })) || _report(_exceptionable, {
1553
- path: _path + ".path",
1554
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1555
- value: input.path
1435
+ }), "string" === typeof input.summary || _report(_exceptionable, {
1436
+ path: _path + ".summary",
1437
+ expected: "string",
1438
+ value: input.summary
1556
1439
  }), (Array.isArray(input.parameters) || _report(_exceptionable, {
1557
1440
  path: _path + ".parameters",
1558
1441
  expected: "Array<AutoBeOpenApi.IParameter>",
1559
1442
  value: input.parameters
1560
- })) && input.parameters.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1561
- path: _path + ".parameters[" + _index6 + "]",
1443
+ })) && input.parameters.map((elem, _index5) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1444
+ path: _path + ".parameters[" + _index5 + "]",
1562
1445
  expected: "AutoBeOpenApi.IParameter",
1563
1446
  value: elem
1564
- })) && _vo2(elem, _path + ".parameters[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
1565
- path: _path + ".parameters[" + _index6 + "]",
1447
+ })) && _vo2(elem, _path + ".parameters[" + _index5 + "]", true && _exceptionable) || _report(_exceptionable, {
1448
+ path: _path + ".parameters[" + _index5 + "]",
1566
1449
  expected: "AutoBeOpenApi.IParameter",
1567
1450
  value: elem
1568
1451
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1585,6 +1468,42 @@ const collection = {
1585
1468
  path: _path + ".responseBody",
1586
1469
  expected: "(AutoBeOpenApi.IResponseBody | null)",
1587
1470
  value: input.responseBody
1471
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
1472
+ path: _path + ".name",
1473
+ expected: "string & CamelPattern",
1474
+ value: input.name
1475
+ })) || _report(_exceptionable, {
1476
+ path: _path + ".name",
1477
+ expected: "(string & CamelPattern)",
1478
+ value: input.name
1479
+ }), (Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
1480
+ path: _path + ".authorizationRoles",
1481
+ expected: "Array<string & CamelPattern & MinLength<1>>",
1482
+ value: input.authorizationRoles
1483
+ })) && input.authorizationRoles.map((elem, _index6) => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) || _report(_exceptionable, {
1484
+ path: _path + ".authorizationRoles[" + _index6 + "]",
1485
+ expected: "string & CamelPattern",
1486
+ value: elem
1487
+ })) && (1 <= elem.length || _report(_exceptionable, {
1488
+ path: _path + ".authorizationRoles[" + _index6 + "]",
1489
+ expected: "string & MinLength<1>",
1490
+ value: elem
1491
+ })) || _report(_exceptionable, {
1492
+ path: _path + ".authorizationRoles[" + _index6 + "]",
1493
+ expected: "(string & CamelPattern & MinLength<1>)",
1494
+ value: elem
1495
+ })).every(flag => flag) || _report(_exceptionable, {
1496
+ path: _path + ".authorizationRoles",
1497
+ expected: "Array<string & CamelPattern & MinLength<1>>",
1498
+ value: input.authorizationRoles
1499
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1500
+ path: _path + ".path",
1501
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1502
+ value: input.path
1503
+ })) || _report(_exceptionable, {
1504
+ path: _path + ".path",
1505
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1506
+ value: input.path
1588
1507
  }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1589
1508
  path: _path + ".method",
1590
1509
  expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",