@autobe/agent 0.17.1 → 0.18.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 (693) hide show
  1. package/lib/AutoBeMockAgent.d.ts +5 -5
  2. package/lib/agent/src/AutoBeAgent.d.ts +52 -0
  3. package/lib/{AutoBeAgent.js → agent/src/AutoBeAgent.js} +29 -1
  4. package/lib/agent/src/AutoBeAgent.js.map +1 -0
  5. package/lib/agent/src/AutoBeAgentBase.d.ts +18 -0
  6. package/lib/agent/src/AutoBeAgentBase.js.map +1 -0
  7. package/lib/agent/src/AutoBeMockAgent.d.ts +15 -0
  8. package/lib/{AutoBeMockAgent.js → agent/src/AutoBeMockAgent.js} +34 -4
  9. package/lib/agent/src/AutoBeMockAgent.js.map +1 -0
  10. package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +34 -0
  11. package/lib/agent/src/constants/AutoBeSystemPromptConstant.js.map +1 -0
  12. package/lib/agent/src/context/AutoBeContext.d.ts +41 -0
  13. package/lib/agent/src/context/AutoBeContext.js.map +1 -0
  14. package/lib/agent/src/context/AutoBeState.d.ts +8 -0
  15. package/lib/agent/src/context/AutoBeState.js.map +1 -0
  16. package/lib/agent/src/context/AutoBeTokenUsage.d.ts +173 -0
  17. package/lib/{context → agent/src/context}/AutoBeTokenUsage.js +7 -0
  18. package/lib/agent/src/context/AutoBeTokenUsage.js.map +1 -0
  19. package/lib/agent/src/context/AutoBeTokenUsageComponent.d.ts +116 -0
  20. package/lib/{context → agent/src/context}/AutoBeTokenUsageComponent.js +19 -2
  21. package/lib/agent/src/context/AutoBeTokenUsageComponent.js.map +1 -0
  22. package/lib/agent/src/context/IAutoBeApplication.d.ts +107 -0
  23. package/lib/agent/src/context/IAutoBeApplication.js.map +1 -0
  24. package/lib/agent/src/context/IAutoBeApplicationProps.d.ts +4 -0
  25. package/lib/agent/src/context/IAutoBeApplicationProps.js.map +1 -0
  26. package/lib/agent/src/context/IAutoBeApplicationResult.d.ts +4 -0
  27. package/lib/agent/src/context/IAutoBeApplicationResult.js.map +1 -0
  28. package/lib/agent/src/context/assertSchemaModel.d.ts +2 -0
  29. package/lib/agent/src/context/assertSchemaModel.js.map +1 -0
  30. package/lib/agent/src/factory/createAgenticaHistory.d.ts +7 -0
  31. package/lib/agent/src/factory/createAgenticaHistory.js.map +1 -0
  32. package/lib/agent/src/factory/createAutoBeApplication.d.ts +7 -0
  33. package/lib/agent/src/factory/createAutoBeApplication.js.map +1 -0
  34. package/lib/agent/src/factory/createAutoBeContext.d.ts +19 -0
  35. package/lib/{factory → agent/src/factory}/createAutoBeContext.js +90 -17
  36. package/lib/agent/src/factory/createAutoBeContext.js.map +1 -0
  37. package/lib/agent/src/factory/createAutoBeState.d.ts +3 -0
  38. package/lib/agent/src/factory/createAutoBeState.js.map +1 -0
  39. package/lib/agent/src/factory/getAutoBeGenerated.d.ts +4 -0
  40. package/lib/{factory → agent/src/factory}/getAutoBeGenerated.js +3 -3
  41. package/lib/agent/src/factory/getAutoBeGenerated.js.map +1 -0
  42. package/lib/agent/src/factory/getAutoBeRealizeGenerated.d.ts +7 -0
  43. package/lib/agent/src/factory/getAutoBeRealizeGenerated.js.map +1 -0
  44. package/lib/agent/src/factory/index.d.ts +1 -0
  45. package/lib/agent/src/factory/index.js.map +1 -0
  46. package/lib/agent/src/index.d.ts +6 -0
  47. package/lib/agent/src/index.js.map +1 -0
  48. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +4 -0
  49. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.js +46 -0
  50. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.js.map +1 -0
  51. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.d.ts +4 -0
  52. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +30 -0
  53. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -0
  54. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +4 -0
  55. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js +49 -0
  56. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -0
  57. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.d.ts +5 -0
  58. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js +64 -0
  59. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js.map +1 -0
  60. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +6 -0
  61. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js +265 -0
  62. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -0
  63. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.d.ts +4 -0
  64. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js +727 -0
  65. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -0
  66. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +8 -0
  67. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js +242 -0
  68. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -0
  69. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +105 -0
  70. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.js +3 -0
  71. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.js.map +1 -0
  72. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +78 -0
  73. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.js +3 -0
  74. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.js.map +1 -0
  75. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +70 -0
  76. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.js +3 -0
  77. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.js.map +1 -0
  78. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.d.ts +2 -0
  79. package/lib/agent/src/orchestrate/facade/transformFacadeStateMessage.js.map +1 -0
  80. package/lib/agent/src/orchestrate/index.d.ts +5 -0
  81. package/lib/agent/src/orchestrate/index.js.map +1 -0
  82. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.d.ts +3 -0
  83. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +1 -0
  84. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.d.ts +4 -0
  85. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +34 -0
  86. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +1 -0
  87. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.d.ts +4 -0
  88. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js +62 -0
  89. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -0
  90. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.d.ts +5 -0
  91. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +49 -0
  92. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -0
  93. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.d.ts +3 -0
  94. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js +28 -0
  95. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -0
  96. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.d.ts +4 -0
  97. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js +51 -0
  98. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -0
  99. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.d.ts +5 -0
  100. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +35 -0
  101. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -0
  102. package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.d.ts +3 -0
  103. package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.js.map +1 -0
  104. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.d.ts +4 -0
  105. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +28 -0
  106. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -0
  107. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.d.ts +4 -0
  108. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +53 -0
  109. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +1 -0
  110. package/lib/agent/src/orchestrate/interface/orchestrateInterface.d.ts +5 -0
  111. package/lib/{orchestrate → agent/src/orchestrate}/interface/orchestrateInterface.js +7 -2
  112. package/lib/agent/src/orchestrate/interface/orchestrateInterface.js.map +1 -0
  113. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +4 -0
  114. package/lib/{orchestrate/interface/orchestrateInterfaceOperations.js → agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js} +227 -562
  115. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -0
  116. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.d.ts +4 -0
  117. package/lib/{orchestrate → agent/src/orchestrate}/interface/orchestrateInterfaceComplement.js +20 -32
  118. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -0
  119. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.d.ts +5 -0
  120. package/lib/{orchestrate → agent/src/orchestrate}/interface/orchestrateInterfaceEndpoints.js +40 -41
  121. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -0
  122. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.d.ts +4 -0
  123. package/lib/{orchestrate → agent/src/orchestrate}/interface/orchestrateInterfaceGroups.js +15 -25
  124. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -0
  125. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.d.ts +4 -0
  126. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js +1768 -0
  127. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -0
  128. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +5 -0
  129. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +1317 -0
  130. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -0
  131. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.d.ts +4 -0
  132. package/lib/{orchestrate → agent/src/orchestrate}/interface/orchestrateInterfaceSchemas.js +59 -71
  133. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -0
  134. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +7 -0
  135. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js +467 -0
  136. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +1 -0
  137. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.d.ts +47 -0
  138. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.js +3 -0
  139. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.js.map +1 -0
  140. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +55 -0
  141. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.js.map +1 -0
  142. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.d.ts +24 -0
  143. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.js.map +1 -0
  144. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +108 -0
  145. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.js.map +1 -0
  146. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +126 -0
  147. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.js.map +1 -0
  148. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +96 -0
  149. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js +3 -0
  150. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js.map +1 -0
  151. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +75 -0
  152. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.js.map +1 -0
  153. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +91 -0
  154. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.js +3 -0
  155. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.js.map +1 -0
  156. package/lib/agent/src/orchestrate/interface/utils/OpenApiEndpointComparator.d.ts +6 -0
  157. package/lib/agent/src/orchestrate/interface/utils/OpenApiEndpointComparator.js.map +1 -0
  158. package/lib/agent/src/orchestrate/internal/IProgress.d.ts +4 -0
  159. package/lib/agent/src/orchestrate/internal/IProgress.js +3 -0
  160. package/lib/agent/src/orchestrate/internal/IProgress.js.map +1 -0
  161. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.d.ts +3 -0
  162. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -0
  163. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.d.ts +3 -0
  164. package/lib/{orchestrate → agent/src/orchestrate}/prisma/histories/transformPrismaCorrectHistories.js +1 -1
  165. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +1 -0
  166. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.d.ts +8 -0
  167. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js +59 -0
  168. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +1 -0
  169. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.d.ts +3 -0
  170. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +48 -0
  171. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -0
  172. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.d.ts +5 -0
  173. package/lib/{orchestrate → agent/src/orchestrate}/prisma/orchestratePrisma.js +30 -13
  174. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js.map +1 -0
  175. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.d.ts +5 -0
  176. package/lib/{orchestrate → agent/src/orchestrate}/prisma/orchestratePrismaComponent.js +43 -44
  177. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -0
  178. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.d.ts +4 -0
  179. package/lib/{orchestrate → agent/src/orchestrate}/prisma/orchestratePrismaCorrect.js +121 -83
  180. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -0
  181. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.d.ts +5 -0
  182. package/lib/{orchestrate/prisma/orchestratePrismaSchemas.js → agent/src/orchestrate/prisma/orchestratePrismaReview.js} +139 -248
  183. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js.map +1 -0
  184. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.d.ts +5 -0
  185. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js +1625 -0
  186. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -0
  187. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.d.ts +121 -0
  188. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.js.map +1 -0
  189. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.d.ts +142 -0
  190. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.js.map +1 -0
  191. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.d.ts +105 -0
  192. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.js +3 -0
  193. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.js.map +1 -0
  194. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.d.ts +99 -0
  195. package/lib/agent/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.js.map +1 -0
  196. package/lib/agent/src/orchestrate/realize/ProviderCodeComparator.d.ts +5 -0
  197. package/lib/agent/src/orchestrate/realize/ProviderCodeComparator.js.map +1 -0
  198. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.d.ts +5 -0
  199. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js +40 -0
  200. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js.map +1 -0
  201. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.d.ts +5 -0
  202. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js +80 -0
  203. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +1 -0
  204. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.d.ts +7 -0
  205. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.js.map +1 -0
  206. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +13 -0
  207. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js +32 -0
  208. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +1 -0
  209. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +11 -0
  210. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +160 -0
  211. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -0
  212. package/lib/agent/src/orchestrate/realize/internal/compile.d.ts +7 -0
  213. package/lib/agent/src/orchestrate/realize/internal/compile.js +61 -0
  214. package/lib/agent/src/orchestrate/realize/internal/compile.js.map +1 -0
  215. package/lib/agent/src/orchestrate/realize/orchestrateRealize.d.ts +5 -0
  216. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js +113 -0
  217. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js.map +1 -0
  218. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.d.ts +10 -0
  219. package/lib/{orchestrate → agent/src/orchestrate}/realize/orchestrateRealizeAuthorization.js +84 -70
  220. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -0
  221. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.d.ts +4 -0
  222. package/lib/{orchestrate → agent/src/orchestrate}/realize/orchestrateRealizeAuthorizationCorrect.js +66 -52
  223. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -0
  224. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.d.ts +9 -0
  225. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js +351 -0
  226. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -0
  227. package/lib/{orchestrate/realize/orchestrateRealizePlanner.d.ts → agent/src/orchestrate/realize/orchestrateRealizeScenario.d.ts} +5 -3
  228. package/lib/{orchestrate/realize/orchestrateRealizePlanner.js → agent/src/orchestrate/realize/orchestrateRealizeScenario.js} +14 -24
  229. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +1 -0
  230. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.d.ts +9 -0
  231. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js +340 -0
  232. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -0
  233. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +92 -0
  234. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.js.map +1 -0
  235. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +27 -0
  236. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js.map +1 -0
  237. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +345 -0
  238. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.js.map +1 -0
  239. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +56 -0
  240. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.js.map +1 -0
  241. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +2 -0
  242. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js.map +1 -0
  243. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.d.ts +79 -0
  244. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.js +3 -0
  245. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.js.map +1 -0
  246. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +38 -0
  247. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.js +3 -0
  248. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.js.map +1 -0
  249. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +276 -0
  250. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.js +3 -0
  251. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.js.map +1 -0
  252. package/lib/agent/src/orchestrate/realize/utils/AuthorizationFileSystem.d.ts +5 -0
  253. package/lib/agent/src/orchestrate/realize/utils/AuthorizationFileSystem.js.map +1 -0
  254. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.d.ts +5 -0
  255. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.js.map +1 -0
  256. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.d.ts +4 -0
  257. package/lib/agent/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js.map +1 -0
  258. package/lib/agent/src/orchestrate/realize/utils/InternalFileSystem.d.ts +8 -0
  259. package/lib/agent/src/orchestrate/realize/utils/InternalFileSystem.js.map +1 -0
  260. package/lib/agent/src/orchestrate/realize/utils/ProviderFileSystem.d.ts +3 -0
  261. package/lib/agent/src/orchestrate/realize/utils/ProviderFileSystem.js.map +1 -0
  262. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.d.ts +4 -0
  263. package/lib/{orchestrate → agent/src/orchestrate}/realize/utils/replaceImportStatements.js +1 -0
  264. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js.map +1 -0
  265. package/lib/agent/src/orchestrate/test/compile/completeTestCode.d.ts +2 -0
  266. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js.map +1 -0
  267. package/lib/agent/src/orchestrate/test/compile/filterTestFileName.d.ts +1 -0
  268. package/lib/agent/src/orchestrate/test/compile/filterTestFileName.js.map +1 -0
  269. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.d.ts +3 -0
  270. package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -0
  271. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.d.ts +5 -0
  272. package/lib/agent/src/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -0
  273. package/lib/{orchestrate/test → agent/src/orchestrate/test/histories}/transformTestCorrectHistories.d.ts +1 -1
  274. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -0
  275. package/lib/{orchestrate/test → agent/src/orchestrate/test/histories}/transformTestHistories.d.ts +1 -1
  276. package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js.map +1 -0
  277. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.d.ts +3 -0
  278. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +56 -0
  279. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -0
  280. package/lib/{orchestrate/test → agent/src/orchestrate/test/histories}/transformTestWriteHistories.d.ts +1 -1
  281. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +179 -0
  282. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -0
  283. package/lib/agent/src/orchestrate/test/orchestrateTest.d.ts +5 -0
  284. package/lib/{orchestrate → agent/src/orchestrate}/test/orchestrateTest.js +4 -4
  285. package/lib/agent/src/orchestrate/test/orchestrateTest.js.map +1 -0
  286. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.d.ts +5 -0
  287. package/lib/{orchestrate → agent/src/orchestrate}/test/orchestrateTestCorrect.js +27 -43
  288. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +1 -0
  289. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.d.ts +4 -0
  290. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js +858 -0
  291. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js.map +1 -0
  292. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.d.ts +5 -0
  293. package/lib/{orchestrate → agent/src/orchestrate}/test/orchestrateTestWrite.js +53 -54
  294. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +1 -0
  295. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +121 -0
  296. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.js.map +1 -0
  297. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunction.d.ts +8 -0
  298. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestFunction.js.map +1 -0
  299. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +134 -0
  300. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.js.map +1 -0
  301. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.d.ts +7 -0
  302. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js.map +1 -0
  303. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +113 -0
  304. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.js.map +1 -0
  305. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteResult.d.ts +7 -0
  306. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteResult.js.map +1 -0
  307. package/lib/agent/src/structures/IAutoBeConfig.d.ts +73 -0
  308. package/lib/agent/src/structures/IAutoBeConfig.js.map +1 -0
  309. package/lib/agent/src/structures/IAutoBeProps.d.ts +109 -0
  310. package/lib/agent/src/structures/IAutoBeProps.js.map +1 -0
  311. package/lib/agent/src/structures/IAutoBeVendor.d.ts +87 -0
  312. package/lib/agent/src/structures/IAutoBeVendor.js.map +1 -0
  313. package/lib/agent/src/utils/arrayToRecord.d.ts +17 -0
  314. package/lib/agent/src/utils/arrayToRecord.js.map +1 -0
  315. package/lib/agent/src/utils/backoffRetry.d.ts +22 -0
  316. package/lib/agent/src/utils/backoffRetry.js.map +1 -0
  317. package/lib/agent/src/utils/divideArray.d.ts +4 -0
  318. package/lib/agent/src/utils/divideArray.js.map +1 -0
  319. package/lib/agent/src/utils/emplaceMap.d.ts +1 -0
  320. package/lib/agent/src/utils/emplaceMap.js.map +1 -0
  321. package/lib/{orchestrate/realize/RealizePipe.d.ts → agent/src/utils/pipe.d.ts} +1 -1
  322. package/lib/agent/src/utils/pipe.js.map +1 -0
  323. package/lib/constants/AutoBeSystemPromptConstant.d.ts +18 -16
  324. package/lib/context/AutoBeContext.d.ts +16 -5
  325. package/lib/index.mjs +8876 -4277
  326. package/lib/index.mjs.map +1 -1
  327. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.d.ts +153 -0
  328. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.js +3 -0
  329. package/lib/interface/src/histories/contents/AutoBeAnalyzeFile.js.map +1 -0
  330. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +4 -0
  331. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.d.ts +4 -0
  332. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +4 -0
  333. package/lib/orchestrate/analyze/orchestrateAnalyze.d.ts +0 -1
  334. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +6 -0
  335. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.d.ts +4 -0
  336. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +6 -12
  337. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +105 -0
  338. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +78 -0
  339. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +70 -0
  340. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.d.ts +4 -0
  341. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.d.ts +2 -1
  342. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.d.ts +5 -0
  343. package/lib/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.d.ts +4 -0
  344. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +4 -0
  345. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.d.ts +1 -1
  346. package/lib/orchestrate/interface/orchestrateInterfaceGroups.d.ts +1 -1
  347. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +5 -0
  348. package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +7 -0
  349. package/lib/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.d.ts +47 -0
  350. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.d.ts +2 -1
  351. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +6 -2
  352. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +96 -0
  353. package/lib/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +91 -0
  354. package/lib/orchestrate/internal/IProgress.d.ts +4 -0
  355. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.d.ts +8 -0
  356. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.d.ts +1 -1
  357. package/lib/orchestrate/prisma/orchestratePrismaComponent.d.ts +1 -1
  358. package/lib/orchestrate/prisma/orchestratePrismaReview.d.ts +5 -0
  359. package/lib/orchestrate/prisma/orchestratePrismaSchemas.d.ts +1 -1
  360. package/lib/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.d.ts +2 -1
  361. package/lib/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.d.ts +105 -0
  362. package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.d.ts +43 -153
  363. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.d.ts +5 -0
  364. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.d.ts +5 -0
  365. package/lib/orchestrate/realize/histories/transformRealizeCoderHistories.d.ts +7 -0
  366. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +13 -0
  367. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +11 -0
  368. package/lib/orchestrate/realize/internal/compile.d.ts +7 -0
  369. package/lib/orchestrate/realize/orchestrateRealizeCorrect.d.ts +9 -0
  370. package/lib/orchestrate/realize/orchestrateRealizeScenario.d.ts +91 -0
  371. package/lib/orchestrate/realize/orchestrateRealizeWrite.d.ts +9 -0
  372. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +10 -3
  373. package/lib/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.d.ts +79 -0
  374. package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +38 -0
  375. package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +276 -0
  376. package/lib/orchestrate/test/histories/transformTestCorrectHistories.d.ts +4 -0
  377. package/lib/orchestrate/test/histories/transformTestHistories.d.ts +3 -0
  378. package/lib/orchestrate/test/histories/transformTestScenarioHistories.d.ts +3 -0
  379. package/lib/orchestrate/test/histories/transformTestWriteHistories.d.ts +8 -0
  380. package/lib/orchestrate/test/orchestrateTestScenario.d.ts +2 -2
  381. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +25 -24
  382. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +2 -1
  383. package/package.json +9 -9
  384. package/src/AutoBeAgent.ts +37 -3
  385. package/src/AutoBeMockAgent.ts +41 -11
  386. package/src/constants/AutoBeSystemPromptConstant.ts +18 -16
  387. package/src/context/AutoBeContext.ts +30 -4
  388. package/src/context/AutoBeTokenUsage.ts +8 -0
  389. package/src/context/AutoBeTokenUsageComponent.ts +20 -2
  390. package/src/factory/createAutoBeApplication.ts +3 -11
  391. package/src/factory/createAutoBeContext.ts +64 -1
  392. package/src/factory/getAutoBeGenerated.ts +3 -3
  393. package/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.ts +53 -0
  394. package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.ts +34 -0
  395. package/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.ts +56 -0
  396. package/src/orchestrate/analyze/orchestrateAnalyze.ts +61 -80
  397. package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +89 -0
  398. package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +123 -0
  399. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +51 -52
  400. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +108 -0
  401. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +85 -0
  402. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.ts +71 -0
  403. package/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.ts +40 -0
  404. package/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.ts +27 -0
  405. package/src/orchestrate/interface/histories/transformInterfaceOperationHistories.ts +45 -22
  406. package/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.ts +43 -0
  407. package/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.ts +63 -0
  408. package/src/orchestrate/interface/orchestrateInterface.ts +10 -2
  409. package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +106 -0
  410. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +27 -44
  411. package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +28 -34
  412. package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +15 -32
  413. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +207 -103
  414. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +84 -0
  415. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +72 -82
  416. package/src/orchestrate/interface/orchestrateInterfaceSchemasReview.ts +143 -0
  417. package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.ts +49 -0
  418. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.ts +2 -1
  419. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +6 -2
  420. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.ts +102 -0
  421. package/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.ts +98 -0
  422. package/src/orchestrate/internal/IProgress.ts +4 -0
  423. package/src/orchestrate/prisma/histories/transformPrismaReviewHistories.ts +66 -0
  424. package/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.ts +2 -2
  425. package/src/orchestrate/prisma/orchestratePrisma.ts +44 -15
  426. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +16 -33
  427. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +96 -58
  428. package/src/orchestrate/prisma/orchestratePrismaReview.ts +118 -0
  429. package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +133 -139
  430. package/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.ts +2 -1
  431. package/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.ts +108 -0
  432. package/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.ts +43 -156
  433. package/src/orchestrate/realize/{transformRealizeAuthorization.ts → histories/transformRealizeAuthorization.ts} +14 -10
  434. package/src/orchestrate/realize/{transformRealizeAuthorizationCorrectHistories.ts → histories/transformRealizeAuthorizationCorrectHistories.ts} +9 -7
  435. package/src/orchestrate/realize/{transformRealizeCoderHistories.ts → histories/transformRealizeCoderHistories.ts} +6 -6
  436. package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +47 -0
  437. package/src/orchestrate/realize/histories/transformRealizeWriteHistories.ts +184 -0
  438. package/src/orchestrate/realize/internal/compile.ts +84 -0
  439. package/src/orchestrate/realize/orchestrateRealize.ts +100 -9
  440. package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +45 -57
  441. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +19 -41
  442. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +118 -0
  443. package/src/orchestrate/realize/{orchestrateRealizePlanner.ts → orchestrateRealizeScenario.ts} +15 -15
  444. package/src/orchestrate/realize/orchestrateRealizeWrite.ts +120 -0
  445. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.ts +11 -3
  446. package/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.ts +81 -0
  447. package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.ts +43 -0
  448. package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +282 -0
  449. package/src/orchestrate/realize/utils/replaceImportStatements.ts +3 -1
  450. package/src/orchestrate/test/experimental/orchestrateTestCorrect.ast +5 -9
  451. package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +23 -22
  452. package/src/orchestrate/test/{transformTestCorrectHistories.ts → histories/transformTestCorrectHistories.ts} +2 -2
  453. package/src/orchestrate/test/{transformTestHistories.ts → histories/transformTestHistories.ts} +1 -1
  454. package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +70 -0
  455. package/src/orchestrate/test/{transformTestWriteHistories.ts → histories/transformTestWriteHistories.ts} +3 -3
  456. package/src/orchestrate/test/orchestrateTest.ts +5 -6
  457. package/src/orchestrate/test/orchestrateTestCorrect.ts +32 -62
  458. package/src/orchestrate/test/orchestrateTestScenario.ts +95 -158
  459. package/src/orchestrate/test/orchestrateTestWrite.ts +48 -71
  460. package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +25 -24
  461. package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +3 -1
  462. package/lib/AutoBeAgent.js.map +0 -1
  463. package/lib/AutoBeAgentBase.js.map +0 -1
  464. package/lib/AutoBeMockAgent.js.map +0 -1
  465. package/lib/constants/AutoBeSystemPromptConstant.js.map +0 -1
  466. package/lib/context/AutoBeContext.js.map +0 -1
  467. package/lib/context/AutoBeState.js.map +0 -1
  468. package/lib/context/AutoBeTokenUsage.js.map +0 -1
  469. package/lib/context/AutoBeTokenUsageComponent.js.map +0 -1
  470. package/lib/context/IAutoBeApplication.js.map +0 -1
  471. package/lib/context/IAutoBeApplicationProps.js.map +0 -1
  472. package/lib/context/IAutoBeApplicationResult.js.map +0 -1
  473. package/lib/context/assertSchemaModel.js.map +0 -1
  474. package/lib/factory/createAgenticaHistory.js.map +0 -1
  475. package/lib/factory/createAutoBeApplication.js.map +0 -1
  476. package/lib/factory/createAutoBeContext.js.map +0 -1
  477. package/lib/factory/createAutoBeState.js.map +0 -1
  478. package/lib/factory/getAutoBeGenerated.js.map +0 -1
  479. package/lib/factory/getAutoBeRealizeGenerated.js.map +0 -1
  480. package/lib/factory/index.js.map +0 -1
  481. package/lib/index.js.map +0 -1
  482. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.d.ts +0 -45
  483. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js +0 -27
  484. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js.map +0 -1
  485. package/lib/orchestrate/analyze/AutoBeAnalyzePointer.d.ts +0 -9
  486. package/lib/orchestrate/analyze/AutoBeAnalyzePointer.js +0 -3
  487. package/lib/orchestrate/analyze/AutoBeAnalyzePointer.js.map +0 -1
  488. package/lib/orchestrate/analyze/orchestrateAnalyze.js +0 -98
  489. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +0 -1
  490. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.d.ts +0 -5
  491. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js +0 -561
  492. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js.map +0 -1
  493. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.d.ts +0 -12
  494. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js +0 -395
  495. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js.map +0 -1
  496. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +0 -347
  497. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +0 -1
  498. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.d.ts +0 -68
  499. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js +0 -3
  500. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js.map +0 -1
  501. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.d.ts +0 -5
  502. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js +0 -27
  503. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js.map +0 -1
  504. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.d.ts +0 -12
  505. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js +0 -78
  506. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js.map +0 -1
  507. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.d.ts +0 -16
  508. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js +0 -79
  509. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js.map +0 -1
  510. package/lib/orchestrate/facade/transformFacadeStateMessage.js.map +0 -1
  511. package/lib/orchestrate/index.js.map +0 -1
  512. package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +0 -1
  513. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js +0 -62
  514. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +0 -1
  515. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +0 -28
  516. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +0 -1
  517. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js +0 -28
  518. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +0 -1
  519. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js +0 -28
  520. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +0 -1
  521. package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.js.map +0 -1
  522. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +0 -28
  523. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +0 -1
  524. package/lib/orchestrate/interface/orchestrateInterface.js.map +0 -1
  525. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +0 -1
  526. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +0 -1
  527. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +0 -1
  528. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +0 -1
  529. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +0 -1
  530. package/lib/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.js.map +0 -1
  531. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.js.map +0 -1
  532. package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.js.map +0 -1
  533. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.js.map +0 -1
  534. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.js.map +0 -1
  535. package/lib/orchestrate/interface/utils/OpenApiEndpointComparator.js.map +0 -1
  536. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +0 -1
  537. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +0 -1
  538. package/lib/orchestrate/prisma/histories/transformPrismaHistories.d.ts +0 -3
  539. package/lib/orchestrate/prisma/histories/transformPrismaHistories.js +0 -55
  540. package/lib/orchestrate/prisma/histories/transformPrismaHistories.js.map +0 -1
  541. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +0 -48
  542. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +0 -1
  543. package/lib/orchestrate/prisma/orchestratePrisma.js.map +0 -1
  544. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +0 -1
  545. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +0 -1
  546. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +0 -1
  547. package/lib/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.js.map +0 -1
  548. package/lib/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.js.map +0 -1
  549. package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.js.map +0 -1
  550. package/lib/orchestrate/realize/ProviderCodeComparator.js.map +0 -1
  551. package/lib/orchestrate/realize/RealizePipe.js +0 -14
  552. package/lib/orchestrate/realize/RealizePipe.js.map +0 -1
  553. package/lib/orchestrate/realize/orchestrateRealize.js +0 -63
  554. package/lib/orchestrate/realize/orchestrateRealize.js.map +0 -1
  555. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +0 -1
  556. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +0 -1
  557. package/lib/orchestrate/realize/orchestrateRealizeCoder.d.ts +0 -26
  558. package/lib/orchestrate/realize/orchestrateRealizeCoder.js +0 -420
  559. package/lib/orchestrate/realize/orchestrateRealizeCoder.js.map +0 -1
  560. package/lib/orchestrate/realize/orchestrateRealizePlanner.js.map +0 -1
  561. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.js.map +0 -1
  562. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js.map +0 -1
  563. package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.js.map +0 -1
  564. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.js.map +0 -1
  565. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js.map +0 -1
  566. package/lib/orchestrate/realize/transformRealizeAuthorization.d.ts +0 -4
  567. package/lib/orchestrate/realize/transformRealizeAuthorization.js +0 -39
  568. package/lib/orchestrate/realize/transformRealizeAuthorization.js.map +0 -1
  569. package/lib/orchestrate/realize/transformRealizeAuthorizationCorrectHistories.d.ts +0 -5
  570. package/lib/orchestrate/realize/transformRealizeAuthorizationCorrectHistories.js +0 -80
  571. package/lib/orchestrate/realize/transformRealizeAuthorizationCorrectHistories.js.map +0 -1
  572. package/lib/orchestrate/realize/transformRealizeCoderHistories.d.ts +0 -7
  573. package/lib/orchestrate/realize/transformRealizeCoderHistories.js.map +0 -1
  574. package/lib/orchestrate/realize/utils/AuthorizationFileSystem.js.map +0 -1
  575. package/lib/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.js.map +0 -1
  576. package/lib/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js.map +0 -1
  577. package/lib/orchestrate/realize/utils/InternalFileSystem.js.map +0 -1
  578. package/lib/orchestrate/realize/utils/ProviderFileSystem.js.map +0 -1
  579. package/lib/orchestrate/realize/utils/replaceImportStatements.js.map +0 -1
  580. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.d.ts +0 -11
  581. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js +0 -221
  582. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js.map +0 -1
  583. package/lib/orchestrate/test/compile/completeTestCode.js.map +0 -1
  584. package/lib/orchestrate/test/compile/filterTestFileName.js.map +0 -1
  585. package/lib/orchestrate/test/compile/getTestExternalDeclarations.js.map +0 -1
  586. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +0 -1
  587. package/lib/orchestrate/test/orchestrateTest.js.map +0 -1
  588. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +0 -1
  589. package/lib/orchestrate/test/orchestrateTestScenario.js +0 -866
  590. package/lib/orchestrate/test/orchestrateTestScenario.js.map +0 -1
  591. package/lib/orchestrate/test/orchestrateTestWrite.js.map +0 -1
  592. package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.js.map +0 -1
  593. package/lib/orchestrate/test/structures/IAutoBeTestFunction.js.map +0 -1
  594. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.js.map +0 -1
  595. package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js.map +0 -1
  596. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.js.map +0 -1
  597. package/lib/orchestrate/test/structures/IAutoBeTestWriteResult.js.map +0 -1
  598. package/lib/orchestrate/test/transformTestCorrectHistories.js.map +0 -1
  599. package/lib/orchestrate/test/transformTestHistories.js.map +0 -1
  600. package/lib/orchestrate/test/transformTestScenarioHistories.d.ts +0 -3
  601. package/lib/orchestrate/test/transformTestScenarioHistories.js +0 -100
  602. package/lib/orchestrate/test/transformTestScenarioHistories.js.map +0 -1
  603. package/lib/orchestrate/test/transformTestWriteHistories.js +0 -178
  604. package/lib/orchestrate/test/transformTestWriteHistories.js.map +0 -1
  605. package/lib/structures/IAutoBeConfig.js.map +0 -1
  606. package/lib/structures/IAutoBeProps.js.map +0 -1
  607. package/lib/structures/IAutoBeVendor.js.map +0 -1
  608. package/lib/utils/arrayToRecord.js.map +0 -1
  609. package/lib/utils/backoffRetry.js.map +0 -1
  610. package/lib/utils/divideArray.js.map +0 -1
  611. package/lib/utils/emplaceMap.js.map +0 -1
  612. package/lib/utils/enforceToolCall.d.ts +0 -3
  613. package/lib/utils/enforceToolCall.js +0 -13
  614. package/lib/utils/enforceToolCall.js.map +0 -1
  615. package/lib/utils/forceRetry.d.ts +0 -1
  616. package/lib/utils/forceRetry.js +0 -26
  617. package/lib/utils/forceRetry.js.map +0 -1
  618. package/lib/utils/pipe.js.map +0 -1
  619. package/src/orchestrate/analyze/AutoBeAnalyzeFileSystem.ts +0 -58
  620. package/src/orchestrate/analyze/AutoBeAnalyzePointer.ts +0 -10
  621. package/src/orchestrate/analyze/orchestrateAnalyzeComposer.ts +0 -112
  622. package/src/orchestrate/analyze/orchestrateAnalyzeReviewer.ts +0 -131
  623. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.ts +0 -75
  624. package/src/orchestrate/analyze/transformAnalyzeReviewerHistories.ts +0 -31
  625. package/src/orchestrate/analyze/transformAnalyzeWriteHistories.ts +0 -94
  626. package/src/orchestrate/analyze/writeDocumentUntilReviewPassed.ts +0 -96
  627. package/src/orchestrate/prisma/histories/transformPrismaHistories.ts +0 -59
  628. package/src/orchestrate/realize/RealizePipe.ts +0 -39
  629. package/src/orchestrate/realize/orchestrateRealizeCoder.ts +0 -182
  630. package/src/orchestrate/realize/writeCodeUntilCompilePassed.ts +0 -308
  631. package/src/orchestrate/test/transformTestScenarioHistories.ts +0 -105
  632. package/src/utils/enforceToolCall.ts +0 -13
  633. package/src/utils/forceRetry.ts +0 -13
  634. /package/lib/{AutoBeAgentBase.js → agent/src/AutoBeAgentBase.js} +0 -0
  635. /package/lib/{constants → agent/src/constants}/AutoBeSystemPromptConstant.js +0 -0
  636. /package/lib/{context → agent/src/context}/AutoBeContext.js +0 -0
  637. /package/lib/{context → agent/src/context}/AutoBeState.js +0 -0
  638. /package/lib/{context → agent/src/context}/IAutoBeApplication.js +0 -0
  639. /package/lib/{context → agent/src/context}/IAutoBeApplicationProps.js +0 -0
  640. /package/lib/{context → agent/src/context}/IAutoBeApplicationResult.js +0 -0
  641. /package/lib/{context → agent/src/context}/assertSchemaModel.js +0 -0
  642. /package/lib/{factory → agent/src/factory}/createAgenticaHistory.js +0 -0
  643. /package/lib/{factory → agent/src/factory}/createAutoBeApplication.js +0 -0
  644. /package/lib/{factory → agent/src/factory}/createAutoBeState.js +0 -0
  645. /package/lib/{factory → agent/src/factory}/getAutoBeRealizeGenerated.js +0 -0
  646. /package/lib/{factory → agent/src/factory}/index.js +0 -0
  647. /package/lib/{index.js → agent/src/index.js} +0 -0
  648. /package/lib/{orchestrate → agent/src/orchestrate}/facade/transformFacadeStateMessage.js +0 -0
  649. /package/lib/{orchestrate → agent/src/orchestrate}/index.js +0 -0
  650. /package/lib/{orchestrate → agent/src/orchestrate}/interface/histories/transformInterfaceAssetHistories.js +0 -0
  651. /package/lib/{orchestrate → agent/src/orchestrate}/interface/histories/transformInterfacePrerequisiteHistories.js +0 -0
  652. /package/lib/{orchestrate → agent/src/orchestrate}/interface/structures/IAutoBeInterfaceComplementApplication.js +0 -0
  653. /package/lib/{orchestrate → agent/src/orchestrate}/interface/structures/IAutoBeInterfaceEndpointApplication.js +0 -0
  654. /package/lib/{orchestrate → agent/src/orchestrate}/interface/structures/IAutoBeInterfaceGroupApplication.js +0 -0
  655. /package/lib/{orchestrate → agent/src/orchestrate}/interface/structures/IAutoBeInterfaceOperationApplication.js +0 -0
  656. /package/lib/{orchestrate → agent/src/orchestrate}/interface/structures/IAutoBeInterfaceSchemaApplication.js +0 -0
  657. /package/lib/{orchestrate → agent/src/orchestrate}/interface/utils/OpenApiEndpointComparator.js +0 -0
  658. /package/lib/{orchestrate → agent/src/orchestrate}/prisma/histories/transformPrismaComponentsHistories.js +0 -0
  659. /package/lib/{orchestrate → agent/src/orchestrate}/prisma/structures/IAutoBePrismaComponentApplication.js +0 -0
  660. /package/lib/{orchestrate → agent/src/orchestrate}/prisma/structures/IAutoBePrismaCorrectApplication.js +0 -0
  661. /package/lib/{orchestrate → agent/src/orchestrate}/prisma/structures/IAutoBePrismaSchemaApplication.js +0 -0
  662. /package/lib/{orchestrate → agent/src/orchestrate}/realize/ProviderCodeComparator.js +0 -0
  663. /package/lib/{orchestrate/realize → agent/src/orchestrate/realize/histories}/transformRealizeCoderHistories.js +0 -0
  664. /package/lib/{orchestrate → agent/src/orchestrate}/realize/structures/IAutoBeRealizeAuthorizationApplication.js +0 -0
  665. /package/lib/{orchestrate → agent/src/orchestrate}/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.js +0 -0
  666. /package/lib/{orchestrate → agent/src/orchestrate}/realize/structures/IAutoBeRealizeCoderApplication.js +0 -0
  667. /package/lib/{orchestrate → agent/src/orchestrate}/realize/structures/IAutoBeRealizeCompile.js +0 -0
  668. /package/lib/{orchestrate → agent/src/orchestrate}/realize/structures/IAutoBeRealizeFailedSymbol.js +0 -0
  669. /package/lib/{orchestrate → agent/src/orchestrate}/realize/utils/AuthorizationFileSystem.js +0 -0
  670. /package/lib/{orchestrate → agent/src/orchestrate}/realize/utils/AutoBeRealizeAuthorizationFileSystem.js +0 -0
  671. /package/lib/{orchestrate → agent/src/orchestrate}/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js +0 -0
  672. /package/lib/{orchestrate → agent/src/orchestrate}/realize/utils/InternalFileSystem.js +0 -0
  673. /package/lib/{orchestrate → agent/src/orchestrate}/realize/utils/ProviderFileSystem.js +0 -0
  674. /package/lib/{orchestrate → agent/src/orchestrate}/test/compile/completeTestCode.js +0 -0
  675. /package/lib/{orchestrate → agent/src/orchestrate}/test/compile/filterTestFileName.js +0 -0
  676. /package/lib/{orchestrate → agent/src/orchestrate}/test/compile/getTestExternalDeclarations.js +0 -0
  677. /package/lib/{orchestrate → agent/src/orchestrate}/test/compile/getTestScenarioArtifacts.js +0 -0
  678. /package/lib/{orchestrate/test → agent/src/orchestrate/test/histories}/transformTestCorrectHistories.js +0 -0
  679. /package/lib/{orchestrate/test → agent/src/orchestrate/test/histories}/transformTestHistories.js +0 -0
  680. /package/lib/{orchestrate → agent/src/orchestrate}/test/structures/IAutoBeTestCorrectApplication.js +0 -0
  681. /package/lib/{orchestrate → agent/src/orchestrate}/test/structures/IAutoBeTestFunction.js +0 -0
  682. /package/lib/{orchestrate → agent/src/orchestrate}/test/structures/IAutoBeTestScenarioApplication.js +0 -0
  683. /package/lib/{orchestrate → agent/src/orchestrate}/test/structures/IAutoBeTestScenarioArtifacts.js +0 -0
  684. /package/lib/{orchestrate → agent/src/orchestrate}/test/structures/IAutoBeTestWriteApplication.js +0 -0
  685. /package/lib/{orchestrate → agent/src/orchestrate}/test/structures/IAutoBeTestWriteResult.js +0 -0
  686. /package/lib/{structures → agent/src/structures}/IAutoBeConfig.js +0 -0
  687. /package/lib/{structures → agent/src/structures}/IAutoBeProps.js +0 -0
  688. /package/lib/{structures → agent/src/structures}/IAutoBeVendor.js +0 -0
  689. /package/lib/{utils → agent/src/utils}/arrayToRecord.js +0 -0
  690. /package/lib/{utils → agent/src/utils}/backoffRetry.js +0 -0
  691. /package/lib/{utils → agent/src/utils}/divideArray.js +0 -0
  692. /package/lib/{utils → agent/src/utils}/emplaceMap.js +0 -0
  693. /package/lib/{utils → agent/src/utils}/pipe.js +0 -0
@@ -45,431 +45,68 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
45
45
  return (mod && mod.__esModule) ? mod : { "default": mod };
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.orchestrateInterfaceOperations = orchestrateInterfaceOperations;
48
+ exports.orchestrateInterfaceAuthorizations = orchestrateInterfaceAuthorizations;
49
49
  const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
50
- const core_1 = require("@agentica/core");
51
- const tstl_1 = require("tstl");
52
50
  const typia_1 = __importDefault(require("typia"));
53
- const NamingConvention_1 = require("typia/lib/utils/NamingConvention");
54
51
  const assertSchemaModel_1 = require("../../context/assertSchemaModel");
55
- const divideArray_1 = require("../../utils/divideArray");
56
- const enforceToolCall_1 = require("../../utils/enforceToolCall");
57
- const forceRetry_1 = require("../../utils/forceRetry");
58
- const transformInterfaceOperationHistories_1 = require("./histories/transformInterfaceOperationHistories");
59
- const OpenApiEndpointComparator_1 = require("./utils/OpenApiEndpointComparator");
60
- function orchestrateInterfaceOperations(ctx_1, endpoints_1) {
61
- return __awaiter(this, arguments, void 0, function* (ctx, endpoints, capacity = 12) {
62
- const matrix = (0, divideArray_1.divideArray)({
63
- array: endpoints,
64
- capacity,
65
- });
52
+ const transformInterfaceAuthorizationsHistories_1 = require("./histories/transformInterfaceAuthorizationsHistories");
53
+ function orchestrateInterfaceAuthorizations(ctx) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ var _a, _b;
56
+ const roles = (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.roles) !== null && _b !== void 0 ? _b : [];
66
57
  const progress = {
67
- total: endpoints.length,
58
+ total: roles.length,
68
59
  completed: 0,
69
60
  };
70
- const operations = yield Promise.all(matrix.map((it) => __awaiter(this, void 0, void 0, function* () {
71
- var _a, _b;
72
- const row = yield divideAndConquer(ctx, it, 3, progress);
73
- ctx.dispatch(Object.assign(Object.assign({ type: "interfaceOperations", operations: row }, progress), { step: (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0, created_at: new Date().toISOString() }));
74
- return row;
61
+ const operations = yield Promise.all(roles.map((role) => __awaiter(this, void 0, void 0, function* () {
62
+ const event = yield process(ctx, role, progress);
63
+ ctx.dispatch(event);
64
+ return event.operations;
75
65
  })));
76
66
  return operations.flat();
77
67
  });
78
68
  }
79
- function divideAndConquer(ctx, endpoints, retry, progress) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const remained = new tstl_1.HashSet(endpoints, OpenApiEndpointComparator_1.OpenApiEndpointComparator.hashCode, OpenApiEndpointComparator_1.OpenApiEndpointComparator.equals);
82
- const operations = new tstl_1.HashMap(OpenApiEndpointComparator_1.OpenApiEndpointComparator.hashCode, OpenApiEndpointComparator_1.OpenApiEndpointComparator.equals);
83
- for (let i = 0; i < retry; ++i) {
84
- if (remained.empty() === true || operations.size() >= endpoints.length)
85
- break;
86
- const newbie = yield (0, forceRetry_1.forceRetry)(() => process(ctx, Array.from(remained), progress));
87
- for (const item of newbie) {
88
- operations.set(item, item);
89
- remained.erase(item);
90
- }
91
- }
92
- return operations.toJSON().map((it) => it.second);
93
- });
94
- }
95
- function process(ctx, endpoints, progress) {
69
+ function process(ctx, role, progress) {
96
70
  return __awaiter(this, void 0, void 0, function* () {
97
- var _a, _b, _c;
98
- const prefix = NamingConvention_1.NamingConvention.camel(ctx.state().analyze.prefix);
71
+ var _a, _b;
99
72
  const pointer = {
100
73
  value: null,
101
74
  };
102
- const agentica = new core_1.MicroAgentica({
103
- model: ctx.model,
104
- vendor: ctx.vendor,
105
- config: Object.assign(Object.assign({}, ((_a = ctx.config) !== null && _a !== void 0 ? _a : {})), { executor: {
106
- describe: null,
107
- } }),
108
- histories: (0, transformInterfaceOperationHistories_1.transformInterfaceOperationHistories)(ctx.state(), endpoints),
109
- controllers: [
110
- createApplication({
111
- model: ctx.model,
112
- roles: (_c = (_b = ctx.state().analyze) === null || _b === void 0 ? void 0 : _b.roles.map((it) => it.name)) !== null && _c !== void 0 ? _c : [],
113
- build: (operations) => {
114
- var _a;
115
- (_a = pointer.value) !== null && _a !== void 0 ? _a : (pointer.value = []);
116
- const matrix = operations.map((op) => {
117
- if (op.authorizationRoles.length === 0)
118
- return [
119
- Object.assign(Object.assign({}, op), { path: "/" +
120
- [prefix, ...op.path.split("/")]
121
- .filter((it) => it !== "")
122
- .join("/"), authorizationRole: null }),
123
- ];
124
- return op.authorizationRoles.map((role) => (Object.assign(Object.assign({}, op), { path: "/" +
125
- [prefix, role, ...op.path.split("/")]
126
- .filter((it) => it !== "")
127
- .join("/"), authorizationRole: role })));
128
- });
129
- progress.completed += matrix.flat().length;
130
- progress.total += matrix
131
- .filter((it) => it.length > 1)
132
- .map((it) => it.length - 1)
133
- .reduce((a, b) => a + b, 0);
134
- pointer.value.push(...matrix.flat());
135
- },
136
- }),
137
- ],
138
- });
139
- (0, enforceToolCall_1.enforceToolCall)(agentica);
140
- yield agentica.conversate("Make API operations").finally(() => {
141
- const tokenUsage = agentica.getTokenUsage().aggregate;
142
- ctx.usage().record(tokenUsage, ["interface"]);
75
+ const { tokenUsage } = yield ctx.conversate({
76
+ source: "interfaceAuthorization",
77
+ histories: (0, transformInterfaceAuthorizationsHistories_1.transformInterfaceAuthorizationsHistories)(ctx.state(), role),
78
+ controller: createController({
79
+ model: ctx.model,
80
+ build: (next) => {
81
+ pointer.value = next;
82
+ },
83
+ }),
84
+ enforceFunctionCall: true,
85
+ message: "Create Authorization Operation for the given roles",
143
86
  });
144
87
  if (pointer.value === null)
145
- throw new Error("Failed to create operations."); // never be happened
146
- return pointer.value;
88
+ throw new Error("Failed to generate authorization operation.");
89
+ return {
90
+ type: "interfaceAuthorization",
91
+ operations: pointer.value.operations,
92
+ completed: ++progress.completed,
93
+ tokenUsage,
94
+ created_at: new Date().toISOString(),
95
+ step: (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0,
96
+ total: progress.total,
97
+ };
147
98
  });
148
99
  }
149
- function createApplication(props) {
100
+ function createController(props) {
150
101
  (0, assertSchemaModel_1.assertSchemaModel)(props.model);
151
102
  const application = collection[props.model];
152
- application.functions[0].validate = (next) => {
153
- 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 && 1 <= elem.length) && "string" === typeof input.description && "string" === typeof input.name && "string" === typeof input.specification && "string" === typeof input.summary && ("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 && "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 => (() => {
154
- if ("number" === input.type)
155
- return _io4(input);
156
- else if ("integer" === input.type)
157
- return _io3(input);
158
- else if ("string" === input.type)
159
- return _io5(input);
160
- else
161
- return false;
162
- })(); const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.operations) || _report(_exceptionable, {
163
- path: _path + ".operations",
164
- expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
165
- value: input.operations
166
- })) && input.operations.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
167
- path: _path + ".operations[" + _index4 + "]",
168
- expected: "IAutoBeInterfaceOperationApplication.IOperation",
169
- value: elem
170
- })) && _vo1(elem, _path + ".operations[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
171
- path: _path + ".operations[" + _index4 + "]",
172
- expected: "IAutoBeInterfaceOperationApplication.IOperation",
173
- value: elem
174
- })).every(flag => flag) || _report(_exceptionable, {
175
- path: _path + ".operations",
176
- expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
177
- value: input.operations
178
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
179
- path: _path + ".authorizationRoles",
180
- expected: "Array<string & MinLength<1>>",
181
- value: input.authorizationRoles
182
- })) && input.authorizationRoles.map((elem, _index5) => "string" === typeof elem && (1 <= elem.length || _report(_exceptionable, {
183
- path: _path + ".authorizationRoles[" + _index5 + "]",
184
- expected: "string & MinLength<1>",
185
- value: elem
186
- })) || _report(_exceptionable, {
187
- path: _path + ".authorizationRoles[" + _index5 + "]",
188
- expected: "(string & MinLength<1>)",
189
- value: elem
190
- })).every(flag => flag) || _report(_exceptionable, {
191
- path: _path + ".authorizationRoles",
192
- expected: "Array<string & MinLength<1>>",
193
- value: input.authorizationRoles
194
- }), "string" === typeof input.description || _report(_exceptionable, {
195
- path: _path + ".description",
196
- expected: "string",
197
- value: input.description
198
- }), "string" === typeof input.name || _report(_exceptionable, {
199
- path: _path + ".name",
200
- expected: "string",
201
- value: input.name
202
- }), "string" === typeof input.specification || _report(_exceptionable, {
203
- path: _path + ".specification",
204
- expected: "string",
205
- value: input.specification
206
- }), "string" === typeof input.summary || _report(_exceptionable, {
207
- path: _path + ".summary",
208
- expected: "string",
209
- value: input.summary
210
- }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
211
- path: _path + ".path",
212
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
213
- value: input.path
214
- })) || _report(_exceptionable, {
215
- path: _path + ".path",
216
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
217
- value: input.path
218
- }), (Array.isArray(input.parameters) || _report(_exceptionable, {
219
- path: _path + ".parameters",
220
- expected: "Array<AutoBeOpenApi.IParameter>",
221
- value: input.parameters
222
- })) && input.parameters.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
223
- path: _path + ".parameters[" + _index6 + "]",
224
- expected: "AutoBeOpenApi.IParameter",
225
- value: elem
226
- })) && _vo2(elem, _path + ".parameters[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
227
- path: _path + ".parameters[" + _index6 + "]",
228
- expected: "AutoBeOpenApi.IParameter",
229
- value: elem
230
- })).every(flag => flag) || _report(_exceptionable, {
231
- path: _path + ".parameters",
232
- expected: "Array<AutoBeOpenApi.IParameter>",
233
- value: input.parameters
234
- }), null === input.requestBody || ("object" === typeof input.requestBody && null !== input.requestBody || _report(_exceptionable, {
235
- path: _path + ".requestBody",
236
- expected: "(AutoBeOpenApi.IRequestBody | null)",
237
- value: input.requestBody
238
- })) && _vo6(input.requestBody, _path + ".requestBody", true && _exceptionable) || _report(_exceptionable, {
239
- path: _path + ".requestBody",
240
- expected: "(AutoBeOpenApi.IRequestBody | null)",
241
- value: input.requestBody
242
- }), null === input.responseBody || ("object" === typeof input.responseBody && null !== input.responseBody || _report(_exceptionable, {
243
- path: _path + ".responseBody",
244
- expected: "(AutoBeOpenApi.IResponseBody | null)",
245
- value: input.responseBody
246
- })) && _vo7(input.responseBody, _path + ".responseBody", true && _exceptionable) || _report(_exceptionable, {
247
- path: _path + ".responseBody",
248
- expected: "(AutoBeOpenApi.IResponseBody | null)",
249
- value: input.responseBody
250
- }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
251
- path: _path + ".method",
252
- expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
253
- value: input.method
254
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
255
- path: _path + ".name",
256
- expected: "string",
257
- value: input.name
258
- }), "string" === typeof input.description || _report(_exceptionable, {
259
- path: _path + ".description",
260
- expected: "string",
261
- value: input.description
262
- }), ("object" === typeof input.schema && null !== input.schema || _report(_exceptionable, {
263
- path: _path + ".schema",
264
- expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
265
- value: input.schema
266
- })) && _vu0(input.schema, _path + ".schema", true && _exceptionable) || _report(_exceptionable, {
267
- path: _path + ".schema",
268
- expected: "(AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IString)",
269
- value: input.schema
270
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
271
- path: _path + ".minimum",
272
- expected: "number & Type<\"int64\">",
273
- value: input.minimum
274
- })) || _report(_exceptionable, {
275
- path: _path + ".minimum",
276
- expected: "((number & Type<\"int64\">) | undefined)",
277
- value: input.minimum
278
- }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
279
- path: _path + ".maximum",
280
- expected: "number & Type<\"int64\">",
281
- value: input.maximum
282
- })) || _report(_exceptionable, {
283
- path: _path + ".maximum",
284
- expected: "((number & Type<\"int64\">) | undefined)",
285
- value: input.maximum
286
- }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
287
- path: _path + ".exclusiveMinimum",
288
- expected: "(number | undefined)",
289
- value: input.exclusiveMinimum
290
- }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
291
- path: _path + ".exclusiveMaximum",
292
- expected: "(number | undefined)",
293
- value: input.exclusiveMaximum
294
- }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
295
- path: _path + ".multipleOf",
296
- expected: "number & Type<\"uint64\">",
297
- value: input.multipleOf
298
- })) && (0 < input.multipleOf || _report(_exceptionable, {
299
- path: _path + ".multipleOf",
300
- expected: "number & ExclusiveMinimum<0>",
301
- value: input.multipleOf
302
- })) || _report(_exceptionable, {
303
- path: _path + ".multipleOf",
304
- expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
305
- value: input.multipleOf
306
- }), "integer" === input.type || _report(_exceptionable, {
307
- path: _path + ".type",
308
- expected: "\"integer\"",
309
- value: input.type
310
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
311
- path: _path + ".minimum",
312
- expected: "(number | undefined)",
313
- value: input.minimum
314
- }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
315
- path: _path + ".maximum",
316
- expected: "(number | undefined)",
317
- value: input.maximum
318
- }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
319
- path: _path + ".exclusiveMinimum",
320
- expected: "(number | undefined)",
321
- value: input.exclusiveMinimum
322
- }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
323
- path: _path + ".exclusiveMaximum",
324
- expected: "(number | undefined)",
325
- value: input.exclusiveMaximum
326
- }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
327
- path: _path + ".multipleOf",
328
- expected: "number & ExclusiveMinimum<0>",
329
- value: input.multipleOf
330
- })) || _report(_exceptionable, {
331
- path: _path + ".multipleOf",
332
- expected: "((number & ExclusiveMinimum<0>) | undefined)",
333
- value: input.multipleOf
334
- }), "number" === input.type || _report(_exceptionable, {
335
- path: _path + ".type",
336
- expected: "\"number\"",
337
- value: input.type
338
- })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.format || "string" === typeof input.format || _report(_exceptionable, {
339
- path: _path + ".format",
340
- expected: "(string | undefined)",
341
- value: input.format
342
- }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
343
- path: _path + ".pattern",
344
- expected: "(string | undefined)",
345
- value: input.pattern
346
- }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
347
- path: _path + ".contentMediaType",
348
- expected: "(string | undefined)",
349
- value: input.contentMediaType
350
- }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
351
- path: _path + ".minLength",
352
- expected: "number & Type<\"uint64\">",
353
- value: input.minLength
354
- })) || _report(_exceptionable, {
355
- path: _path + ".minLength",
356
- expected: "((number & Type<\"uint64\">) | undefined)",
357
- value: input.minLength
358
- }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
359
- path: _path + ".maxLength",
360
- expected: "number & Type<\"uint64\">",
361
- value: input.maxLength
362
- })) || _report(_exceptionable, {
363
- path: _path + ".maxLength",
364
- expected: "((number & Type<\"uint64\">) | undefined)",
365
- value: input.maxLength
366
- }), "string" === input.type || _report(_exceptionable, {
367
- path: _path + ".type",
368
- expected: "\"string\"",
369
- value: input.type
370
- })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
371
- path: _path + ".description",
372
- expected: "string",
373
- value: input.description
374
- }), "string" === typeof input.typeName || _report(_exceptionable, {
375
- path: _path + ".typeName",
376
- expected: "string",
377
- value: input.typeName
378
- })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.description || _report(_exceptionable, {
379
- path: _path + ".description",
380
- expected: "string",
381
- value: input.description
382
- }), "string" === typeof input.typeName || _report(_exceptionable, {
383
- path: _path + ".typeName",
384
- expected: "string",
385
- value: input.typeName
386
- })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
387
- if ("number" === input.type)
388
- return _vo4(input, _path, true && _exceptionable);
389
- else if ("integer" === input.type)
390
- return _vo3(input, _path, true && _exceptionable);
391
- else if ("string" === input.type)
392
- return _vo5(input, _path, true && _exceptionable);
393
- else
394
- return _report(_exceptionable, {
395
- path: _path,
396
- expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString)",
397
- value: input
398
- });
399
- })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
400
- if (false === __is(input)) {
401
- errors = [];
402
- _report = __typia_transform__validateReport._validateReport(errors);
403
- ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
404
- path: _path + "",
405
- expected: "IAutoBeInterfaceOperationApplication.IProps",
406
- value: input
407
- })) && _vo0(input, _path + "", true) || _report(true, {
408
- path: _path + "",
409
- expected: "IAutoBeInterfaceOperationApplication.IProps",
410
- value: input
411
- }))(input, "$input", true);
412
- const success = 0 === errors.length;
413
- return success ? {
414
- success,
415
- data: input
416
- } : {
417
- success,
418
- errors,
419
- data: input
420
- };
421
- }
422
- return {
423
- success: true,
424
- data: input
425
- };
426
- }; })()(next);
427
- if (result.success === false)
428
- return result;
429
- const operations = result.data.operations;
430
- const errors = [];
431
- operations.forEach((op, i) => {
432
- if (op.method === "get" && op.requestBody !== null)
433
- errors.push({
434
- path: `$input.operations[${i}].requestBody`,
435
- expected: "GET method should not have request body. Change method, or re-design the operation.",
436
- value: op.requestBody,
437
- });
438
- if (props.roles.length === 0)
439
- op.authorizationRoles = [];
440
- else if (op.authorizationRoles.length !== 0 && props.roles.length !== 0)
441
- op.authorizationRoles.forEach((role, j) => {
442
- if (props.roles.includes(role) === true)
443
- return;
444
- errors.push({
445
- path: `$input.operations[${i}].authorizationRoles[${j}]`,
446
- expected: `null | ${props.roles.map((str) => JSON.stringify(str)).join(" | ")}`,
447
- description: [
448
- `Role "${role}" is not defined in the roles list.`,
449
- "",
450
- "Please select one of them below, or do not define (`null`): ",
451
- "",
452
- ...props.roles.map((role) => `- ${role}`),
453
- ].join("\n"),
454
- value: role,
455
- });
456
- });
457
- });
458
- if (errors.length !== 0)
459
- return {
460
- success: false,
461
- errors,
462
- data: next,
463
- };
464
- return result;
465
- };
466
103
  return {
467
104
  protocol: "class",
468
- name: "interface",
105
+ name: "Create Authorization Interface",
469
106
  application,
470
107
  execute: {
471
108
  makeOperations: (next) => {
472
- props.build(next.operations);
109
+ props.build(next);
473
110
  },
474
111
  },
475
112
  };
@@ -484,15 +121,16 @@ const claude = {
484
121
  {
485
122
  name: "makeOperations",
486
123
  parameters: {
487
- description: " Properties containing the operations to generate.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceOperationApplication.IProps}",
124
+ description: "Current Type: {@link IAutoBeInterfaceAuthorizationsApplication.IProps}",
488
125
  type: "object",
489
126
  properties: {
490
127
  operations: {
491
- description: "Array of API operations to generate.\n\nEach operation in this array must include:\n\n- Specification: Detailed API specification with clear purpose and\n functionality\n- Path: Resource-centric URL path (e.g., \"/resources/{resourceId}\")\n- Method: HTTP method (get, post, put, delete, patch)\n- Description: Extremely detailed multi-paragraph description referencing\n Prisma schema comments\n- Summary: Concise one-sentence summary of the endpoint\n- Parameters: Array of all necessary parameters with descriptions and\n schema definitions\n- RequestBody: For POST/PUT/PATCH methods, with typeName referencing\n components.schemas\n- ResponseBody: With typeName referencing appropriate response type\n\nAll operations must follow strict quality standards:\n\n1. Detailed descriptions referencing Prisma schema comments\n2. Accurate parameter definitions matching path parameters\n3. Appropriate request/response body type references\n4. Consistent patterns for CRUD operations\n\nFor list retrievals (typically PATCH), include pagination, search, and\nsorting. For detail retrieval (GET), return a single resource. For\ncreation (POST), use .ICreate request body. For modification (PUT), use\n.IUpdate request body.",
128
+ description: "Array of API operations to generate authorization operation for.\n\nEach operation in this array must include:\n\n- Specification: Detailed API specification with clear purpose and\n functionality\n- Path: Resource-centric URL path (e.g., \"/resources/{resourceId}\")\n- Method: HTTP method (get, post, put, delete, patch)\n- Description: Extremely detailed multi-paragraph description referencing\n Prisma schema comments\n- Summary: Concise one-sentence summary of the endpoint\n- Parameters: Array of all necessary parameters with descriptions and\n schema definitions\n- RequestBody: For POST/PUT/PATCH methods, with typeName referencing\n components.schemas\n- ResponseBody: With typeName referencing appropriate response type\n\nAll operations must follow strict quality standards:\n\n1. Detailed descriptions referencing Prisma schema comments\n2. Accurate parameter definitions matching path parameters\n3. Appropriate request/response body type references\n4. Consistent patterns for CRUD operations\n\nFor list retrievals (typically PATCH), include pagination, search, and\nsorting. For detail retrieval (GET), return a single resource. For\ncreation (POST), use .ICreate request body. For modification (PUT), use\n.IUpdate request body.",
492
129
  type: "array",
493
130
  items: {
494
- $ref: "#/$defs/IAutoBeInterfaceOperationApplication.IOperation"
495
- }
131
+ $ref: "#/$defs/AutoBeOpenApi.IOperation"
132
+ },
133
+ minItems: 1
496
134
  }
497
135
  },
498
136
  required: [
@@ -500,39 +138,22 @@ const claude = {
500
138
  ],
501
139
  additionalProperties: false,
502
140
  $defs: {
503
- "IAutoBeInterfaceOperationApplication.IOperation": {
141
+ "AutoBeOpenApi.IOperation": {
504
142
  description: "Operation of the Restful API.\n\nThis interface defines a single API endpoint with its HTTP {@link method},\n{@link path}, {@link parameters path parameters},\n{@link requestBody request body}, and {@link responseBody} structure. It\ncorresponds to an individual operation in the paths section of an OpenAPI\ndocument.\n\nEach operation requires a detailed explanation of its purpose through the\nreason and description fields, making it clear why the API was designed and\nhow it should be used.\n\nAll request bodies and responses for this operation must be object types\nand must reference named types defined in the components section. The\ncontent-type is always `application/json`. For file upload/download\noperations, use `string & tags.Format<\"uri\">` in the appropriate schema\ninstead of binary data formats.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"/shoppings/customers/orders\": {\n \"post\": {\n \"description\": \"Create a new order application from shopping cart...\",\n \"parameters\": [...],\n \"requestBody\": {...},\n \"responses\": {...}\n }\n }\n}\n```",
505
143
  type: "object",
506
144
  properties: {
507
- authorizationRoles: {
508
- 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## 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- The role names MUST 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\n- `[\"user\"]` - Any authenticated user can access\n- `[\"admin\"]` - Only admin users can access\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n- `[\"seller\"]` - Only seller users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
509
- type: "array",
510
- items: {
511
- type: "string",
512
- minLength: 1
513
- }
145
+ specification: {
146
+ 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.",
147
+ type: "string"
514
148
  },
515
149
  description: {
516
150
  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> MUST be written in English. Never use other languages.",
517
151
  type: "string"
518
152
  },
519
- name: {
520
- 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## 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\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- Use lowercase, 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\nExamples:\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\"`",
521
- type: "string"
522
- },
523
- specification: {
524
- 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.",
525
- type: "string"
526
- },
527
153
  summary: {
528
154
  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> MUST be written in English. Never use other languages",
529
155
  type: "string"
530
156
  },
531
- path: {
532
- 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)",
533
- type: "string",
534
- pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
535
- },
536
157
  parameters: {
537
158
  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`",
538
159
  type: "array",
@@ -562,6 +183,29 @@ const claude = {
562
183
  }
563
184
  ]
564
185
  },
186
+ authorizationRole: {
187
+ description: "Authorization role required to access this API operation.\n\nThis field specifies which user role is allowed to access this endpoint.\nThe role name must correspond exactly to the actual roles defined in your\nsystem's Prisma schema.\n\n## Naming Convention\n\nRole names MUST use camelCase.\n\n## Role-Based Path Convention\n\nWhen authorizationRole is specified, it should align with the path\nstructure:\n\n- If authorizationRole is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationRole is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of role\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific role string for role-restricted endpoints\n- The role name MUST match exactly with the user type/role defined in the\n database\n- This role will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this role\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
188
+ oneOf: [
189
+ {
190
+ type: "null"
191
+ },
192
+ {
193
+ type: "string",
194
+ pattern: "^[a-z][a-zA-Z0-9]*$",
195
+ minLength: 1
196
+ }
197
+ ]
198
+ },
199
+ name: {
200
+ 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.",
201
+ type: "string",
202
+ pattern: "^[a-z][a-zA-Z0-9]*$"
203
+ },
204
+ path: {
205
+ 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)",
206
+ type: "string",
207
+ pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
208
+ },
565
209
  method: {
566
210
  description: "HTTP method of the API operation.\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",
567
211
  oneOf: [
@@ -584,15 +228,15 @@ const claude = {
584
228
  }
585
229
  },
586
230
  required: [
587
- "authorizationRoles",
588
- "description",
589
- "name",
590
231
  "specification",
232
+ "description",
591
233
  "summary",
592
- "path",
593
234
  "parameters",
594
235
  "requestBody",
595
236
  "responseBody",
237
+ "authorizationRole",
238
+ "name",
239
+ "path",
596
240
  "method"
597
241
  ]
598
242
  },
@@ -601,8 +245,9 @@ const claude = {
601
245
  type: "object",
602
246
  properties: {
603
247
  name: {
604
- description: "Identifier name of the path parameter.\n\nThis name must match exactly with the parameter name in the route path.\nIt must be corresponded to the\n{@link AutoBeOpenApi.IOperation.path API operation path}.",
605
- type: "string"
248
+ description: "Identifier name of the path parameter.\n\nThis name must match exactly with the parameter name in the route path.\nIt must be corresponded to the\n{@link AutoBeOpenApi.IOperation.path API operation path}.\n\nMUST use camelCase naming convention.",
249
+ type: "string",
250
+ pattern: "^[a-z][a-zA-Z0-9]*$"
606
251
  },
607
252
  description: {
608
253
  description: "Description about the path parameter.\n\nMake short, concise and clear description about the path parameter.\n\n> MUST be written in English. Never use other languages.",
@@ -778,8 +423,8 @@ const claude = {
778
423
  }
779
424
  }
780
425
  },
781
- 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.",
782
- 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 && 1 <= elem.length) && "string" === typeof input.description && "string" === typeof input.name && "string" === typeof input.specification && "string" === typeof input.summary && ("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 && "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 => (() => {
426
+ description: "Creates an authorization Operations for the given roles\n\nThis method generates an OpenAPI interface that defines the authorization\nrequirements for the given roles. It ensures that the interface reflects\nthe correct permissions and access levels for each role.",
427
+ validate: (() => { const _io0 = input => Array.isArray(input.operations) && (1 <= input.operations.length && 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)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _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 => (() => {
783
428
  if ("number" === input.type)
784
429
  return _io4(input);
785
430
  else if ("integer" === input.type)
@@ -790,70 +435,46 @@ const claude = {
790
435
  return false;
791
436
  })(); const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.operations) || _report(_exceptionable, {
792
437
  path: _path + ".operations",
793
- expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
438
+ expected: "(Array<AutoBeOpenApi.IOperation> & MinItems<1>)",
794
439
  value: input.operations
795
- })) && input.operations.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
796
- path: _path + ".operations[" + _index4 + "]",
797
- expected: "IAutoBeInterfaceOperationApplication.IOperation",
798
- value: elem
799
- })) && _vo1(elem, _path + ".operations[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
800
- path: _path + ".operations[" + _index4 + "]",
801
- expected: "IAutoBeInterfaceOperationApplication.IOperation",
802
- value: elem
803
- })).every(flag => flag) || _report(_exceptionable, {
440
+ })) && ((1 <= input.operations.length || _report(_exceptionable, {
804
441
  path: _path + ".operations",
805
- expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
442
+ expected: "Array<> & MinItems<1>",
806
443
  value: input.operations
807
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
808
- path: _path + ".authorizationRoles",
809
- expected: "Array<string & MinLength<1>>",
810
- value: input.authorizationRoles
811
- })) && input.authorizationRoles.map((elem, _index5) => "string" === typeof elem && (1 <= elem.length || _report(_exceptionable, {
812
- path: _path + ".authorizationRoles[" + _index5 + "]",
813
- expected: "string & MinLength<1>",
444
+ })) && input.operations.map((elem, _index3) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
445
+ path: _path + ".operations[" + _index3 + "]",
446
+ expected: "AutoBeOpenApi.IOperation",
814
447
  value: elem
815
- })) || _report(_exceptionable, {
816
- path: _path + ".authorizationRoles[" + _index5 + "]",
817
- expected: "(string & MinLength<1>)",
448
+ })) && _vo1(elem, _path + ".operations[" + _index3 + "]", true && _exceptionable) || _report(_exceptionable, {
449
+ path: _path + ".operations[" + _index3 + "]",
450
+ expected: "AutoBeOpenApi.IOperation",
818
451
  value: elem
819
- })).every(flag => flag) || _report(_exceptionable, {
820
- path: _path + ".authorizationRoles",
821
- expected: "Array<string & MinLength<1>>",
822
- value: input.authorizationRoles
452
+ })).every(flag => flag)) || _report(_exceptionable, {
453
+ path: _path + ".operations",
454
+ expected: "(Array<AutoBeOpenApi.IOperation> & MinItems<1>)",
455
+ value: input.operations
456
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
457
+ path: _path + ".specification",
458
+ expected: "string",
459
+ value: input.specification
823
460
  }), "string" === typeof input.description || _report(_exceptionable, {
824
461
  path: _path + ".description",
825
462
  expected: "string",
826
463
  value: input.description
827
- }), "string" === typeof input.name || _report(_exceptionable, {
828
- path: _path + ".name",
829
- expected: "string",
830
- value: input.name
831
- }), "string" === typeof input.specification || _report(_exceptionable, {
832
- path: _path + ".specification",
833
- expected: "string",
834
- value: input.specification
835
464
  }), "string" === typeof input.summary || _report(_exceptionable, {
836
465
  path: _path + ".summary",
837
466
  expected: "string",
838
467
  value: input.summary
839
- }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
840
- path: _path + ".path",
841
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
842
- value: input.path
843
- })) || _report(_exceptionable, {
844
- path: _path + ".path",
845
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
846
- value: input.path
847
468
  }), (Array.isArray(input.parameters) || _report(_exceptionable, {
848
469
  path: _path + ".parameters",
849
470
  expected: "Array<AutoBeOpenApi.IParameter>",
850
471
  value: input.parameters
851
- })) && input.parameters.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
852
- path: _path + ".parameters[" + _index6 + "]",
472
+ })) && input.parameters.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
473
+ path: _path + ".parameters[" + _index4 + "]",
853
474
  expected: "AutoBeOpenApi.IParameter",
854
475
  value: elem
855
- })) && _vo2(elem, _path + ".parameters[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
856
- path: _path + ".parameters[" + _index6 + "]",
476
+ })) && _vo2(elem, _path + ".parameters[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
477
+ path: _path + ".parameters[" + _index4 + "]",
857
478
  expected: "AutoBeOpenApi.IParameter",
858
479
  value: elem
859
480
  })).every(flag => flag) || _report(_exceptionable, {
@@ -876,13 +497,45 @@ const claude = {
876
497
  path: _path + ".responseBody",
877
498
  expected: "(AutoBeOpenApi.IResponseBody | null)",
878
499
  value: input.responseBody
500
+ }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
501
+ path: _path + ".authorizationRole",
502
+ expected: "string & CamelPattern",
503
+ value: input.authorizationRole
504
+ })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
505
+ path: _path + ".authorizationRole",
506
+ expected: "string & MinLength<1>",
507
+ value: input.authorizationRole
508
+ })) || _report(_exceptionable, {
509
+ path: _path + ".authorizationRole",
510
+ expected: "((string & CamelPattern & MinLength<1>) | null)",
511
+ value: input.authorizationRole
512
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
513
+ path: _path + ".name",
514
+ expected: "string & CamelPattern",
515
+ value: input.name
516
+ })) || _report(_exceptionable, {
517
+ path: _path + ".name",
518
+ expected: "(string & CamelPattern)",
519
+ value: input.name
520
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
521
+ path: _path + ".path",
522
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
523
+ value: input.path
524
+ })) || _report(_exceptionable, {
525
+ path: _path + ".path",
526
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
527
+ value: input.path
879
528
  }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
880
529
  path: _path + ".method",
881
530
  expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
882
531
  value: input.method
883
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
532
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
884
533
  path: _path + ".name",
885
- expected: "string",
534
+ expected: "string & CamelPattern",
535
+ value: input.name
536
+ })) || _report(_exceptionable, {
537
+ path: _path + ".name",
538
+ expected: "(string & CamelPattern)",
886
539
  value: input.name
887
540
  }), "string" === typeof input.description || _report(_exceptionable, {
888
541
  path: _path + ".description",
@@ -1031,11 +684,11 @@ const claude = {
1031
684
  _report = __typia_transform__validateReport._validateReport(errors);
1032
685
  ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1033
686
  path: _path + "",
1034
- expected: "IAutoBeInterfaceOperationApplication.IProps",
687
+ expected: "IAutoBeInterfaceAuthorizationsApplication.IProps",
1035
688
  value: input
1036
689
  })) && _vo0(input, _path + "", true) || _report(true, {
1037
690
  path: _path + "",
1038
- expected: "IAutoBeInterfaceOperationApplication.IProps",
691
+ expected: "IAutoBeInterfaceAuthorizationsApplication.IProps",
1039
692
  value: input
1040
693
  }))(input, "$input", true);
1041
694
  const success = 0 === errors.length;
@@ -1068,14 +721,14 @@ const collection = {
1068
721
  {
1069
722
  name: "makeOperations",
1070
723
  parameters: {
1071
- description: " Properties containing the operations to generate.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceOperationApplication.IProps}",
724
+ description: "Current Type: {@link IAutoBeInterfaceAuthorizationsApplication.IProps}",
1072
725
  type: "object",
1073
726
  properties: {
1074
727
  operations: {
1075
- description: "Array of API operations to generate.\n\nEach operation in this array must include:\n\n- Specification: Detailed API specification with clear purpose and\n functionality\n- Path: Resource-centric URL path (e.g., \"/resources/{resourceId}\")\n- Method: HTTP method (get, post, put, delete, patch)\n- Description: Extremely detailed multi-paragraph description referencing\n Prisma schema comments\n- Summary: Concise one-sentence summary of the endpoint\n- Parameters: Array of all necessary parameters with descriptions and\n schema definitions\n- RequestBody: For POST/PUT/PATCH methods, with typeName referencing\n components.schemas\n- ResponseBody: With typeName referencing appropriate response type\n\nAll operations must follow strict quality standards:\n\n1. Detailed descriptions referencing Prisma schema comments\n2. Accurate parameter definitions matching path parameters\n3. Appropriate request/response body type references\n4. Consistent patterns for CRUD operations\n\nFor list retrievals (typically PATCH), include pagination, search, and\nsorting. For detail retrieval (GET), return a single resource. For\ncreation (POST), use .ICreate request body. For modification (PUT), use\n.IUpdate request body.",
728
+ description: "Array of API operations to generate authorization operation for.\n\nEach operation in this array must include:\n\n- Specification: Detailed API specification with clear purpose and\n functionality\n- Path: Resource-centric URL path (e.g., \"/resources/{resourceId}\")\n- Method: HTTP method (get, post, put, delete, patch)\n- Description: Extremely detailed multi-paragraph description referencing\n Prisma schema comments\n- Summary: Concise one-sentence summary of the endpoint\n- Parameters: Array of all necessary parameters with descriptions and\n schema definitions\n- RequestBody: For POST/PUT/PATCH methods, with typeName referencing\n components.schemas\n- ResponseBody: With typeName referencing appropriate response type\n\nAll operations must follow strict quality standards:\n\n1. Detailed descriptions referencing Prisma schema comments\n2. Accurate parameter definitions matching path parameters\n3. Appropriate request/response body type references\n4. Consistent patterns for CRUD operations\n\nFor list retrievals (typically PATCH), include pagination, search, and\nsorting. For detail retrieval (GET), return a single resource. For\ncreation (POST), use .ICreate request body. For modification (PUT), use\n.IUpdate request body.\n\n\n@minItems 1",
1076
729
  type: "array",
1077
730
  items: {
1078
- $ref: "#/$defs/IAutoBeInterfaceOperationApplication.IOperation"
731
+ $ref: "#/$defs/AutoBeOpenApi.IOperation"
1079
732
  }
1080
733
  }
1081
734
  },
@@ -1084,38 +737,22 @@ const collection = {
1084
737
  ],
1085
738
  additionalProperties: false,
1086
739
  $defs: {
1087
- "IAutoBeInterfaceOperationApplication.IOperation": {
740
+ "AutoBeOpenApi.IOperation": {
1088
741
  description: "Operation of the Restful API.\n\nThis interface defines a single API endpoint with its HTTP {@link method},\n{@link path}, {@link parameters path parameters},\n{@link requestBody request body}, and {@link responseBody} structure. It\ncorresponds to an individual operation in the paths section of an OpenAPI\ndocument.\n\nEach operation requires a detailed explanation of its purpose through the\nreason and description fields, making it clear why the API was designed and\nhow it should be used.\n\nAll request bodies and responses for this operation must be object types\nand must reference named types defined in the components section. The\ncontent-type is always `application/json`. For file upload/download\noperations, use `string & tags.Format<\"uri\">` in the appropriate schema\ninstead of binary data formats.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"/shoppings/customers/orders\": {\n \"post\": {\n \"description\": \"Create a new order application from shopping cart...\",\n \"parameters\": [...],\n \"requestBody\": {...},\n \"responses\": {...}\n }\n }\n}\n```",
1089
742
  type: "object",
1090
743
  properties: {
1091
- authorizationRoles: {
1092
- 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## 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- The role names MUST 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\n- `[\"user\"]` - Any authenticated user can access\n- `[\"admin\"]` - Only admin users can access\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n- `[\"seller\"]` - Only seller users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
1093
- type: "array",
1094
- items: {
1095
- description: "@minLength 1",
1096
- type: "string"
1097
- }
744
+ specification: {
745
+ 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.",
746
+ type: "string"
1098
747
  },
1099
748
  description: {
1100
749
  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> MUST be written in English. Never use other languages.",
1101
750
  type: "string"
1102
751
  },
1103
- name: {
1104
- 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## 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\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- Use lowercase, 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\nExamples:\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\"`",
1105
- type: "string"
1106
- },
1107
- specification: {
1108
- 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.",
1109
- type: "string"
1110
- },
1111
752
  summary: {
1112
753
  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> MUST be written in English. Never use other languages",
1113
754
  type: "string"
1114
755
  },
1115
- path: {
1116
- 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\\/_{}.-]*$",
1117
- type: "string"
1118
- },
1119
756
  parameters: {
1120
757
  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`",
1121
758
  type: "array",
@@ -1145,6 +782,26 @@ const collection = {
1145
782
  }
1146
783
  ]
1147
784
  },
785
+ authorizationRole: {
786
+ description: "Authorization role required to access this API operation.\n\nThis field specifies which user role is allowed to access this endpoint.\nThe role name must correspond exactly to the actual roles defined in your\nsystem's Prisma schema.\n\n## Naming Convention\n\nRole names MUST use camelCase.\n\n## Role-Based Path Convention\n\nWhen authorizationRole is specified, it should align with the path\nstructure:\n\n- If authorizationRole is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationRole is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of role\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific role string for role-restricted endpoints\n- The role name MUST match exactly with the user type/role defined in the\n database\n- This role will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this role\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
787
+ anyOf: [
788
+ {
789
+ type: "null"
790
+ },
791
+ {
792
+ type: "string",
793
+ description: "@minLength 1\n@pattern ^[a-z][a-zA-Z0-9]*$"
794
+ }
795
+ ]
796
+ },
797
+ name: {
798
+ 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]*$",
799
+ type: "string"
800
+ },
801
+ path: {
802
+ 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\\/_{}.-]*$",
803
+ type: "string"
804
+ },
1148
805
  method: {
1149
806
  description: "HTTP method of the API operation.\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",
1150
807
  type: "string",
@@ -1158,15 +815,15 @@ const collection = {
1158
815
  }
1159
816
  },
1160
817
  required: [
1161
- "authorizationRoles",
1162
- "description",
1163
- "name",
1164
818
  "specification",
819
+ "description",
1165
820
  "summary",
1166
- "path",
1167
821
  "parameters",
1168
822
  "requestBody",
1169
823
  "responseBody",
824
+ "authorizationRole",
825
+ "name",
826
+ "path",
1170
827
  "method"
1171
828
  ]
1172
829
  },
@@ -1175,7 +832,7 @@ const collection = {
1175
832
  type: "object",
1176
833
  properties: {
1177
834
  name: {
1178
- description: "Identifier name of the path parameter.\n\nThis name must match exactly with the parameter name in the route path.\nIt must be corresponded to the\n{@link AutoBeOpenApi.IOperation.path API operation path}.",
835
+ description: "Identifier name of the path parameter.\n\nThis name must match exactly with the parameter name in the route path.\nIt must be corresponded to the\n{@link AutoBeOpenApi.IOperation.path API operation path}.\n\nMUST use camelCase naming convention.\n\n\n@pattern ^[a-z][a-zA-Z0-9]*$",
1179
836
  type: "string"
1180
837
  },
1181
838
  description: {
@@ -1357,8 +1014,8 @@ const collection = {
1357
1014
  }
1358
1015
  }
1359
1016
  },
1360
- 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.",
1361
- 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 && 1 <= elem.length) && "string" === typeof input.description && "string" === typeof input.name && "string" === typeof input.specification && "string" === typeof input.summary && ("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 && "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 => (() => {
1017
+ description: "Creates an authorization Operations for the given roles\n\nThis method generates an OpenAPI interface that defines the authorization\nrequirements for the given roles. It ensures that the interface reflects\nthe correct permissions and access levels for each role.",
1018
+ validate: (() => { const _io0 = input => Array.isArray(input.operations) && (1 <= input.operations.length && 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)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _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 => (() => {
1362
1019
  if ("number" === input.type)
1363
1020
  return _io4(input);
1364
1021
  else if ("integer" === input.type)
@@ -1369,70 +1026,46 @@ const collection = {
1369
1026
  return false;
1370
1027
  })(); const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.operations) || _report(_exceptionable, {
1371
1028
  path: _path + ".operations",
1372
- expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
1029
+ expected: "(Array<AutoBeOpenApi.IOperation> & MinItems<1>)",
1373
1030
  value: input.operations
1374
- })) && input.operations.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1375
- path: _path + ".operations[" + _index4 + "]",
1376
- expected: "IAutoBeInterfaceOperationApplication.IOperation",
1377
- value: elem
1378
- })) && _vo1(elem, _path + ".operations[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
1379
- path: _path + ".operations[" + _index4 + "]",
1380
- expected: "IAutoBeInterfaceOperationApplication.IOperation",
1381
- value: elem
1382
- })).every(flag => flag) || _report(_exceptionable, {
1031
+ })) && ((1 <= input.operations.length || _report(_exceptionable, {
1383
1032
  path: _path + ".operations",
1384
- expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
1033
+ expected: "Array<> & MinItems<1>",
1385
1034
  value: input.operations
1386
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
1387
- path: _path + ".authorizationRoles",
1388
- expected: "Array<string & MinLength<1>>",
1389
- value: input.authorizationRoles
1390
- })) && input.authorizationRoles.map((elem, _index5) => "string" === typeof elem && (1 <= elem.length || _report(_exceptionable, {
1391
- path: _path + ".authorizationRoles[" + _index5 + "]",
1392
- expected: "string & MinLength<1>",
1035
+ })) && input.operations.map((elem, _index3) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1036
+ path: _path + ".operations[" + _index3 + "]",
1037
+ expected: "AutoBeOpenApi.IOperation",
1393
1038
  value: elem
1394
- })) || _report(_exceptionable, {
1395
- path: _path + ".authorizationRoles[" + _index5 + "]",
1396
- expected: "(string & MinLength<1>)",
1039
+ })) && _vo1(elem, _path + ".operations[" + _index3 + "]", true && _exceptionable) || _report(_exceptionable, {
1040
+ path: _path + ".operations[" + _index3 + "]",
1041
+ expected: "AutoBeOpenApi.IOperation",
1397
1042
  value: elem
1398
- })).every(flag => flag) || _report(_exceptionable, {
1399
- path: _path + ".authorizationRoles",
1400
- expected: "Array<string & MinLength<1>>",
1401
- value: input.authorizationRoles
1043
+ })).every(flag => flag)) || _report(_exceptionable, {
1044
+ path: _path + ".operations",
1045
+ expected: "(Array<AutoBeOpenApi.IOperation> & MinItems<1>)",
1046
+ value: input.operations
1047
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.specification || _report(_exceptionable, {
1048
+ path: _path + ".specification",
1049
+ expected: "string",
1050
+ value: input.specification
1402
1051
  }), "string" === typeof input.description || _report(_exceptionable, {
1403
1052
  path: _path + ".description",
1404
1053
  expected: "string",
1405
1054
  value: input.description
1406
- }), "string" === typeof input.name || _report(_exceptionable, {
1407
- path: _path + ".name",
1408
- expected: "string",
1409
- value: input.name
1410
- }), "string" === typeof input.specification || _report(_exceptionable, {
1411
- path: _path + ".specification",
1412
- expected: "string",
1413
- value: input.specification
1414
1055
  }), "string" === typeof input.summary || _report(_exceptionable, {
1415
1056
  path: _path + ".summary",
1416
1057
  expected: "string",
1417
1058
  value: input.summary
1418
- }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1419
- path: _path + ".path",
1420
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1421
- value: input.path
1422
- })) || _report(_exceptionable, {
1423
- path: _path + ".path",
1424
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1425
- value: input.path
1426
1059
  }), (Array.isArray(input.parameters) || _report(_exceptionable, {
1427
1060
  path: _path + ".parameters",
1428
1061
  expected: "Array<AutoBeOpenApi.IParameter>",
1429
1062
  value: input.parameters
1430
- })) && input.parameters.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1431
- path: _path + ".parameters[" + _index6 + "]",
1063
+ })) && input.parameters.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1064
+ path: _path + ".parameters[" + _index4 + "]",
1432
1065
  expected: "AutoBeOpenApi.IParameter",
1433
1066
  value: elem
1434
- })) && _vo2(elem, _path + ".parameters[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
1435
- path: _path + ".parameters[" + _index6 + "]",
1067
+ })) && _vo2(elem, _path + ".parameters[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
1068
+ path: _path + ".parameters[" + _index4 + "]",
1436
1069
  expected: "AutoBeOpenApi.IParameter",
1437
1070
  value: elem
1438
1071
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1455,13 +1088,45 @@ const collection = {
1455
1088
  path: _path + ".responseBody",
1456
1089
  expected: "(AutoBeOpenApi.IResponseBody | null)",
1457
1090
  value: input.responseBody
1091
+ }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
1092
+ path: _path + ".authorizationRole",
1093
+ expected: "string & CamelPattern",
1094
+ value: input.authorizationRole
1095
+ })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
1096
+ path: _path + ".authorizationRole",
1097
+ expected: "string & MinLength<1>",
1098
+ value: input.authorizationRole
1099
+ })) || _report(_exceptionable, {
1100
+ path: _path + ".authorizationRole",
1101
+ expected: "((string & CamelPattern & MinLength<1>) | null)",
1102
+ value: input.authorizationRole
1103
+ }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
1104
+ path: _path + ".name",
1105
+ expected: "string & CamelPattern",
1106
+ value: input.name
1107
+ })) || _report(_exceptionable, {
1108
+ path: _path + ".name",
1109
+ expected: "(string & CamelPattern)",
1110
+ value: input.name
1111
+ }), "string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1112
+ path: _path + ".path",
1113
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1114
+ value: input.path
1115
+ })) || _report(_exceptionable, {
1116
+ path: _path + ".path",
1117
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1118
+ value: input.path
1458
1119
  }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1459
1120
  path: _path + ".method",
1460
1121
  expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
1461
1122
  value: input.method
1462
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1123
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
1463
1124
  path: _path + ".name",
1464
- expected: "string",
1125
+ expected: "string & CamelPattern",
1126
+ value: input.name
1127
+ })) || _report(_exceptionable, {
1128
+ path: _path + ".name",
1129
+ expected: "(string & CamelPattern)",
1465
1130
  value: input.name
1466
1131
  }), "string" === typeof input.description || _report(_exceptionable, {
1467
1132
  path: _path + ".description",
@@ -1610,11 +1275,11 @@ const collection = {
1610
1275
  _report = __typia_transform__validateReport._validateReport(errors);
1611
1276
  ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1612
1277
  path: _path + "",
1613
- expected: "IAutoBeInterfaceOperationApplication.IProps",
1278
+ expected: "IAutoBeInterfaceAuthorizationsApplication.IProps",
1614
1279
  value: input
1615
1280
  })) && _vo0(input, _path + "", true) || _report(true, {
1616
1281
  path: _path + "",
1617
- expected: "IAutoBeInterfaceOperationApplication.IProps",
1282
+ expected: "IAutoBeInterfaceAuthorizationsApplication.IProps",
1618
1283
  value: input
1619
1284
  }))(input, "$input", true);
1620
1285
  const success = 0 === errors.length;
@@ -1640,4 +1305,4 @@ const collection = {
1640
1305
  deepseek: claude,
1641
1306
  "3.1": claude,
1642
1307
  };
1643
- //# sourceMappingURL=orchestrateInterfaceOperations.js.map
1308
+ //# sourceMappingURL=orchestrateInterfaceAuthorizations.js.map