@autobe/agent 0.28.1 → 0.29.1

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 (543) hide show
  1. package/lib/AutoBeAgent.js +5 -4
  2. package/lib/AutoBeAgent.js.map +1 -1
  3. package/lib/AutoBeMockAgent.js +1 -0
  4. package/lib/AutoBeMockAgent.js.map +1 -1
  5. package/lib/constants/AutoBeConfigConstant.d.ts +3 -1
  6. package/lib/constants/AutoBeSystemPromptConstant.d.ts +39 -26
  7. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  8. package/lib/context/AutoBeContext.d.ts +1 -1
  9. package/lib/factory/createAutoBeContext.js +13 -13
  10. package/lib/factory/createAutoBeContext.js.map +1 -1
  11. package/lib/index.mjs +43499 -23744
  12. package/lib/index.mjs.map +1 -1
  13. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +7 -2
  14. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js +11 -21
  15. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +1 -1
  16. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.d.ts +2 -2
  17. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +12 -5
  18. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
  19. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +2 -2
  20. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js +53 -50
  21. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -1
  22. package/lib/orchestrate/analyze/orchestrateAnalyze.js +2 -2
  23. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  24. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js +855 -258
  25. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
  26. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +2 -14
  27. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  28. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +2 -9
  29. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
  30. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +110 -36
  31. package/lib/orchestrate/common/AutoBePreliminaryController.d.ts +40 -0
  32. package/lib/orchestrate/common/AutoBePreliminaryController.js +97 -0
  33. package/lib/orchestrate/common/AutoBePreliminaryController.js.map +1 -0
  34. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.d.ts +8 -0
  35. package/lib/orchestrate/{realize/histories/transformRealizeCorrectCastingHistories.js → common/histories/transformCommonCorrectCastingHistory.js} +16 -13
  36. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.js.map +1 -0
  37. package/lib/orchestrate/common/histories/transformPreliminaryHistory.d.ts +4 -0
  38. package/lib/orchestrate/common/histories/transformPreliminaryHistory.js +285 -0
  39. package/lib/orchestrate/common/histories/transformPreliminaryHistory.js.map +1 -0
  40. package/lib/orchestrate/common/histories/{transformPreviousAndLatestCorrectHistories.d.ts → transformPreviousAndLatestCorrectHistory.d.ts} +1 -1
  41. package/lib/orchestrate/common/histories/{transformPreviousAndLatestCorrectHistories.js → transformPreviousAndLatestCorrectHistory.js} +4 -4
  42. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js.map +1 -0
  43. package/lib/orchestrate/common/internal/complementPreliminaryCollection.d.ts +7 -0
  44. package/lib/orchestrate/common/internal/complementPreliminaryCollection.js +99 -0
  45. package/lib/orchestrate/common/internal/complementPreliminaryCollection.js.map +1 -0
  46. package/lib/orchestrate/common/internal/createPreliminaryCollection.d.ts +3 -0
  47. package/lib/orchestrate/common/internal/createPreliminaryCollection.js +20 -0
  48. package/lib/orchestrate/common/internal/createPreliminaryCollection.js.map +1 -0
  49. package/lib/orchestrate/common/internal/validatePreliminary.d.ts +5 -0
  50. package/lib/orchestrate/common/internal/validatePreliminary.js +217 -0
  51. package/lib/orchestrate/common/internal/validatePreliminary.js.map +1 -0
  52. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +10 -22
  53. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js.map +1 -1
  54. package/lib/orchestrate/common/orchestratePreliminary.d.ts +12 -0
  55. package/lib/orchestrate/common/orchestratePreliminary.js +231 -0
  56. package/lib/orchestrate/common/orchestratePreliminary.js.map +1 -0
  57. package/lib/orchestrate/common/structures/AutoBePreliminaryRequest.d.ts +16 -0
  58. package/lib/orchestrate/{realize/structures/IAutoBeRealizeAuthorizationApplication.js → common/structures/AutoBePreliminaryRequest.js} +1 -1
  59. package/lib/orchestrate/common/structures/AutoBePreliminaryRequest.js.map +1 -0
  60. package/lib/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.d.ts +1 -4
  61. package/lib/orchestrate/common/structures/IAutoBeOrchestrateResult.d.ts +9 -0
  62. package/lib/orchestrate/{interface/structures/IAutoBeInterfacePrerequisitesApplication.js → common/structures/IAutoBeOrchestrateResult.js} +1 -1
  63. package/lib/orchestrate/common/structures/IAutoBeOrchestrateResult.js.map +1 -0
  64. package/lib/orchestrate/common/structures/IAutoBePreliminaryCollection.d.ts +8 -0
  65. package/lib/orchestrate/{interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js → common/structures/IAutoBePreliminaryCollection.js} +1 -1
  66. package/lib/orchestrate/common/structures/IAutoBePreliminaryCollection.js.map +1 -0
  67. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisFiles.d.ts +27 -0
  68. package/lib/orchestrate/{interface/structures/IAutoBeInterfaceOperationsReviewApplication.js → common/structures/IAutoBePreliminaryGetAnalysisFiles.js} +1 -1
  69. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisFiles.js.map +1 -0
  70. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.d.ts +28 -0
  71. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.js +3 -0
  72. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.js.map +1 -0
  73. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.d.ts +27 -0
  74. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.js +3 -0
  75. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.js.map +1 -0
  76. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.d.ts +27 -0
  77. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.js +3 -0
  78. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.js.map +1 -0
  79. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.d.ts +10 -0
  80. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js +70 -0
  81. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js.map +1 -0
  82. package/lib/orchestrate/interface/histories/transformInterfaceCommonHistory.d.ts +3 -0
  83. package/lib/orchestrate/interface/histories/{transformInterfaceCommonHistories.js → transformInterfaceCommonHistory.js} +4 -4
  84. package/lib/orchestrate/interface/histories/transformInterfaceCommonHistory.js.map +1 -0
  85. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistory.d.ts +9 -0
  86. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistory.js +60 -0
  87. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistory.js.map +1 -0
  88. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistory.d.ts +12 -0
  89. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistory.js +63 -0
  90. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistory.js.map +1 -0
  91. package/lib/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.d.ts +7 -0
  92. package/lib/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.js +36 -0
  93. package/lib/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.js.map +1 -0
  94. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.d.ts +6 -0
  95. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js +68 -0
  96. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js.map +1 -0
  97. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.d.ts +9 -0
  98. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js +72 -0
  99. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js.map +1 -0
  100. package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.d.ts +7 -0
  101. package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js +38 -0
  102. package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js.map +1 -0
  103. package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.d.ts +8 -0
  104. package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js +73 -0
  105. package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js.map +1 -0
  106. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistory.d.ts +11 -0
  107. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistory.js +95 -0
  108. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistory.js.map +1 -0
  109. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.d.ts +5 -0
  110. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js +54 -0
  111. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js.map +1 -0
  112. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.d.ts +12 -0
  113. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js +75 -0
  114. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js.map +1 -0
  115. package/lib/orchestrate/interface/orchestrateInterface.js +90 -46
  116. package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
  117. package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.d.ts +6 -0
  118. package/lib/orchestrate/interface/{orchestrateInterfaceAuthorizations.js → orchestrateInterfaceAuthorization.js} +1370 -226
  119. package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js.map +1 -0
  120. package/lib/orchestrate/interface/orchestrateInterfaceComplement.d.ts +4 -3
  121. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +2807 -532
  122. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
  123. package/lib/orchestrate/interface/{orchestrateInterfaceEndpoints.d.ts → orchestrateInterfaceEndpoint.d.ts} +1 -1
  124. package/lib/orchestrate/interface/orchestrateInterfaceEndpoint.js +1356 -0
  125. package/lib/orchestrate/interface/orchestrateInterfaceEndpoint.js.map +1 -0
  126. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.d.ts +4 -0
  127. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +1337 -0
  128. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js.map +1 -0
  129. package/lib/orchestrate/interface/{orchestrateInterfaceGroups.d.ts → orchestrateInterfaceGroup.d.ts} +1 -2
  130. package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +621 -0
  131. package/lib/orchestrate/interface/orchestrateInterfaceGroup.js.map +1 -0
  132. package/lib/orchestrate/interface/{orchestrateInterfaceOperations.d.ts → orchestrateInterfaceOperation.d.ts} +1 -2
  133. package/lib/orchestrate/interface/{orchestrateInterfaceOperations.js → orchestrateInterfaceOperation.js} +1275 -216
  134. package/lib/orchestrate/interface/orchestrateInterfaceOperation.js.map +1 -0
  135. package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.d.ts +4 -0
  136. package/lib/orchestrate/interface/{orchestrateInterfaceOperationsReview.js → orchestrateInterfaceOperationReview.js} +1421 -247
  137. package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js.map +1 -0
  138. package/lib/orchestrate/interface/{orchestrateInterfacePrerequisites.d.ts → orchestrateInterfacePrerequisite.d.ts} +1 -1
  139. package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +2159 -0
  140. package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js.map +1 -0
  141. package/lib/orchestrate/interface/{orchestrateInterfaceSchemas.d.ts → orchestrateInterfaceSchema.d.ts} +1 -2
  142. package/lib/orchestrate/interface/{orchestrateInterfaceSchemas.js → orchestrateInterfaceSchema.js} +2550 -546
  143. package/lib/orchestrate/interface/orchestrateInterfaceSchema.js.map +1 -0
  144. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +7 -17
  145. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js.map +1 -1
  146. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.d.ts +1 -0
  147. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +2823 -548
  148. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
  149. package/lib/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.d.ts +56 -5
  150. package/lib/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +57 -10
  151. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.d.ts +55 -10
  152. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.d.ts +96 -0
  153. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.js +3 -0
  154. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.js.map +1 -0
  155. package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +6 -82
  156. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +58 -13
  157. package/lib/orchestrate/interface/structures/{IAutoBeInterfaceOperationsReviewApplication.d.ts → IAutoBeInterfaceOperationReviewApplication.d.ts} +58 -28
  158. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.js +3 -0
  159. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.js.map +1 -0
  160. package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.d.ts +98 -0
  161. package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.js +3 -0
  162. package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.js.map +1 -0
  163. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +56 -15
  164. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.d.ts +62 -22
  165. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.d.ts +60 -21
  166. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.d.ts +61 -19
  167. package/lib/orchestrate/interface/utils/JsonSchemaFactory.js +29 -23
  168. package/lib/orchestrate/interface/utils/JsonSchemaFactory.js.map +1 -1
  169. package/lib/orchestrate/interface/utils/JsonSchemaNamingConvention.js +67 -61
  170. package/lib/orchestrate/interface/utils/JsonSchemaNamingConvention.js.map +1 -1
  171. package/lib/orchestrate/interface/utils/JsonSchemaValidator.d.ts +2 -1
  172. package/lib/orchestrate/interface/utils/JsonSchemaValidator.js +52 -25
  173. package/lib/orchestrate/interface/utils/JsonSchemaValidator.js.map +1 -1
  174. package/lib/orchestrate/interface/utils/OperationValidator.js +59 -1
  175. package/lib/orchestrate/interface/utils/OperationValidator.js.map +1 -1
  176. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.d.ts +6 -0
  177. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js +98 -0
  178. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js.map +1 -0
  179. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.d.ts +7 -0
  180. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js +31 -0
  181. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js.map +1 -0
  182. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistory.d.ts +7 -0
  183. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistory.js +38 -0
  184. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistory.js.map +1 -0
  185. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.d.ts +8 -0
  186. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js +79 -0
  187. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js.map +1 -0
  188. package/lib/orchestrate/prisma/orchestratePrisma.js +9 -6
  189. package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
  190. package/lib/orchestrate/prisma/orchestratePrismaComponent.d.ts +1 -1
  191. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +8 -14
  192. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  193. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +2863 -1543
  194. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  195. package/lib/orchestrate/prisma/orchestratePrismaReview.d.ts +1 -1
  196. package/lib/orchestrate/prisma/orchestratePrismaReview.js +2886 -1566
  197. package/lib/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
  198. package/lib/orchestrate/prisma/{orchestratePrismaSchemas.d.ts → orchestratePrismaSchema.d.ts} +1 -1
  199. package/lib/orchestrate/prisma/orchestratePrismaSchema.js +3068 -0
  200. package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +1 -0
  201. package/lib/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.d.ts +74 -76
  202. package/lib/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.d.ts +90 -72
  203. package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.d.ts +89 -66
  204. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.d.ts +9 -0
  205. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js +79 -0
  206. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js.map +1 -0
  207. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.d.ts +7 -0
  208. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js +41 -0
  209. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js.map +1 -0
  210. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.d.ts +12 -0
  211. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js +67 -0
  212. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js.map +1 -0
  213. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistory.d.ts +18 -0
  214. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistory.js +54 -0
  215. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistory.js.map +1 -0
  216. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +4 -2
  217. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js +140 -106
  218. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
  219. package/lib/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.d.ts +3 -0
  220. package/lib/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.js +23 -0
  221. package/lib/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.js.map +1 -0
  222. package/lib/orchestrate/realize/orchestrateRealize.js +4 -4
  223. package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
  224. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.d.ts +5 -1
  225. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +1288 -572
  226. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
  227. package/lib/orchestrate/realize/{orchestrateRealizeAuthorization.d.ts → orchestrateRealizeAuthorizationWrite.d.ts} +1 -1
  228. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +1410 -0
  229. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js.map +1 -0
  230. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js +664 -140
  231. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
  232. package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js +20 -65
  233. package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js.map +1 -1
  234. package/lib/orchestrate/realize/orchestrateRealizeWrite.js +660 -135
  235. package/lib/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
  236. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +79 -19
  237. package/lib/orchestrate/realize/structures/{IAutoBeRealizeAuthorizationApplication.d.ts → IAutoBeRealizeAuthorizationWriteApplication.d.ts} +60 -27
  238. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.js +3 -0
  239. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.js.map +1 -0
  240. package/lib/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.d.ts +54 -5
  241. package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.d.ts +6 -14
  242. package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +54 -6
  243. package/lib/orchestrate/realize/utils/generateRealizeScenario.d.ts +1 -3
  244. package/lib/orchestrate/realize/utils/generateRealizeScenario.js +1 -7
  245. package/lib/orchestrate/realize/utils/generateRealizeScenario.js.map +1 -1
  246. package/lib/orchestrate/test/histories/transformTestCorrectHistories.d.ts +3 -3
  247. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js +23 -20
  248. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
  249. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.d.ts +4 -0
  250. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.js +36 -0
  251. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.js.map +1 -0
  252. package/lib/orchestrate/test/histories/transformTestScenarioHistory.d.ts +11 -0
  253. package/lib/orchestrate/test/histories/transformTestScenarioHistory.js +95 -0
  254. package/lib/orchestrate/test/histories/transformTestScenarioHistory.js.map +1 -0
  255. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.d.ts +10 -0
  256. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js +67 -0
  257. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js.map +1 -0
  258. package/lib/orchestrate/test/histories/{transformTestWriteHistories.d.ts → transformTestWriteHistory.d.ts} +4 -4
  259. package/lib/orchestrate/test/histories/{transformTestWriteHistories.js → transformTestWriteHistory.js} +79 -76
  260. package/lib/orchestrate/test/histories/transformTestWriteHistory.js.map +1 -0
  261. package/lib/orchestrate/test/orchestrateTestCorrect.js +13 -26
  262. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  263. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +3 -15
  264. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -1
  265. package/lib/orchestrate/test/orchestrateTestScenario.d.ts +1 -1
  266. package/lib/orchestrate/test/orchestrateTestScenario.js +1370 -316
  267. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  268. package/lib/orchestrate/test/orchestrateTestScenarioReview.d.ts +5 -3
  269. package/lib/orchestrate/test/orchestrateTestScenarioReview.js +1067 -288
  270. package/lib/orchestrate/test/orchestrateTestScenarioReview.js.map +1 -1
  271. package/lib/orchestrate/test/orchestrateTestWrite.js +8 -15
  272. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  273. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +66 -4
  274. package/lib/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.d.ts +82 -14
  275. package/lib/structures/IAutoBeOrchestrateHistory.d.ts +5 -0
  276. package/lib/structures/IAutoBeOrchestrateHistory.js +3 -0
  277. package/lib/structures/IAutoBeOrchestrateHistory.js.map +1 -0
  278. package/lib/utils/executeCachedBatch.d.ts +5 -1
  279. package/lib/utils/executeCachedBatch.js +23 -5
  280. package/lib/utils/executeCachedBatch.js.map +1 -1
  281. package/lib/utils/validateEmptyCode.js +2 -2
  282. package/lib/utils/validateEmptyCode.js.map +1 -1
  283. package/package.json +8 -6
  284. package/src/AutoBeAgent.ts +2 -1
  285. package/src/AutoBeMockAgent.ts +1 -0
  286. package/src/constants/AutoBeConfigConstant.ts +2 -0
  287. package/src/constants/AutoBeSystemPromptConstant.ts +39 -26
  288. package/src/context/AutoBeContext.ts +1 -1
  289. package/src/factory/createAutoBeContext.ts +10 -5
  290. package/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.ts +17 -28
  291. package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.ts +12 -6
  292. package/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.ts +62 -61
  293. package/src/orchestrate/analyze/orchestrateAnalyze.ts +2 -0
  294. package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +97 -48
  295. package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +3 -16
  296. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +1 -2
  297. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +114 -36
  298. package/src/orchestrate/common/AutoBePreliminaryController.ts +161 -0
  299. package/src/orchestrate/common/histories/transformCommonCorrectCastingHistory.ts +32 -0
  300. package/src/orchestrate/common/histories/transformPreliminaryHistory.ts +383 -0
  301. package/src/orchestrate/common/histories/{transformPreviousAndLatestCorrectHistories.ts → transformPreviousAndLatestCorrectHistory.ts} +1 -1
  302. package/src/orchestrate/common/internal/complementPreliminaryCollection.ts +123 -0
  303. package/src/orchestrate/common/internal/createPreliminaryCollection.ts +32 -0
  304. package/src/orchestrate/common/internal/validatePreliminary.ts +315 -0
  305. package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +8 -15
  306. package/src/orchestrate/common/orchestratePreliminary.ts +361 -0
  307. package/src/orchestrate/common/structures/AutoBePreliminaryRequest.ts +18 -0
  308. package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +1 -4
  309. package/src/orchestrate/common/structures/IAutoBeOrchestrateResult.ts +13 -0
  310. package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +9 -0
  311. package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisFiles.ts +29 -0
  312. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +30 -0
  313. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +29 -0
  314. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.ts +29 -0
  315. package/src/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.ts +77 -0
  316. package/src/orchestrate/interface/histories/{transformInterfaceCommonHistories.ts → transformInterfaceCommonHistory.ts} +1 -1
  317. package/src/orchestrate/interface/histories/{transformInterfaceGroupHistories.ts → transformInterfaceComplementHistory.ts} +35 -21
  318. package/src/orchestrate/interface/histories/transformInterfaceEndpointHistory.ts +74 -0
  319. package/src/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.ts +40 -0
  320. package/src/orchestrate/interface/histories/transformInterfaceGroupHistory.ts +72 -0
  321. package/src/orchestrate/interface/histories/transformInterfaceOperationHistory.ts +79 -0
  322. package/src/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.ts +43 -0
  323. package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.ts +89 -0
  324. package/src/orchestrate/interface/histories/transformInterfaceSchemaHistory.ts +105 -0
  325. package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.ts +56 -0
  326. package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.ts +88 -0
  327. package/src/orchestrate/interface/orchestrateInterface.ts +115 -51
  328. package/src/orchestrate/interface/{orchestrateInterfaceAuthorizations.ts → orchestrateInterfaceAuthorization.ts} +91 -67
  329. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +174 -78
  330. package/src/orchestrate/interface/orchestrateInterfaceEndpoint.ts +207 -0
  331. package/src/orchestrate/interface/orchestrateInterfaceEndpointReview.ts +139 -0
  332. package/src/orchestrate/interface/orchestrateInterfaceGroup.ts +153 -0
  333. package/src/orchestrate/interface/{orchestrateInterfaceOperations.ts → orchestrateInterfaceOperation.ts} +109 -86
  334. package/src/orchestrate/interface/orchestrateInterfaceOperationReview.ts +186 -0
  335. package/src/orchestrate/interface/{orchestrateInterfacePrerequisites.ts → orchestrateInterfacePrerequisite.ts} +123 -58
  336. package/src/orchestrate/interface/{orchestrateInterfaceSchemas.ts → orchestrateInterfaceSchema.ts} +96 -90
  337. package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +10 -11
  338. package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +127 -60
  339. package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.ts +63 -5
  340. package/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.ts +67 -12
  341. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.ts +63 -10
  342. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +106 -0
  343. package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +6 -84
  344. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +65 -13
  345. package/src/orchestrate/interface/structures/{IAutoBeInterfaceOperationsReviewApplication.ts → IAutoBeInterfaceOperationReviewApplication.ts} +65 -30
  346. package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +111 -0
  347. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +65 -15
  348. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.ts +71 -24
  349. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.ts +68 -23
  350. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.ts +69 -21
  351. package/src/orchestrate/interface/utils/JsonSchemaFactory.ts +31 -23
  352. package/src/orchestrate/interface/utils/JsonSchemaNamingConvention.ts +73 -61
  353. package/src/orchestrate/interface/utils/JsonSchemaValidator.ts +53 -26
  354. package/src/orchestrate/interface/utils/OperationValidator.ts +69 -1
  355. package/src/orchestrate/prisma/histories/transformPrismaComponentsHistory.ts +109 -0
  356. package/src/orchestrate/prisma/histories/{transformPrismaCorrectHistories.ts → transformPrismaCorrectHistory.ts} +13 -22
  357. package/src/orchestrate/prisma/histories/transformPrismaReviewHistory.ts +42 -0
  358. package/src/orchestrate/prisma/histories/{transformPrismaSchemaHistories.ts → transformPrismaSchemaHistory.ts} +7 -8
  359. package/src/orchestrate/prisma/orchestratePrisma.ts +12 -17
  360. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +7 -15
  361. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +129 -64
  362. package/src/orchestrate/prisma/orchestratePrismaReview.ts +115 -59
  363. package/src/orchestrate/prisma/{orchestratePrismaSchemas.ts → orchestratePrismaSchema.ts} +92 -60
  364. package/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.ts +81 -76
  365. package/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.ts +97 -72
  366. package/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.ts +93 -66
  367. package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.ts +89 -0
  368. package/src/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.ts +45 -0
  369. package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.ts +85 -0
  370. package/src/orchestrate/realize/histories/transformRealizeCorrectHistory.ts +77 -0
  371. package/src/orchestrate/realize/histories/transformRealizeWriteHistories.ts +152 -121
  372. package/src/orchestrate/realize/histories/{transformRealizeWriteAuthorizationsHistories.ts → transformRealizeWriteMembershipHistory.ts} +2 -2
  373. package/src/orchestrate/realize/orchestrateRealize.ts +4 -3
  374. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +155 -97
  375. package/src/orchestrate/realize/orchestrateRealizeAuthorizationWrite.ts +241 -0
  376. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +88 -86
  377. package/src/orchestrate/realize/orchestrateRealizeCorrectCasting.ts +17 -56
  378. package/src/orchestrate/realize/orchestrateRealizeWrite.ts +82 -78
  379. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +85 -22
  380. package/src/orchestrate/realize/structures/{IAutoBeRealizeAuthorizationApplication.ts → IAutoBeRealizeAuthorizationWriteApplication.ts} +64 -29
  381. package/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.ts +58 -5
  382. package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.ts +6 -19
  383. package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +58 -6
  384. package/src/orchestrate/realize/utils/generateRealizeScenario.ts +2 -20
  385. package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +30 -30
  386. package/src/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.ts +40 -0
  387. package/src/orchestrate/test/histories/transformTestScenarioHistory.ts +116 -0
  388. package/src/orchestrate/test/histories/transformTestScenarioReviewHistory.ts +85 -0
  389. package/src/orchestrate/test/histories/transformTestWriteHistory.ts +169 -0
  390. package/src/orchestrate/test/orchestrateTestCorrect.ts +13 -19
  391. package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +5 -12
  392. package/src/orchestrate/test/orchestrateTestScenario.ts +143 -83
  393. package/src/orchestrate/test/orchestrateTestScenarioReview.ts +93 -76
  394. package/src/orchestrate/test/orchestrateTestWrite.ts +7 -7
  395. package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +74 -4
  396. package/src/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.ts +89 -14
  397. package/src/structures/IAutoBeOrchestrateHistory.ts +6 -0
  398. package/src/utils/executeCachedBatch.ts +33 -7
  399. package/src/utils/validateEmptyCode.ts +2 -2
  400. package/lib/factory/AutoBeFunctionCallingMetricFactory.d.ts +0 -7
  401. package/lib/factory/AutoBeFunctionCallingMetricFactory.js +0 -35
  402. package/lib/factory/AutoBeFunctionCallingMetricFactory.js.map +0 -1
  403. package/lib/factory/AutoBeProcessAggregateFactory.d.ts +0 -13
  404. package/lib/factory/AutoBeProcessAggregateFactory.js +0 -100
  405. package/lib/factory/AutoBeProcessAggregateFactory.js.map +0 -1
  406. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.d.ts +0 -8
  407. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js +0 -16
  408. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js.map +0 -1
  409. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistories.js.map +0 -1
  410. package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.d.ts +0 -3
  411. package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.js +0 -62
  412. package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +0 -1
  413. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.d.ts +0 -8
  414. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +0 -68
  415. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +0 -1
  416. package/lib/orchestrate/interface/histories/transformInterfaceCommonHistories.d.ts +0 -3
  417. package/lib/orchestrate/interface/histories/transformInterfaceCommonHistories.js.map +0 -1
  418. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.d.ts +0 -9
  419. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js +0 -74
  420. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +0 -1
  421. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.d.ts +0 -10
  422. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +0 -61
  423. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +0 -1
  424. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +0 -4
  425. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +0 -34
  426. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +0 -1
  427. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.d.ts +0 -6
  428. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js +0 -52
  429. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +0 -1
  430. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.d.ts +0 -8
  431. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js +0 -71
  432. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +0 -1
  433. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.d.ts +0 -5
  434. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +0 -36
  435. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +0 -1
  436. package/lib/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.d.ts +0 -3
  437. package/lib/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.js +0 -102
  438. package/lib/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.js.map +0 -1
  439. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.d.ts +0 -9
  440. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +0 -74
  441. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +0 -1
  442. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.d.ts +0 -5
  443. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.js +0 -51
  444. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.js.map +0 -1
  445. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.d.ts +0 -11
  446. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.js +0 -81
  447. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.js.map +0 -1
  448. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +0 -4
  449. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +0 -1
  450. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +0 -508
  451. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +0 -1
  452. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +0 -4
  453. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +0 -488
  454. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +0 -1
  455. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +0 -458
  456. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +0 -1
  457. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +0 -1
  458. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +0 -4
  459. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +0 -1
  460. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js +0 -917
  461. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js.map +0 -1
  462. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +0 -1
  463. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +0 -60
  464. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js.map +0 -1
  465. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js.map +0 -1
  466. package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisitesApplication.d.ts +0 -52
  467. package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisitesApplication.js.map +0 -1
  468. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.d.ts +0 -6
  469. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js +0 -95
  470. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +0 -1
  471. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.d.ts +0 -3
  472. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.js +0 -41
  473. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +0 -1
  474. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.d.ts +0 -8
  475. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.js +0 -62
  476. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +0 -1
  477. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.d.ts +0 -8
  478. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +0 -78
  479. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +0 -1
  480. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +0 -1678
  481. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +0 -1
  482. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.d.ts +0 -5
  483. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.js +0 -44
  484. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.js.map +0 -1
  485. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.d.ts +0 -5
  486. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js +0 -82
  487. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +0 -1
  488. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.d.ts +0 -5
  489. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.js.map +0 -1
  490. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +0 -13
  491. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js +0 -29
  492. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +0 -1
  493. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +0 -3
  494. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js +0 -23
  495. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +0 -1
  496. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +0 -710
  497. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +0 -1
  498. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.js.map +0 -1
  499. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.d.ts +0 -4
  500. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js +0 -33
  501. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js.map +0 -1
  502. package/lib/orchestrate/test/histories/transformTestScenarioHistories.d.ts +0 -10
  503. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js +0 -101
  504. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js.map +0 -1
  505. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.d.ts +0 -8
  506. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.js +0 -72
  507. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.js.map +0 -1
  508. package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +0 -1
  509. package/lib/utils/TokenUsageComputer.d.ts +0 -5
  510. package/lib/utils/TokenUsageComputer.js +0 -29
  511. package/lib/utils/TokenUsageComputer.js.map +0 -1
  512. package/src/factory/AutoBeFunctionCallingMetricFactory.ts +0 -44
  513. package/src/factory/AutoBeProcessAggregateFactory.ts +0 -141
  514. package/src/orchestrate/common/histories/transformCommonCorrectCastingHistories.ts +0 -25
  515. package/src/orchestrate/interface/histories/transformInterfaceAssetHistories.ts +0 -72
  516. package/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.ts +0 -75
  517. package/src/orchestrate/interface/histories/transformInterfaceComplementHistories.ts +0 -82
  518. package/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.ts +0 -72
  519. package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +0 -40
  520. package/src/orchestrate/interface/histories/transformInterfaceOperationHistories.ts +0 -78
  521. package/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.ts +0 -44
  522. package/src/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.ts +0 -118
  523. package/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.ts +0 -80
  524. package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.ts +0 -55
  525. package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.ts +0 -90
  526. package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +0 -152
  527. package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +0 -98
  528. package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +0 -91
  529. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +0 -157
  530. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.ts +0 -65
  531. package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisitesApplication.ts +0 -58
  532. package/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.ts +0 -104
  533. package/src/orchestrate/prisma/histories/transformPrismaReviewHistories.ts +0 -69
  534. package/src/orchestrate/realize/histories/transformRealizeAuthorization.ts +0 -52
  535. package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.ts +0 -95
  536. package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.ts +0 -30
  537. package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +0 -46
  538. package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +0 -185
  539. package/src/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.ts +0 -39
  540. package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +0 -125
  541. package/src/orchestrate/test/histories/transformTestScenarioReviewHistories.ts +0 -89
  542. package/src/orchestrate/test/histories/transformTestWriteHistories.ts +0 -172
  543. package/src/utils/TokenUsageComputer.ts +0 -35
@@ -45,7 +45,7 @@ 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.orchestrateTestScenario = orchestrateTestScenario;
48
+ exports.orchestrateTestScenario = void 0;
49
49
  const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
50
50
  const __typia_transform__llmApplicationFinalize = __importStar(require("typia/lib/internal/_llmApplicationFinalize.js"));
51
51
  const utils_1 = require("@autobe/utils");
@@ -56,99 +56,372 @@ const uuid_1 = require("uuid");
56
56
  const assertSchemaModel_1 = require("../../context/assertSchemaModel");
57
57
  const divideArray_1 = require("../../utils/divideArray");
58
58
  const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
59
- const transformTestScenarioHistories_1 = require("./histories/transformTestScenarioHistories");
59
+ const AutoBePreliminaryController_1 = require("../common/AutoBePreliminaryController");
60
+ const transformTestScenarioHistory_1 = require("./histories/transformTestScenarioHistory");
60
61
  const orchestrateTestScenarioReview_1 = require("./orchestrateTestScenarioReview");
61
- function orchestrateTestScenario(ctx_1, instruction_1) {
62
- return __awaiter(this, arguments, void 0, function* (ctx, instruction, capacity = 2 /* AutoBeConfigConstant.INTERFACE_CAPACITY */) {
63
- var _a;
64
- const document = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.document;
65
- if (document === undefined) {
66
- throw new Error("Cannot write test scenarios because these are no operations.");
67
- }
68
- const dict = new tstl_1.HashMap(document.operations.map((op) => new tstl_1.Pair({
69
- path: op.path,
70
- method: op.method,
71
- }, op)), utils_1.AutoBeOpenApiEndpointComparator.hashCode, utils_1.AutoBeOpenApiEndpointComparator.equals);
72
- const endpointNotFound = [
73
- `You have to select one of the endpoints below`,
74
- "",
75
- " method | path ",
76
- "--------|------",
77
- ...document.operations
78
- .map((op) => `\`${op.method}\` | \`${op.path}\``)
79
- .join("\n"),
80
- ].join("\n");
81
- const progress = {
82
- total: document.operations.length,
83
- completed: 0,
84
- };
85
- const reviewProgress = {
86
- total: document.operations.length,
87
- completed: 0,
88
- };
89
- const exclude = [];
90
- let include = [...document.operations];
91
- let trial = 0;
92
- do {
93
- const matrix = (0, divideArray_1.divideArray)({
94
- array: include,
95
- capacity: capacity !== null && capacity !== void 0 ? capacity : 2 /* AutoBeConfigConstant.INTERFACE_CAPACITY */,
96
- });
97
- yield (0, executeCachedBatch_1.executeCachedBatch)(matrix.map((include) => (promptCacheKey) => __awaiter(this, void 0, void 0, function* () {
98
- exclude.push(...(yield divideAndConquer(ctx, {
99
- dict,
100
- endpointNotFound,
101
- document,
102
- include,
103
- exclude: exclude.map((x) => x.endpoint),
104
- progress,
105
- reviewProgress,
106
- promptCacheKey,
107
- instruction,
108
- })));
62
+ const getPrerequisites_1 = require("./utils/getPrerequisites");
63
+ const orchestrateTestScenario = (ctx, instruction) => __awaiter(void 0, void 0, void 0, function* () {
64
+ var _a;
65
+ const document = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.document;
66
+ if (document === undefined) {
67
+ throw new Error("Cannot write test scenarios because these are no operations.");
68
+ }
69
+ const dict = new tstl_1.HashMap(document.operations.map((op) => new tstl_1.Pair({
70
+ path: op.path,
71
+ method: op.method,
72
+ }, op)), utils_1.AutoBeOpenApiEndpointComparator.hashCode, utils_1.AutoBeOpenApiEndpointComparator.equals);
73
+ const endpointNotFound = [
74
+ `You have to select one of the endpoints below`,
75
+ "",
76
+ " method | path ",
77
+ "--------|------",
78
+ ...document.operations
79
+ .map((op) => `\`${op.method}\` | \`${op.path}\``)
80
+ .join("\n"),
81
+ ].join("\n");
82
+ const progress = {
83
+ total: document.operations.length,
84
+ completed: 0,
85
+ };
86
+ const reviewProgress = {
87
+ total: document.operations.length,
88
+ completed: 0,
89
+ };
90
+ const exclude = [];
91
+ let include = [...document.operations];
92
+ let trial = 0;
93
+ do {
94
+ const matrix = (0, divideArray_1.divideArray)({
95
+ array: include,
96
+ capacity: 2 /* AutoBeConfigConstant.INTERFACE_CAPACITY */,
97
+ });
98
+ yield (0, executeCachedBatch_1.executeCachedBatch)(ctx, matrix.map((include) => (promptCacheKey) => __awaiter(void 0, void 0, void 0, function* () {
99
+ exclude.push(...(yield divideAndConquer(ctx, {
100
+ dict,
101
+ endpointNotFound,
102
+ include,
103
+ exclude: exclude.map((x) => x.endpoint),
104
+ progress,
105
+ reviewProgress,
106
+ promptCacheKey,
107
+ instruction,
109
108
  })));
110
- include = include.filter((op) => {
111
- if (exclude.some((pg) => pg.endpoint.method === op.method && pg.endpoint.path === op.path)) {
112
- return false;
113
- }
114
- return true;
115
- });
116
- progress.total = include.length + exclude.length;
117
- reviewProgress.total = include.length + exclude.length;
118
- } while (include.length > 0 && ++trial < ctx.retry);
119
- return exclude.flatMap((pg) => {
120
- return pg.scenarios.map((plan) => {
121
- return {
122
- endpoint: pg.endpoint,
123
- draft: plan.draft,
124
- functionName: plan.functionName,
125
- dependencies: plan.dependencies,
126
- };
127
- });
109
+ })));
110
+ include = include.filter((op) => {
111
+ if (exclude.some((pg) => pg.endpoint.method === op.method && pg.endpoint.path === op.path)) {
112
+ return false;
113
+ }
114
+ return true;
115
+ });
116
+ progress.total = include.length + exclude.length;
117
+ reviewProgress.total = include.length + exclude.length;
118
+ } while (include.length > 0 && ++trial < ctx.retry);
119
+ return exclude.flatMap((pg) => {
120
+ return pg.scenarios.map((plan) => {
121
+ return {
122
+ endpoint: pg.endpoint,
123
+ draft: plan.draft,
124
+ functionName: plan.functionName,
125
+ dependencies: plan.dependencies,
126
+ };
128
127
  });
129
128
  });
130
- }
129
+ });
130
+ exports.orchestrateTestScenario = orchestrateTestScenario;
131
131
  const divideAndConquer = (ctx, props) => __awaiter(void 0, void 0, void 0, function* () {
132
- var _a, _b, _c, _d;
133
- const pointer = {
134
- value: [],
135
- };
136
- const authorizations = (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.authorizations) !== null && _b !== void 0 ? _b : [];
137
132
  try {
138
- const { metric, tokenUsage } = yield ctx.conversate({
139
- source: "testScenario",
140
- histories: (0, transformTestScenarioHistories_1.transformTestScenarioHistories)({
141
- state: ctx.state(),
142
- document: props.document,
143
- include: props.include,
144
- exclude: props.exclude,
145
- instruction: props.instruction,
146
- }),
147
- controller: createController({
133
+ return yield process(ctx, props);
134
+ }
135
+ catch (_a) {
136
+ return [];
137
+ }
138
+ });
139
+ const process = (ctx, props) => __awaiter(void 0, void 0, void 0, function* () {
140
+ var _a, _b;
141
+ const authorizations = (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.authorizations) !== null && _b !== void 0 ? _b : [];
142
+ const document = ctx.state().interface.document;
143
+ const preliminary = new AutoBePreliminaryController_1.AutoBePreliminaryController({
144
+ application: {
145
+ version: "3.1",
146
+ components: {
147
+ schemas: {
148
+ "IAutoBeTestScenarioApplication.IProps": {
149
+ type: "object",
150
+ properties: {
151
+ thinking: {
152
+ type: "string",
153
+ description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion."
154
+ },
155
+ request: {
156
+ oneOf: [
157
+ {
158
+ $ref: "#/components/schemas/IAutoBePreliminaryGetAnalysisFiles"
159
+ },
160
+ {
161
+ $ref: "#/components/schemas/IAutoBePreliminaryGetInterfaceOperations"
162
+ },
163
+ {
164
+ $ref: "#/components/schemas/IAutoBePreliminaryGetInterfaceSchemas"
165
+ },
166
+ {
167
+ $ref: "#/components/schemas/IAutoBeTestScenarioApplication.IComplete"
168
+ }
169
+ ],
170
+ discriminator: {
171
+ propertyName: "type",
172
+ mapping: {
173
+ getAnalysisFiles: "#/components/schemas/IAutoBePreliminaryGetAnalysisFiles",
174
+ getInterfaceOperations: "#/components/schemas/IAutoBePreliminaryGetInterfaceOperations",
175
+ getInterfaceSchemas: "#/components/schemas/IAutoBePreliminaryGetInterfaceSchemas",
176
+ complete: "#/components/schemas/IAutoBeTestScenarioApplication.IComplete"
177
+ }
178
+ },
179
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getInterfaceOperations, getInterfaceSchemas) or\nfinal test scenario generation (complete). When preliminary returns\nempty array, that type is removed from the union, physically\npreventing repeated calls."
180
+ }
181
+ },
182
+ required: [
183
+ "thinking",
184
+ "request"
185
+ ]
186
+ },
187
+ IAutoBePreliminaryGetAnalysisFiles: {
188
+ type: "object",
189
+ properties: {
190
+ type: {
191
+ "const": "getAnalysisFiles",
192
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files."
193
+ },
194
+ fileNames: {
195
+ type: "array",
196
+ items: {
197
+ type: "string"
198
+ },
199
+ minItems: 1,
200
+ description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls."
201
+ }
202
+ },
203
+ required: [
204
+ "type",
205
+ "fileNames"
206
+ ],
207
+ description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context."
208
+ },
209
+ IAutoBePreliminaryGetInterfaceOperations: {
210
+ type: "object",
211
+ properties: {
212
+ type: {
213
+ "const": "getInterfaceOperations",
214
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceOperations\" indicates this is a\npreliminary data request for interface operations."
215
+ },
216
+ endpoints: {
217
+ type: "array",
218
+ items: {
219
+ $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
220
+ },
221
+ minItems: 1,
222
+ description: "List of existing API operation endpoints to retrieve.\n\nOperations that have been generated in previous phases, containing paths,\nmethods, parameters, and request/response bodies.\n\nCRITICAL: DO NOT request the same endpoints that you have already requested\nin previous calls."
223
+ }
224
+ },
225
+ required: [
226
+ "type",
227
+ "endpoints"
228
+ ],
229
+ description: "Request to retrieve existing interface operations for context.\n\nThis type is used in the preliminary phase to request already-generated API\noperations for review, validation, or complementary generation tasks."
230
+ },
231
+ "AutoBeOpenApi.IEndpoint": {
232
+ type: "object",
233
+ properties: {
234
+ path: {
235
+ type: "string",
236
+ pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$",
237
+ 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)"
238
+ },
239
+ method: {
240
+ oneOf: [
241
+ {
242
+ "const": "get"
243
+ },
244
+ {
245
+ "const": "post"
246
+ },
247
+ {
248
+ "const": "put"
249
+ },
250
+ {
251
+ "const": "delete"
252
+ },
253
+ {
254
+ "const": "patch"
255
+ }
256
+ ],
257
+ description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\",\nnot \"GET\").\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record"
258
+ }
259
+ },
260
+ required: [
261
+ "path",
262
+ "method"
263
+ ],
264
+ description: "API endpoint information."
265
+ },
266
+ IAutoBePreliminaryGetInterfaceSchemas: {
267
+ type: "object",
268
+ properties: {
269
+ type: {
270
+ "const": "getInterfaceSchemas",
271
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceSchemas\" indicates this is a preliminary\ndata request for interface schemas."
272
+ },
273
+ typeNames: {
274
+ type: "array",
275
+ items: {
276
+ type: "string"
277
+ },
278
+ minItems: 1,
279
+ description: "List of schema type names to retrieve.\n\nSchema names from the OpenAPI components.schemas section (e.g., \"IUser\",\n\"IUser.ICreate\", \"IPost.IUpdate\").\n\nCRITICAL: DO NOT request the same type names that you have already\nrequested in previous calls."
280
+ }
281
+ },
282
+ required: [
283
+ "type",
284
+ "typeNames"
285
+ ],
286
+ description: "Request to retrieve OpenAPI schema type definitions for context.\n\nThis type is used in the preliminary phase to request specific schema\ndefinitions from components.schemas for review or complementary generation."
287
+ },
288
+ "IAutoBeTestScenarioApplication.IComplete": {
289
+ type: "object",
290
+ properties: {
291
+ type: {
292
+ "const": "complete",
293
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request."
294
+ },
295
+ scenarioGroups: {
296
+ type: "array",
297
+ items: {
298
+ $ref: "#/components/schemas/IAutoBeTestScenarioApplication.IScenarioGroup"
299
+ },
300
+ description: "Collection of test scenario groups organized by endpoint.\n\nEach group contains multiple test scenarios for a single endpoint,\ncovering various user scenarios, edge cases, and business rule\nvalidations. Dependencies on other endpoints are explicitly captured to\nensure implementable tests."
301
+ }
302
+ },
303
+ required: [
304
+ "type",
305
+ "scenarioGroups"
306
+ ],
307
+ description: "Request to generate test scenarios for API endpoints.\n\nExecutes test scenario generation to create comprehensive, implementable\ntest scenarios covering all endpoint behaviors, edge cases, and business\nlogic validations."
308
+ },
309
+ "IAutoBeTestScenarioApplication.IScenarioGroup": {
310
+ type: "object",
311
+ properties: {
312
+ endpoint: {
313
+ $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint",
314
+ description: "Target API endpoint to test.\n\nThis must be **unique** across all scenario groups. An endpoint is\nidentified by its `path` and `method` combination.\n\nMultiple test scenarios may exist for a single endpoint."
315
+ },
316
+ scenarios: {
317
+ type: "array",
318
+ items: {
319
+ $ref: "#/components/schemas/IAutoBeTestScenarioApplication.IScenario"
320
+ },
321
+ minItems: 1,
322
+ description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields."
323
+ }
324
+ },
325
+ required: [
326
+ "endpoint",
327
+ "scenarios"
328
+ ]
329
+ },
330
+ "IAutoBeTestScenarioApplication.IScenario": {
331
+ type: "object",
332
+ properties: {
333
+ draft: {
334
+ type: "string",
335
+ description: "A detailed natural language description of how this API endpoint should\nbe tested. This should include both successful and failure scenarios,\nbusiness rule validations, edge cases, and any sequence of steps\nnecessary to perform the test. A subsequent agent will use this draft to\ngenerate multiple concrete test cases."
336
+ },
337
+ functionName: {
338
+ type: "string",
339
+ description: "Descriptive function name derived from the user scenario.\n\nThe function name serves as a concise, technical identifier that clearly\nrepresents the specific user scenario being described. It should be\nimmediately understandable and directly correspond to the user situation\nwithout requiring additional context.\n\n## Naming Convention\n\nDO: Use snake_case naming convention.\n\n- Must start with `test_api_` prefix (mandatory requirement)\n- ALWAYS start with business feature, NOT action verbs\n- Business feature comes first, followed by scenario context\n- Embed action verbs within the scenario description, not at the beginning\n\n## Content Structure\n\nFunction names should follow this pattern:\n`test_api_[core_feature]_[specific_scenario]`\n\nWhere:\n\n- `core_feature`: The main business feature or entity being tested\n (customer, seller, cart, push_message, etc.)\n- `specific_scenario`: The specific operation or scenario context\n (join_verification_not_found, login_success,\n moderator_assignment_update, discountable_ticket_duplicated,\n csv_export, etc.)\n\n## Business Feature-Based Examples\n\n- `test_api_customer_join_verification_not_found` - Customer join\n verification when verification code not found\n- `test_api_seller_login` - Seller login operation\n- `test_api_cart_discountable_ticket_duplicated` - Cart discountable ticket\n with duplication scenario\n- `test_api_push_message_csv` - Push message functionality with CSV format\n- `test_api_product_review_update` - Product review update operation\n\n## Clarity Guidelines\n\n- Prioritize clarity over brevity\n- Avoid technical jargon or implementation terms\n- Use terminology that reflects user perspective\n- Ensure the name alone conveys the user's intent\n- Make it understandable to non-technical stakeholders\n- Keep consistent with user scenario description\n\n## Single Endpoint Alignment\n\nFunction names must reflect scenarios that:\n\n- Accomplish user goals through this single endpoint only\n- Don't imply dependency on other API operations\n- Represent complete user interactions"
340
+ },
341
+ dependencies: {
342
+ type: "array",
343
+ items: {
344
+ $ref: "#/components/schemas/IAutoBeTestScenarioApplication.IDependencies"
345
+ },
346
+ description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose`.\n\nWARNING: Every endpoint referenced here MUST exist in the provided API\noperations. Do NOT reference endpoints that are not explicitly available,\neven if they seem logically necessary based on database schema or\nbusiness logic."
347
+ }
348
+ },
349
+ required: [
350
+ "draft",
351
+ "functionName",
352
+ "dependencies"
353
+ ],
354
+ description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only."
355
+ },
356
+ "IAutoBeTestScenarioApplication.IDependencies": {
357
+ type: "object",
358
+ properties: {
359
+ endpoint: {
360
+ $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint",
361
+ description: "Target API endpoint that this scenario depends on.\n\nThis endpoint MUST exist in the available API operations list.\nNon-existent endpoints will cause test implementation failures."
362
+ },
363
+ purpose: {
364
+ type: "string",
365
+ description: "A concise explanation of why this API call is relevant or required for\nthe main test scenario.\n\nThis should describe the contextual or setup role of the dependency, such\nas creating necessary data or establishing user authentication.\n\nExample: \"Creates a category so that a product can be linked to it during\ncreation.\""
366
+ }
367
+ },
368
+ required: [
369
+ "endpoint",
370
+ "purpose"
371
+ ]
372
+ }
373
+ }
374
+ },
375
+ functions: [
376
+ {
377
+ name: "process",
378
+ async: false,
379
+ parameters: [
380
+ {
381
+ name: "props",
382
+ description: " Request containing either preliminary data request or complete\ntask",
383
+ required: true,
384
+ schema: {
385
+ $ref: "#/components/schemas/IAutoBeTestScenarioApplication.IProps"
386
+ }
387
+ }
388
+ ],
389
+ description: "Process test scenario generation task or preliminary data requests.\n\nCreates comprehensive test scenarios for API endpoints by retrieving\nnecessary interface operations via RAG (Retrieval-Augmented Generation) and\ngenerating detailed test drafts with dependencies."
390
+ }
391
+ ]
392
+ },
393
+ source: SOURCE,
394
+ kinds: ["analysisFiles", "interfaceOperations", "interfaceSchemas"],
395
+ state: ctx.state(),
396
+ local: {
397
+ interfaceOperations: (() => {
398
+ const unique = new tstl_1.HashSet(utils_1.AutoBeOpenApiEndpointComparator.hashCode, utils_1.AutoBeOpenApiEndpointComparator.equals);
399
+ for (const op of props.include) {
400
+ unique.insert({ method: op.method, path: op.path });
401
+ for (const pr of (0, getPrerequisites_1.getPrerequisites)({
402
+ document,
403
+ endpoint: op,
404
+ }))
405
+ unique.insert(pr.endpoint);
406
+ }
407
+ return unique
408
+ .toJSON()
409
+ .map((endpoint) => document.operations.find((op) => op.method === endpoint.method && op.path === endpoint.path))
410
+ .filter((op) => op !== undefined);
411
+ })(),
412
+ },
413
+ });
414
+ return yield preliminary.orchestrate(ctx, (out) => __awaiter(void 0, void 0, void 0, function* () {
415
+ var _a, _b;
416
+ const pointer = {
417
+ value: [],
418
+ };
419
+ const result = yield ctx.conversate(Object.assign({ source: SOURCE, controller: createController({
148
420
  model: ctx.model,
149
421
  endpointNotFound: props.endpointNotFound,
150
422
  dict: props.dict,
151
423
  authorizations,
424
+ preliminary,
152
425
  build: (next) => {
153
426
  var _a;
154
427
  next.scenarioGroups.forEach((sg) => sg.scenarios.forEach((s) => {
@@ -157,66 +430,172 @@ const divideAndConquer = (ctx, props) => __awaiter(void 0, void 0, void 0, funct
157
430
  (_a = pointer.value) !== null && _a !== void 0 ? _a : (pointer.value = []);
158
431
  pointer.value.push(...next.scenarioGroups);
159
432
  },
160
- }),
161
- enforceFunctionCall: true,
162
- promptCacheKey: props.promptCacheKey,
163
- message: `Create e2e test scenarios.`,
164
- });
165
- if (pointer.value.length === 0)
166
- return [];
167
- props.progress.total = Math.max(props.progress.total, (props.progress.completed += pointer.value.length));
168
- ctx.dispatch({
169
- type: "testScenario",
170
- id: (0, uuid_1.v7)(),
171
- metric,
172
- tokenUsage,
173
- scenarios: pointer.value
174
- .map((v) => v.scenarios.map((s) => ({
175
- endpoint: v.endpoint,
176
- draft: s.draft,
177
- functionName: s.functionName,
178
- dependencies: s.dependencies,
179
- })))
180
- .flat(),
181
- completed: props.progress.completed,
182
- total: props.progress.total,
183
- step: (_d = (_c = ctx.state().interface) === null || _c === void 0 ? void 0 : _c.step) !== null && _d !== void 0 ? _d : 0,
184
- created_at: new Date().toISOString(),
185
- });
186
- return yield (0, orchestrateTestScenarioReview_1.orchestrateTestScenarioReview)(ctx, {
433
+ }), enforceFunctionCall: true, promptCacheKey: props.promptCacheKey }, (0, transformTestScenarioHistory_1.transformTestScenarioHistory)({
434
+ state: ctx.state(),
435
+ include: props.include,
436
+ exclude: props.exclude,
187
437
  instruction: props.instruction,
188
- groups: pointer.value,
189
- progress: props.reviewProgress,
190
- });
191
- }
192
- catch (_e) {
193
- return [];
194
- }
438
+ preliminary,
439
+ })));
440
+ if (pointer.value !== null) {
441
+ if (pointer.value.length === 0)
442
+ return out(result)([]);
443
+ props.progress.total = Math.max(props.progress.total, (props.progress.completed += pointer.value.length));
444
+ ctx.dispatch({
445
+ type: SOURCE,
446
+ id: (0, uuid_1.v7)(),
447
+ metric: result.metric,
448
+ tokenUsage: result.tokenUsage,
449
+ scenarios: pointer.value
450
+ .map((v) => v.scenarios.map((s) => ({
451
+ endpoint: v.endpoint,
452
+ draft: s.draft,
453
+ functionName: s.functionName,
454
+ dependencies: s.dependencies,
455
+ })))
456
+ .flat(),
457
+ completed: props.progress.completed,
458
+ total: props.progress.total,
459
+ step: (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0,
460
+ created_at: new Date().toISOString(),
461
+ });
462
+ return out(result)(yield (0, orchestrateTestScenarioReview_1.orchestrateTestScenarioReview)(ctx, {
463
+ preliminary,
464
+ instruction: props.instruction,
465
+ groups: pointer.value,
466
+ progress: props.reviewProgress,
467
+ }));
468
+ }
469
+ return out(result)(null);
470
+ }));
195
471
  });
196
- function createController(props) {
472
+ const createController = (props) => {
197
473
  (0, assertSchemaModel_1.assertSchemaModel)(props.model);
198
474
  const validate = (next) => {
199
- const result = (() => { const _io0 = input => Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io2 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && "string" === typeof input.purpose; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
475
+ const result = (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io3 = input => "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 _io4 = input => "getInterfaceSchemas" === input.type && (Array.isArray(input.typeNames) && (1 <= input.typeNames.length && input.typeNames.every(elem => "string" === typeof elem))); const _io5 = input => "complete" === input.type && (Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io6(elem))); const _io6 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io7(elem)))); const _io7 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io8 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && "string" === typeof input.purpose; const _iu0 = input => (() => {
476
+ if ("getAnalysisFiles" === input.type)
477
+ return _io1(input);
478
+ else if ("getInterfaceOperations" === input.type)
479
+ return _io2(input);
480
+ else if ("getInterfaceSchemas" === input.type)
481
+ return _io4(input);
482
+ else if ("complete" === input.type)
483
+ return _io5(input);
484
+ else
485
+ return false;
486
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
487
+ path: _path + ".thinking",
488
+ expected: "string",
489
+ value: input.thinking
490
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
491
+ path: _path + ".request",
492
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
493
+ value: input.request
494
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
495
+ path: _path + ".request",
496
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
497
+ value: input.request
498
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
499
+ path: _path + ".type",
500
+ expected: "\"getAnalysisFiles\"",
501
+ value: input.type
502
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
503
+ path: _path + ".fileNames",
504
+ expected: "(Array<string> & MinItems<1>)",
505
+ value: input.fileNames
506
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
507
+ path: _path + ".fileNames",
508
+ expected: "Array<> & MinItems<1>",
509
+ value: input.fileNames
510
+ })) && input.fileNames.map((elem, _index7) => "string" === typeof elem || _report(_exceptionable, {
511
+ path: _path + ".fileNames[" + _index7 + "]",
512
+ expected: "string",
513
+ value: elem
514
+ })).every(flag => flag)) || _report(_exceptionable, {
515
+ path: _path + ".fileNames",
516
+ expected: "(Array<string> & MinItems<1>)",
517
+ value: input.fileNames
518
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getInterfaceOperations" === input.type || _report(_exceptionable, {
519
+ path: _path + ".type",
520
+ expected: "\"getInterfaceOperations\"",
521
+ value: input.type
522
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
523
+ path: _path + ".endpoints",
524
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
525
+ value: input.endpoints
526
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
527
+ path: _path + ".endpoints",
528
+ expected: "Array<> & MinItems<1>",
529
+ value: input.endpoints
530
+ })) && input.endpoints.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
531
+ path: _path + ".endpoints[" + _index8 + "]",
532
+ expected: "AutoBeOpenApi.IEndpoint",
533
+ value: elem
534
+ })) && _vo3(elem, _path + ".endpoints[" + _index8 + "]", true && _exceptionable) || _report(_exceptionable, {
535
+ path: _path + ".endpoints[" + _index8 + "]",
536
+ expected: "AutoBeOpenApi.IEndpoint",
537
+ value: elem
538
+ })).every(flag => flag)) || _report(_exceptionable, {
539
+ path: _path + ".endpoints",
540
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
541
+ value: input.endpoints
542
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
543
+ path: _path + ".path",
544
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
545
+ value: input.path
546
+ })) || _report(_exceptionable, {
547
+ path: _path + ".path",
548
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
549
+ value: input.path
550
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
551
+ path: _path + ".method",
552
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
553
+ value: input.method
554
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["getInterfaceSchemas" === input.type || _report(_exceptionable, {
555
+ path: _path + ".type",
556
+ expected: "\"getInterfaceSchemas\"",
557
+ value: input.type
558
+ }), (Array.isArray(input.typeNames) || _report(_exceptionable, {
559
+ path: _path + ".typeNames",
560
+ expected: "(Array<string> & MinItems<1>)",
561
+ value: input.typeNames
562
+ })) && ((1 <= input.typeNames.length || _report(_exceptionable, {
563
+ path: _path + ".typeNames",
564
+ expected: "Array<> & MinItems<1>",
565
+ value: input.typeNames
566
+ })) && input.typeNames.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
567
+ path: _path + ".typeNames[" + _index9 + "]",
568
+ expected: "string",
569
+ value: elem
570
+ })).every(flag => flag)) || _report(_exceptionable, {
571
+ path: _path + ".typeNames",
572
+ expected: "(Array<string> & MinItems<1>)",
573
+ value: input.typeNames
574
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
575
+ path: _path + ".type",
576
+ expected: "\"complete\"",
577
+ value: input.type
578
+ }), (Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
200
579
  path: _path + ".scenarioGroups",
201
580
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
202
581
  value: input.scenarioGroups
203
- })) && input.scenarioGroups.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
204
- path: _path + ".scenarioGroups[" + _index4 + "]",
582
+ })) && input.scenarioGroups.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
583
+ path: _path + ".scenarioGroups[" + _index10 + "]",
205
584
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
206
585
  value: elem
207
- })) && _vo1(elem, _path + ".scenarioGroups[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
208
- path: _path + ".scenarioGroups[" + _index4 + "]",
586
+ })) && _vo6(elem, _path + ".scenarioGroups[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
587
+ path: _path + ".scenarioGroups[" + _index10 + "]",
209
588
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
210
589
  value: elem
211
590
  })).every(flag => flag) || _report(_exceptionable, {
212
591
  path: _path + ".scenarioGroups",
213
592
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
214
593
  value: input.scenarioGroups
215
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
594
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
216
595
  path: _path + ".endpoint",
217
596
  expected: "AutoBeOpenApi.IEndpoint",
218
597
  value: input.endpoint
219
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
598
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
220
599
  path: _path + ".endpoint",
221
600
  expected: "AutoBeOpenApi.IEndpoint",
222
601
  value: input.endpoint
@@ -228,31 +607,19 @@ function createController(props) {
228
607
  path: _path + ".scenarios",
229
608
  expected: "Array<> & MinItems<1>",
230
609
  value: input.scenarios
231
- })) && input.scenarios.map((elem, _index5) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
232
- path: _path + ".scenarios[" + _index5 + "]",
610
+ })) && input.scenarios.map((elem, _index11) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
611
+ path: _path + ".scenarios[" + _index11 + "]",
233
612
  expected: "IAutoBeTestScenarioApplication.IScenario",
234
613
  value: elem
235
- })) && _vo3(elem, _path + ".scenarios[" + _index5 + "]", true && _exceptionable) || _report(_exceptionable, {
236
- path: _path + ".scenarios[" + _index5 + "]",
614
+ })) && _vo7(elem, _path + ".scenarios[" + _index11 + "]", true && _exceptionable) || _report(_exceptionable, {
615
+ path: _path + ".scenarios[" + _index11 + "]",
237
616
  expected: "IAutoBeTestScenarioApplication.IScenario",
238
617
  value: elem
239
618
  })).every(flag => flag)) || _report(_exceptionable, {
240
619
  path: _path + ".scenarios",
241
620
  expected: "(Array<IAutoBeTestScenarioApplication.IScenario> & MinItems<1>)",
242
621
  value: input.scenarios
243
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
244
- path: _path + ".path",
245
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
246
- value: input.path
247
- })) || _report(_exceptionable, {
248
- path: _path + ".path",
249
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
250
- value: input.path
251
- }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
252
- path: _path + ".method",
253
- expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
254
- value: input.method
255
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
622
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
256
623
  path: _path + ".draft",
257
624
  expected: "string",
258
625
  value: input.draft
@@ -264,23 +631,23 @@ function createController(props) {
264
631
  path: _path + ".dependencies",
265
632
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
266
633
  value: input.dependencies
267
- })) && input.dependencies.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
268
- path: _path + ".dependencies[" + _index6 + "]",
634
+ })) && input.dependencies.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
635
+ path: _path + ".dependencies[" + _index12 + "]",
269
636
  expected: "IAutoBeTestScenarioApplication.IDependencies",
270
637
  value: elem
271
- })) && _vo4(elem, _path + ".dependencies[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
272
- path: _path + ".dependencies[" + _index6 + "]",
638
+ })) && _vo8(elem, _path + ".dependencies[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
639
+ path: _path + ".dependencies[" + _index12 + "]",
273
640
  expected: "IAutoBeTestScenarioApplication.IDependencies",
274
641
  value: elem
275
642
  })).every(flag => flag) || _report(_exceptionable, {
276
643
  path: _path + ".dependencies",
277
644
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
278
645
  value: input.dependencies
279
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
646
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
280
647
  path: _path + ".endpoint",
281
648
  expected: "AutoBeOpenApi.IEndpoint",
282
649
  value: input.endpoint
283
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
650
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
284
651
  path: _path + ".endpoint",
285
652
  expected: "AutoBeOpenApi.IEndpoint",
286
653
  value: input.endpoint
@@ -288,7 +655,22 @@ function createController(props) {
288
655
  path: _path + ".purpose",
289
656
  expected: "string",
290
657
  value: input.purpose
291
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
658
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
659
+ if ("getAnalysisFiles" === input.type)
660
+ return _vo1(input, _path, true && _exceptionable);
661
+ else if ("getInterfaceOperations" === input.type)
662
+ return _vo2(input, _path, true && _exceptionable);
663
+ else if ("getInterfaceSchemas" === input.type)
664
+ return _vo4(input, _path, true && _exceptionable);
665
+ else if ("complete" === input.type)
666
+ return _vo5(input, _path, true && _exceptionable);
667
+ else
668
+ return _report(_exceptionable, {
669
+ path: _path,
670
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
671
+ value: input
672
+ });
673
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
292
674
  if (false === __is(input)) {
293
675
  errors = [];
294
676
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -318,15 +700,20 @@ function createController(props) {
318
700
  }; })()(next);
319
701
  if (result.success === false)
320
702
  return result;
703
+ else if (result.data.request.type !== "complete")
704
+ return props.preliminary.validate({
705
+ thinking: result.data.thinking,
706
+ request: result.data.request,
707
+ });
321
708
  // merge to unique scenario groups
322
- const scenarioGroups = uniqueScenarioGroups(result.data.scenarioGroups);
709
+ const scenarioGroups = uniqueScenarioGroups(result.data.request.scenarioGroups);
323
710
  // validate endpoints
324
711
  const errors = [];
325
712
  scenarioGroups.forEach((group, i) => {
326
713
  if (props.dict.has(group.endpoint) === false)
327
714
  errors.push({
328
715
  value: group.endpoint,
329
- path: `$input.scenarioGroups[${i}].endpoint`,
716
+ path: `$input.request.scenarioGroups[${i}].endpoint`,
330
717
  expected: "AutoBeOpenApi.IEndpoint",
331
718
  description: props.endpointNotFound,
332
719
  });
@@ -335,7 +722,7 @@ function createController(props) {
335
722
  if (props.dict.has(dep.endpoint) === false)
336
723
  errors.push({
337
724
  value: dep.endpoint,
338
- path: `$input.scenarioGroups[${i}].scenarios[${j}].dependencies[${k}].endpoint`,
725
+ path: `$input.request.scenarioGroups[${i}].scenarios[${j}].dependencies[${k}].endpoint`,
339
726
  expected: "AutoBeOpenApi.IEndpoint",
340
727
  description: props.endpointNotFound,
341
728
  });
@@ -451,17 +838,10 @@ function createController(props) {
451
838
  });
452
839
  });
453
840
  return errors.length === 0
454
- ? {
455
- success: true,
456
- data: {
457
- scenarioGroups,
458
- },
459
- }
841
+ ? result
460
842
  : {
461
843
  success: false,
462
- data: {
463
- scenarioGroups,
464
- },
844
+ data: result.data,
465
845
  errors,
466
846
  };
467
847
  };
@@ -472,15 +852,16 @@ function createController(props) {
472
852
  : "claude"](validate);
473
853
  return {
474
854
  protocol: "class",
475
- name: "Make test plans",
855
+ name: SOURCE,
476
856
  application,
477
857
  execute: {
478
- makeScenario: (next) => {
479
- props.build(next);
858
+ process: (next) => {
859
+ if (next.request.type === "complete")
860
+ props.build(next.request);
480
861
  },
481
862
  },
482
863
  };
483
- }
864
+ };
484
865
  const uniqueScenarioGroups = (groups) => new tstl_1.HashMap(groups.map((g) => new tstl_1.Pair(g.endpoint, g)), utils_1.AutoBeOpenApiEndpointComparator.hashCode, utils_1.AutoBeOpenApiEndpointComparator.equals)
485
866
  .toJSON()
486
867
  .map((it) => it.second);
@@ -495,42 +876,94 @@ const collection = {
495
876
  },
496
877
  functions: [
497
878
  {
498
- name: "makeScenario",
879
+ name: "process",
499
880
  parameters: {
500
- description: " Properties containing the endpoints and test scenarios.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeTestScenarioApplication.IProps}",
881
+ description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeTestScenarioApplication.IProps}",
501
882
  type: "object",
502
883
  properties: {
503
- scenarioGroups: {
504
- description: "Array of test scenario groups.",
505
- type: "array",
506
- items: {
507
- $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenarioGroup"
884
+ thinking: {
885
+ description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion.",
886
+ type: "string"
887
+ },
888
+ request: {
889
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getInterfaceOperations, getInterfaceSchemas) or\nfinal test scenario generation (complete). When preliminary returns\nempty array, that type is removed from the union, physically\npreventing repeated calls.",
890
+ anyOf: [
891
+ {
892
+ $ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
893
+ },
894
+ {
895
+ $ref: "#/$defs/IAutoBePreliminaryGetInterfaceOperations"
896
+ },
897
+ {
898
+ $ref: "#/$defs/IAutoBePreliminaryGetInterfaceSchemas"
899
+ },
900
+ {
901
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IComplete"
902
+ }
903
+ ],
904
+ "x-discriminator": {
905
+ propertyName: "type",
906
+ mapping: {
907
+ getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
908
+ getInterfaceOperations: "#/$defs/IAutoBePreliminaryGetInterfaceOperations",
909
+ getInterfaceSchemas: "#/$defs/IAutoBePreliminaryGetInterfaceSchemas",
910
+ complete: "#/$defs/IAutoBeTestScenarioApplication.IComplete"
911
+ }
508
912
  }
509
913
  }
510
914
  },
511
915
  required: [
512
- "scenarioGroups"
916
+ "thinking",
917
+ "request"
513
918
  ],
514
919
  additionalProperties: false,
515
920
  $defs: {
516
- "IAutoBeTestScenarioApplication.IScenarioGroup": {
921
+ IAutoBePreliminaryGetAnalysisFiles: {
922
+ description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context.",
517
923
  type: "object",
518
924
  properties: {
519
- endpoint: {
520
- description: "Target API endpoint to test.\n\nThis must be **unique** across all scenario groups. An endpoint is\nidentified by its `path` and `method` combination.\n\nMultiple test scenarios may exist for a single endpoint.",
521
- $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
925
+ type: {
926
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files.",
927
+ type: "string",
928
+ "enum": [
929
+ "getAnalysisFiles"
930
+ ]
522
931
  },
523
- scenarios: {
524
- description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.\n\n\n@minItems 1",
932
+ fileNames: {
933
+ description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls.\n\n\n@minItems 1",
525
934
  type: "array",
526
935
  items: {
527
- $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
936
+ type: "string"
528
937
  }
529
938
  }
530
939
  },
531
940
  required: [
532
- "endpoint",
533
- "scenarios"
941
+ "type",
942
+ "fileNames"
943
+ ]
944
+ },
945
+ IAutoBePreliminaryGetInterfaceOperations: {
946
+ description: "Request to retrieve existing interface operations for context.\n\nThis type is used in the preliminary phase to request already-generated API\noperations for review, validation, or complementary generation tasks.",
947
+ type: "object",
948
+ properties: {
949
+ type: {
950
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceOperations\" indicates this is a\npreliminary data request for interface operations.",
951
+ type: "string",
952
+ "enum": [
953
+ "getInterfaceOperations"
954
+ ]
955
+ },
956
+ endpoints: {
957
+ description: "List of existing API operation endpoints to retrieve.\n\nOperations that have been generated in previous phases, containing paths,\nmethods, parameters, and request/response bodies.\n\nCRITICAL: DO NOT request the same endpoints that you have already requested\nin previous calls.\n\n\n@minItems 1",
958
+ type: "array",
959
+ items: {
960
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
961
+ }
962
+ }
963
+ },
964
+ required: [
965
+ "type",
966
+ "endpoints"
534
967
  ]
535
968
  },
536
969
  "AutoBeOpenApi.IEndpoint": {
@@ -558,6 +991,74 @@ const collection = {
558
991
  "method"
559
992
  ]
560
993
  },
994
+ IAutoBePreliminaryGetInterfaceSchemas: {
995
+ description: "Request to retrieve OpenAPI schema type definitions for context.\n\nThis type is used in the preliminary phase to request specific schema\ndefinitions from components.schemas for review or complementary generation.",
996
+ type: "object",
997
+ properties: {
998
+ type: {
999
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceSchemas\" indicates this is a preliminary\ndata request for interface schemas.",
1000
+ type: "string",
1001
+ "enum": [
1002
+ "getInterfaceSchemas"
1003
+ ]
1004
+ },
1005
+ typeNames: {
1006
+ description: "List of schema type names to retrieve.\n\nSchema names from the OpenAPI components.schemas section (e.g., \"IUser\",\n\"IUser.ICreate\", \"IPost.IUpdate\").\n\nCRITICAL: DO NOT request the same type names that you have already\nrequested in previous calls.\n\n\n@minItems 1",
1007
+ type: "array",
1008
+ items: {
1009
+ type: "string"
1010
+ }
1011
+ }
1012
+ },
1013
+ required: [
1014
+ "type",
1015
+ "typeNames"
1016
+ ]
1017
+ },
1018
+ "IAutoBeTestScenarioApplication.IComplete": {
1019
+ description: "Request to generate test scenarios for API endpoints.\n\nExecutes test scenario generation to create comprehensive, implementable\ntest scenarios covering all endpoint behaviors, edge cases, and business\nlogic validations.",
1020
+ type: "object",
1021
+ properties: {
1022
+ type: {
1023
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request.",
1024
+ type: "string",
1025
+ "enum": [
1026
+ "complete"
1027
+ ]
1028
+ },
1029
+ scenarioGroups: {
1030
+ description: "Collection of test scenario groups organized by endpoint.\n\nEach group contains multiple test scenarios for a single endpoint,\ncovering various user scenarios, edge cases, and business rule\nvalidations. Dependencies on other endpoints are explicitly captured to\nensure implementable tests.",
1031
+ type: "array",
1032
+ items: {
1033
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenarioGroup"
1034
+ }
1035
+ }
1036
+ },
1037
+ required: [
1038
+ "type",
1039
+ "scenarioGroups"
1040
+ ]
1041
+ },
1042
+ "IAutoBeTestScenarioApplication.IScenarioGroup": {
1043
+ type: "object",
1044
+ properties: {
1045
+ endpoint: {
1046
+ description: "Target API endpoint to test.\n\nThis must be **unique** across all scenario groups. An endpoint is\nidentified by its `path` and `method` combination.\n\nMultiple test scenarios may exist for a single endpoint.",
1047
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
1048
+ },
1049
+ scenarios: {
1050
+ description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.\n\n\n@minItems 1",
1051
+ type: "array",
1052
+ items: {
1053
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
1054
+ }
1055
+ }
1056
+ },
1057
+ required: [
1058
+ "endpoint",
1059
+ "scenarios"
1060
+ ]
1061
+ },
561
1062
  "IAutoBeTestScenarioApplication.IScenario": {
562
1063
  description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only.",
563
1064
  type: "object",
@@ -603,28 +1104,131 @@ const collection = {
603
1104
  }
604
1105
  }
605
1106
  },
606
- description: "Make test scenarios for the given endpoints.",
607
- validate: (() => { const _io0 = input => Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io2 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && "string" === typeof input.purpose; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
1107
+ description: "Process test scenario generation task or preliminary data requests.\n\nCreates comprehensive test scenarios for API endpoints by retrieving\nnecessary interface operations via RAG (Retrieval-Augmented Generation) and\ngenerating detailed test drafts with dependencies.",
1108
+ validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io3 = input => "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 _io4 = input => "getInterfaceSchemas" === input.type && (Array.isArray(input.typeNames) && (1 <= input.typeNames.length && input.typeNames.every(elem => "string" === typeof elem))); const _io5 = input => "complete" === input.type && (Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io6(elem))); const _io6 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io7(elem)))); const _io7 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io8 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && "string" === typeof input.purpose; const _iu0 = input => (() => {
1109
+ if ("getAnalysisFiles" === input.type)
1110
+ return _io1(input);
1111
+ else if ("getInterfaceOperations" === input.type)
1112
+ return _io2(input);
1113
+ else if ("getInterfaceSchemas" === input.type)
1114
+ return _io4(input);
1115
+ else if ("complete" === input.type)
1116
+ return _io5(input);
1117
+ else
1118
+ return false;
1119
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
1120
+ path: _path + ".thinking",
1121
+ expected: "string",
1122
+ value: input.thinking
1123
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
1124
+ path: _path + ".request",
1125
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
1126
+ value: input.request
1127
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
1128
+ path: _path + ".request",
1129
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
1130
+ value: input.request
1131
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
1132
+ path: _path + ".type",
1133
+ expected: "\"getAnalysisFiles\"",
1134
+ value: input.type
1135
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
1136
+ path: _path + ".fileNames",
1137
+ expected: "(Array<string> & MinItems<1>)",
1138
+ value: input.fileNames
1139
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
1140
+ path: _path + ".fileNames",
1141
+ expected: "Array<> & MinItems<1>",
1142
+ value: input.fileNames
1143
+ })) && input.fileNames.map((elem, _index7) => "string" === typeof elem || _report(_exceptionable, {
1144
+ path: _path + ".fileNames[" + _index7 + "]",
1145
+ expected: "string",
1146
+ value: elem
1147
+ })).every(flag => flag)) || _report(_exceptionable, {
1148
+ path: _path + ".fileNames",
1149
+ expected: "(Array<string> & MinItems<1>)",
1150
+ value: input.fileNames
1151
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getInterfaceOperations" === input.type || _report(_exceptionable, {
1152
+ path: _path + ".type",
1153
+ expected: "\"getInterfaceOperations\"",
1154
+ value: input.type
1155
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
1156
+ path: _path + ".endpoints",
1157
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
1158
+ value: input.endpoints
1159
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
1160
+ path: _path + ".endpoints",
1161
+ expected: "Array<> & MinItems<1>",
1162
+ value: input.endpoints
1163
+ })) && input.endpoints.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1164
+ path: _path + ".endpoints[" + _index8 + "]",
1165
+ expected: "AutoBeOpenApi.IEndpoint",
1166
+ value: elem
1167
+ })) && _vo3(elem, _path + ".endpoints[" + _index8 + "]", true && _exceptionable) || _report(_exceptionable, {
1168
+ path: _path + ".endpoints[" + _index8 + "]",
1169
+ expected: "AutoBeOpenApi.IEndpoint",
1170
+ value: elem
1171
+ })).every(flag => flag)) || _report(_exceptionable, {
1172
+ path: _path + ".endpoints",
1173
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
1174
+ value: input.endpoints
1175
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1176
+ path: _path + ".path",
1177
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1178
+ value: input.path
1179
+ })) || _report(_exceptionable, {
1180
+ path: _path + ".path",
1181
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1182
+ value: input.path
1183
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1184
+ path: _path + ".method",
1185
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
1186
+ value: input.method
1187
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["getInterfaceSchemas" === input.type || _report(_exceptionable, {
1188
+ path: _path + ".type",
1189
+ expected: "\"getInterfaceSchemas\"",
1190
+ value: input.type
1191
+ }), (Array.isArray(input.typeNames) || _report(_exceptionable, {
1192
+ path: _path + ".typeNames",
1193
+ expected: "(Array<string> & MinItems<1>)",
1194
+ value: input.typeNames
1195
+ })) && ((1 <= input.typeNames.length || _report(_exceptionable, {
1196
+ path: _path + ".typeNames",
1197
+ expected: "Array<> & MinItems<1>",
1198
+ value: input.typeNames
1199
+ })) && input.typeNames.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
1200
+ path: _path + ".typeNames[" + _index9 + "]",
1201
+ expected: "string",
1202
+ value: elem
1203
+ })).every(flag => flag)) || _report(_exceptionable, {
1204
+ path: _path + ".typeNames",
1205
+ expected: "(Array<string> & MinItems<1>)",
1206
+ value: input.typeNames
1207
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
1208
+ path: _path + ".type",
1209
+ expected: "\"complete\"",
1210
+ value: input.type
1211
+ }), (Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
608
1212
  path: _path + ".scenarioGroups",
609
1213
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
610
1214
  value: input.scenarioGroups
611
- })) && input.scenarioGroups.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
612
- path: _path + ".scenarioGroups[" + _index4 + "]",
1215
+ })) && input.scenarioGroups.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1216
+ path: _path + ".scenarioGroups[" + _index10 + "]",
613
1217
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
614
1218
  value: elem
615
- })) && _vo1(elem, _path + ".scenarioGroups[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
616
- path: _path + ".scenarioGroups[" + _index4 + "]",
1219
+ })) && _vo6(elem, _path + ".scenarioGroups[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
1220
+ path: _path + ".scenarioGroups[" + _index10 + "]",
617
1221
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
618
1222
  value: elem
619
1223
  })).every(flag => flag) || _report(_exceptionable, {
620
1224
  path: _path + ".scenarioGroups",
621
1225
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
622
1226
  value: input.scenarioGroups
623
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
1227
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
624
1228
  path: _path + ".endpoint",
625
1229
  expected: "AutoBeOpenApi.IEndpoint",
626
1230
  value: input.endpoint
627
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
1231
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
628
1232
  path: _path + ".endpoint",
629
1233
  expected: "AutoBeOpenApi.IEndpoint",
630
1234
  value: input.endpoint
@@ -636,31 +1240,19 @@ const collection = {
636
1240
  path: _path + ".scenarios",
637
1241
  expected: "Array<> & MinItems<1>",
638
1242
  value: input.scenarios
639
- })) && input.scenarios.map((elem, _index5) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
640
- path: _path + ".scenarios[" + _index5 + "]",
1243
+ })) && input.scenarios.map((elem, _index11) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1244
+ path: _path + ".scenarios[" + _index11 + "]",
641
1245
  expected: "IAutoBeTestScenarioApplication.IScenario",
642
1246
  value: elem
643
- })) && _vo3(elem, _path + ".scenarios[" + _index5 + "]", true && _exceptionable) || _report(_exceptionable, {
644
- path: _path + ".scenarios[" + _index5 + "]",
1247
+ })) && _vo7(elem, _path + ".scenarios[" + _index11 + "]", true && _exceptionable) || _report(_exceptionable, {
1248
+ path: _path + ".scenarios[" + _index11 + "]",
645
1249
  expected: "IAutoBeTestScenarioApplication.IScenario",
646
1250
  value: elem
647
1251
  })).every(flag => flag)) || _report(_exceptionable, {
648
1252
  path: _path + ".scenarios",
649
1253
  expected: "(Array<IAutoBeTestScenarioApplication.IScenario> & MinItems<1>)",
650
1254
  value: input.scenarios
651
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
652
- path: _path + ".path",
653
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
654
- value: input.path
655
- })) || _report(_exceptionable, {
656
- path: _path + ".path",
657
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
658
- value: input.path
659
- }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
660
- path: _path + ".method",
661
- expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
662
- value: input.method
663
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
1255
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
664
1256
  path: _path + ".draft",
665
1257
  expected: "string",
666
1258
  value: input.draft
@@ -672,23 +1264,23 @@ const collection = {
672
1264
  path: _path + ".dependencies",
673
1265
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
674
1266
  value: input.dependencies
675
- })) && input.dependencies.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
676
- path: _path + ".dependencies[" + _index6 + "]",
1267
+ })) && input.dependencies.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1268
+ path: _path + ".dependencies[" + _index12 + "]",
677
1269
  expected: "IAutoBeTestScenarioApplication.IDependencies",
678
1270
  value: elem
679
- })) && _vo4(elem, _path + ".dependencies[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
680
- path: _path + ".dependencies[" + _index6 + "]",
1271
+ })) && _vo8(elem, _path + ".dependencies[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
1272
+ path: _path + ".dependencies[" + _index12 + "]",
681
1273
  expected: "IAutoBeTestScenarioApplication.IDependencies",
682
1274
  value: elem
683
1275
  })).every(flag => flag) || _report(_exceptionable, {
684
1276
  path: _path + ".dependencies",
685
1277
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
686
1278
  value: input.dependencies
687
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
1279
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
688
1280
  path: _path + ".endpoint",
689
1281
  expected: "AutoBeOpenApi.IEndpoint",
690
1282
  value: input.endpoint
691
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
1283
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
692
1284
  path: _path + ".endpoint",
693
1285
  expected: "AutoBeOpenApi.IEndpoint",
694
1286
  value: input.endpoint
@@ -696,7 +1288,22 @@ const collection = {
696
1288
  path: _path + ".purpose",
697
1289
  expected: "string",
698
1290
  value: input.purpose
699
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1291
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1292
+ if ("getAnalysisFiles" === input.type)
1293
+ return _vo1(input, _path, true && _exceptionable);
1294
+ else if ("getInterfaceOperations" === input.type)
1295
+ return _vo2(input, _path, true && _exceptionable);
1296
+ else if ("getInterfaceSchemas" === input.type)
1297
+ return _vo4(input, _path, true && _exceptionable);
1298
+ else if ("complete" === input.type)
1299
+ return _vo5(input, _path, true && _exceptionable);
1300
+ else
1301
+ return _report(_exceptionable, {
1302
+ path: _path,
1303
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
1304
+ value: input
1305
+ });
1306
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
700
1307
  if (false === __is(input)) {
701
1308
  errors = [];
702
1309
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -729,7 +1336,7 @@ const collection = {
729
1336
  };
730
1337
  __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
731
1338
  validate: {
732
- makeScenario: validate,
1339
+ process: validate,
733
1340
  },
734
1341
  }), { equals: false }));
735
1342
  return application;
@@ -743,43 +1350,90 @@ const collection = {
743
1350
  },
744
1351
  functions: [
745
1352
  {
746
- name: "makeScenario",
1353
+ name: "process",
747
1354
  parameters: {
748
- description: " Properties containing the endpoints and test scenarios.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeTestScenarioApplication.IProps}",
1355
+ description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeTestScenarioApplication.IProps}",
749
1356
  type: "object",
750
1357
  properties: {
751
- scenarioGroups: {
752
- description: "Array of test scenario groups.",
753
- type: "array",
754
- items: {
755
- $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenarioGroup"
1358
+ thinking: {
1359
+ description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion.",
1360
+ type: "string"
1361
+ },
1362
+ request: {
1363
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getInterfaceOperations, getInterfaceSchemas) or\nfinal test scenario generation (complete). When preliminary returns\nempty array, that type is removed from the union, physically\npreventing repeated calls.",
1364
+ oneOf: [
1365
+ {
1366
+ $ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
1367
+ },
1368
+ {
1369
+ $ref: "#/$defs/IAutoBePreliminaryGetInterfaceOperations"
1370
+ },
1371
+ {
1372
+ $ref: "#/$defs/IAutoBePreliminaryGetInterfaceSchemas"
1373
+ },
1374
+ {
1375
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IComplete"
1376
+ }
1377
+ ],
1378
+ discriminator: {
1379
+ propertyName: "type",
1380
+ mapping: {
1381
+ getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
1382
+ getInterfaceOperations: "#/$defs/IAutoBePreliminaryGetInterfaceOperations",
1383
+ getInterfaceSchemas: "#/$defs/IAutoBePreliminaryGetInterfaceSchemas",
1384
+ complete: "#/$defs/IAutoBeTestScenarioApplication.IComplete"
1385
+ }
756
1386
  }
757
1387
  }
758
1388
  },
759
1389
  required: [
760
- "scenarioGroups"
1390
+ "thinking",
1391
+ "request"
761
1392
  ],
762
1393
  additionalProperties: false,
763
1394
  $defs: {
764
- "IAutoBeTestScenarioApplication.IScenarioGroup": {
1395
+ IAutoBePreliminaryGetAnalysisFiles: {
1396
+ description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context.",
765
1397
  type: "object",
766
1398
  properties: {
767
- endpoint: {
768
- description: "Target API endpoint to test.\n\nThis must be **unique** across all scenario groups. An endpoint is\nidentified by its `path` and `method` combination.\n\nMultiple test scenarios may exist for a single endpoint.",
769
- $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
1399
+ type: {
1400
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files.",
1401
+ "const": "getAnalysisFiles"
770
1402
  },
771
- scenarios: {
772
- description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.",
1403
+ fileNames: {
1404
+ description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls.",
773
1405
  type: "array",
774
1406
  items: {
775
- $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
1407
+ type: "string"
776
1408
  },
777
1409
  minItems: 1
778
1410
  }
779
1411
  },
780
1412
  required: [
781
- "endpoint",
782
- "scenarios"
1413
+ "type",
1414
+ "fileNames"
1415
+ ]
1416
+ },
1417
+ IAutoBePreliminaryGetInterfaceOperations: {
1418
+ description: "Request to retrieve existing interface operations for context.\n\nThis type is used in the preliminary phase to request already-generated API\noperations for review, validation, or complementary generation tasks.",
1419
+ type: "object",
1420
+ properties: {
1421
+ type: {
1422
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceOperations\" indicates this is a\npreliminary data request for interface operations.",
1423
+ "const": "getInterfaceOperations"
1424
+ },
1425
+ endpoints: {
1426
+ description: "List of existing API operation endpoints to retrieve.\n\nOperations that have been generated in previous phases, containing paths,\nmethods, parameters, and request/response bodies.\n\nCRITICAL: DO NOT request the same endpoints that you have already requested\nin previous calls.",
1427
+ type: "array",
1428
+ items: {
1429
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
1430
+ },
1431
+ minItems: 1
1432
+ }
1433
+ },
1434
+ required: [
1435
+ "type",
1436
+ "endpoints"
783
1437
  ]
784
1438
  },
785
1439
  "AutoBeOpenApi.IEndpoint": {
@@ -817,6 +1471,70 @@ const collection = {
817
1471
  "method"
818
1472
  ]
819
1473
  },
1474
+ IAutoBePreliminaryGetInterfaceSchemas: {
1475
+ description: "Request to retrieve OpenAPI schema type definitions for context.\n\nThis type is used in the preliminary phase to request specific schema\ndefinitions from components.schemas for review or complementary generation.",
1476
+ type: "object",
1477
+ properties: {
1478
+ type: {
1479
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceSchemas\" indicates this is a preliminary\ndata request for interface schemas.",
1480
+ "const": "getInterfaceSchemas"
1481
+ },
1482
+ typeNames: {
1483
+ description: "List of schema type names to retrieve.\n\nSchema names from the OpenAPI components.schemas section (e.g., \"IUser\",\n\"IUser.ICreate\", \"IPost.IUpdate\").\n\nCRITICAL: DO NOT request the same type names that you have already\nrequested in previous calls.",
1484
+ type: "array",
1485
+ items: {
1486
+ type: "string"
1487
+ },
1488
+ minItems: 1
1489
+ }
1490
+ },
1491
+ required: [
1492
+ "type",
1493
+ "typeNames"
1494
+ ]
1495
+ },
1496
+ "IAutoBeTestScenarioApplication.IComplete": {
1497
+ description: "Request to generate test scenarios for API endpoints.\n\nExecutes test scenario generation to create comprehensive, implementable\ntest scenarios covering all endpoint behaviors, edge cases, and business\nlogic validations.",
1498
+ type: "object",
1499
+ properties: {
1500
+ type: {
1501
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request.",
1502
+ "const": "complete"
1503
+ },
1504
+ scenarioGroups: {
1505
+ description: "Collection of test scenario groups organized by endpoint.\n\nEach group contains multiple test scenarios for a single endpoint,\ncovering various user scenarios, edge cases, and business rule\nvalidations. Dependencies on other endpoints are explicitly captured to\nensure implementable tests.",
1506
+ type: "array",
1507
+ items: {
1508
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenarioGroup"
1509
+ }
1510
+ }
1511
+ },
1512
+ required: [
1513
+ "type",
1514
+ "scenarioGroups"
1515
+ ]
1516
+ },
1517
+ "IAutoBeTestScenarioApplication.IScenarioGroup": {
1518
+ type: "object",
1519
+ properties: {
1520
+ endpoint: {
1521
+ description: "Target API endpoint to test.\n\nThis must be **unique** across all scenario groups. An endpoint is\nidentified by its `path` and `method` combination.\n\nMultiple test scenarios may exist for a single endpoint.",
1522
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
1523
+ },
1524
+ scenarios: {
1525
+ description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.",
1526
+ type: "array",
1527
+ items: {
1528
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
1529
+ },
1530
+ minItems: 1
1531
+ }
1532
+ },
1533
+ required: [
1534
+ "endpoint",
1535
+ "scenarios"
1536
+ ]
1537
+ },
820
1538
  "IAutoBeTestScenarioApplication.IScenario": {
821
1539
  description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only.",
822
1540
  type: "object",
@@ -862,28 +1580,131 @@ const collection = {
862
1580
  }
863
1581
  }
864
1582
  },
865
- description: "Make test scenarios for the given endpoints.",
866
- validate: (() => { const _io0 = input => Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io2 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && "string" === typeof input.purpose; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
1583
+ description: "Process test scenario generation task or preliminary data requests.\n\nCreates comprehensive test scenarios for API endpoints by retrieving\nnecessary interface operations via RAG (Retrieval-Augmented Generation) and\ngenerating detailed test drafts with dependencies.",
1584
+ validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io3 = input => "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 _io4 = input => "getInterfaceSchemas" === input.type && (Array.isArray(input.typeNames) && (1 <= input.typeNames.length && input.typeNames.every(elem => "string" === typeof elem))); const _io5 = input => "complete" === input.type && (Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io6(elem))); const _io6 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io7(elem)))); const _io7 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io8 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && "string" === typeof input.purpose; const _iu0 = input => (() => {
1585
+ if ("getAnalysisFiles" === input.type)
1586
+ return _io1(input);
1587
+ else if ("getInterfaceOperations" === input.type)
1588
+ return _io2(input);
1589
+ else if ("getInterfaceSchemas" === input.type)
1590
+ return _io4(input);
1591
+ else if ("complete" === input.type)
1592
+ return _io5(input);
1593
+ else
1594
+ return false;
1595
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
1596
+ path: _path + ".thinking",
1597
+ expected: "string",
1598
+ value: input.thinking
1599
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
1600
+ path: _path + ".request",
1601
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
1602
+ value: input.request
1603
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
1604
+ path: _path + ".request",
1605
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
1606
+ value: input.request
1607
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
1608
+ path: _path + ".type",
1609
+ expected: "\"getAnalysisFiles\"",
1610
+ value: input.type
1611
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
1612
+ path: _path + ".fileNames",
1613
+ expected: "(Array<string> & MinItems<1>)",
1614
+ value: input.fileNames
1615
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
1616
+ path: _path + ".fileNames",
1617
+ expected: "Array<> & MinItems<1>",
1618
+ value: input.fileNames
1619
+ })) && input.fileNames.map((elem, _index7) => "string" === typeof elem || _report(_exceptionable, {
1620
+ path: _path + ".fileNames[" + _index7 + "]",
1621
+ expected: "string",
1622
+ value: elem
1623
+ })).every(flag => flag)) || _report(_exceptionable, {
1624
+ path: _path + ".fileNames",
1625
+ expected: "(Array<string> & MinItems<1>)",
1626
+ value: input.fileNames
1627
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getInterfaceOperations" === input.type || _report(_exceptionable, {
1628
+ path: _path + ".type",
1629
+ expected: "\"getInterfaceOperations\"",
1630
+ value: input.type
1631
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
1632
+ path: _path + ".endpoints",
1633
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
1634
+ value: input.endpoints
1635
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
1636
+ path: _path + ".endpoints",
1637
+ expected: "Array<> & MinItems<1>",
1638
+ value: input.endpoints
1639
+ })) && input.endpoints.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1640
+ path: _path + ".endpoints[" + _index8 + "]",
1641
+ expected: "AutoBeOpenApi.IEndpoint",
1642
+ value: elem
1643
+ })) && _vo3(elem, _path + ".endpoints[" + _index8 + "]", true && _exceptionable) || _report(_exceptionable, {
1644
+ path: _path + ".endpoints[" + _index8 + "]",
1645
+ expected: "AutoBeOpenApi.IEndpoint",
1646
+ value: elem
1647
+ })).every(flag => flag)) || _report(_exceptionable, {
1648
+ path: _path + ".endpoints",
1649
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
1650
+ value: input.endpoints
1651
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1652
+ path: _path + ".path",
1653
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1654
+ value: input.path
1655
+ })) || _report(_exceptionable, {
1656
+ path: _path + ".path",
1657
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1658
+ value: input.path
1659
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1660
+ path: _path + ".method",
1661
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
1662
+ value: input.method
1663
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["getInterfaceSchemas" === input.type || _report(_exceptionable, {
1664
+ path: _path + ".type",
1665
+ expected: "\"getInterfaceSchemas\"",
1666
+ value: input.type
1667
+ }), (Array.isArray(input.typeNames) || _report(_exceptionable, {
1668
+ path: _path + ".typeNames",
1669
+ expected: "(Array<string> & MinItems<1>)",
1670
+ value: input.typeNames
1671
+ })) && ((1 <= input.typeNames.length || _report(_exceptionable, {
1672
+ path: _path + ".typeNames",
1673
+ expected: "Array<> & MinItems<1>",
1674
+ value: input.typeNames
1675
+ })) && input.typeNames.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
1676
+ path: _path + ".typeNames[" + _index9 + "]",
1677
+ expected: "string",
1678
+ value: elem
1679
+ })).every(flag => flag)) || _report(_exceptionable, {
1680
+ path: _path + ".typeNames",
1681
+ expected: "(Array<string> & MinItems<1>)",
1682
+ value: input.typeNames
1683
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
1684
+ path: _path + ".type",
1685
+ expected: "\"complete\"",
1686
+ value: input.type
1687
+ }), (Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
867
1688
  path: _path + ".scenarioGroups",
868
1689
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
869
1690
  value: input.scenarioGroups
870
- })) && input.scenarioGroups.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
871
- path: _path + ".scenarioGroups[" + _index4 + "]",
1691
+ })) && input.scenarioGroups.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1692
+ path: _path + ".scenarioGroups[" + _index10 + "]",
872
1693
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
873
1694
  value: elem
874
- })) && _vo1(elem, _path + ".scenarioGroups[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
875
- path: _path + ".scenarioGroups[" + _index4 + "]",
1695
+ })) && _vo6(elem, _path + ".scenarioGroups[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
1696
+ path: _path + ".scenarioGroups[" + _index10 + "]",
876
1697
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
877
1698
  value: elem
878
1699
  })).every(flag => flag) || _report(_exceptionable, {
879
1700
  path: _path + ".scenarioGroups",
880
1701
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
881
1702
  value: input.scenarioGroups
882
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
1703
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
883
1704
  path: _path + ".endpoint",
884
1705
  expected: "AutoBeOpenApi.IEndpoint",
885
1706
  value: input.endpoint
886
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
1707
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
887
1708
  path: _path + ".endpoint",
888
1709
  expected: "AutoBeOpenApi.IEndpoint",
889
1710
  value: input.endpoint
@@ -895,31 +1716,19 @@ const collection = {
895
1716
  path: _path + ".scenarios",
896
1717
  expected: "Array<> & MinItems<1>",
897
1718
  value: input.scenarios
898
- })) && input.scenarios.map((elem, _index5) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
899
- path: _path + ".scenarios[" + _index5 + "]",
1719
+ })) && input.scenarios.map((elem, _index11) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1720
+ path: _path + ".scenarios[" + _index11 + "]",
900
1721
  expected: "IAutoBeTestScenarioApplication.IScenario",
901
1722
  value: elem
902
- })) && _vo3(elem, _path + ".scenarios[" + _index5 + "]", true && _exceptionable) || _report(_exceptionable, {
903
- path: _path + ".scenarios[" + _index5 + "]",
1723
+ })) && _vo7(elem, _path + ".scenarios[" + _index11 + "]", true && _exceptionable) || _report(_exceptionable, {
1724
+ path: _path + ".scenarios[" + _index11 + "]",
904
1725
  expected: "IAutoBeTestScenarioApplication.IScenario",
905
1726
  value: elem
906
1727
  })).every(flag => flag)) || _report(_exceptionable, {
907
1728
  path: _path + ".scenarios",
908
1729
  expected: "(Array<IAutoBeTestScenarioApplication.IScenario> & MinItems<1>)",
909
1730
  value: input.scenarios
910
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
911
- path: _path + ".path",
912
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
913
- value: input.path
914
- })) || _report(_exceptionable, {
915
- path: _path + ".path",
916
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
917
- value: input.path
918
- }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
919
- path: _path + ".method",
920
- expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
921
- value: input.method
922
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
1731
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
923
1732
  path: _path + ".draft",
924
1733
  expected: "string",
925
1734
  value: input.draft
@@ -931,23 +1740,23 @@ const collection = {
931
1740
  path: _path + ".dependencies",
932
1741
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
933
1742
  value: input.dependencies
934
- })) && input.dependencies.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
935
- path: _path + ".dependencies[" + _index6 + "]",
1743
+ })) && input.dependencies.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1744
+ path: _path + ".dependencies[" + _index12 + "]",
936
1745
  expected: "IAutoBeTestScenarioApplication.IDependencies",
937
1746
  value: elem
938
- })) && _vo4(elem, _path + ".dependencies[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
939
- path: _path + ".dependencies[" + _index6 + "]",
1747
+ })) && _vo8(elem, _path + ".dependencies[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
1748
+ path: _path + ".dependencies[" + _index12 + "]",
940
1749
  expected: "IAutoBeTestScenarioApplication.IDependencies",
941
1750
  value: elem
942
1751
  })).every(flag => flag) || _report(_exceptionable, {
943
1752
  path: _path + ".dependencies",
944
1753
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
945
1754
  value: input.dependencies
946
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
1755
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
947
1756
  path: _path + ".endpoint",
948
1757
  expected: "AutoBeOpenApi.IEndpoint",
949
1758
  value: input.endpoint
950
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
1759
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
951
1760
  path: _path + ".endpoint",
952
1761
  expected: "AutoBeOpenApi.IEndpoint",
953
1762
  value: input.endpoint
@@ -955,7 +1764,22 @@ const collection = {
955
1764
  path: _path + ".purpose",
956
1765
  expected: "string",
957
1766
  value: input.purpose
958
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1767
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1768
+ if ("getAnalysisFiles" === input.type)
1769
+ return _vo1(input, _path, true && _exceptionable);
1770
+ else if ("getInterfaceOperations" === input.type)
1771
+ return _vo2(input, _path, true && _exceptionable);
1772
+ else if ("getInterfaceSchemas" === input.type)
1773
+ return _vo4(input, _path, true && _exceptionable);
1774
+ else if ("complete" === input.type)
1775
+ return _vo5(input, _path, true && _exceptionable);
1776
+ else
1777
+ return _report(_exceptionable, {
1778
+ path: _path,
1779
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
1780
+ value: input
1781
+ });
1782
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
959
1783
  if (false === __is(input)) {
960
1784
  errors = [];
961
1785
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -988,7 +1812,7 @@ const collection = {
988
1812
  };
989
1813
  __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
990
1814
  validate: {
991
- makeScenario: validate,
1815
+ process: validate,
992
1816
  },
993
1817
  }), { equals: false }));
994
1818
  return application;
@@ -1002,43 +1826,96 @@ const collection = {
1002
1826
  },
1003
1827
  functions: [
1004
1828
  {
1005
- name: "makeScenario",
1829
+ name: "process",
1006
1830
  parameters: {
1007
- description: " Properties containing the endpoints and test scenarios.\n\n------------------------------\n\nCurrent Type: {@link IAutoBeTestScenarioApplication.IProps}",
1831
+ description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeTestScenarioApplication.IProps}",
1008
1832
  type: "object",
1009
1833
  properties: {
1010
- scenarioGroups: {
1011
- description: "Array of test scenario groups.",
1012
- type: "array",
1013
- items: {
1014
- $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenarioGroup"
1834
+ thinking: {
1835
+ description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion.",
1836
+ type: "string"
1837
+ },
1838
+ request: {
1839
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getInterfaceOperations, getInterfaceSchemas) or\nfinal test scenario generation (complete). When preliminary returns\nempty array, that type is removed from the union, physically\npreventing repeated calls.",
1840
+ anyOf: [
1841
+ {
1842
+ $ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
1843
+ },
1844
+ {
1845
+ $ref: "#/$defs/IAutoBePreliminaryGetInterfaceOperations"
1846
+ },
1847
+ {
1848
+ $ref: "#/$defs/IAutoBePreliminaryGetInterfaceSchemas"
1849
+ },
1850
+ {
1851
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IComplete"
1852
+ }
1853
+ ],
1854
+ "x-discriminator": {
1855
+ propertyName: "type",
1856
+ mapping: {
1857
+ getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
1858
+ getInterfaceOperations: "#/$defs/IAutoBePreliminaryGetInterfaceOperations",
1859
+ getInterfaceSchemas: "#/$defs/IAutoBePreliminaryGetInterfaceSchemas",
1860
+ complete: "#/$defs/IAutoBeTestScenarioApplication.IComplete"
1861
+ }
1015
1862
  }
1016
1863
  }
1017
1864
  },
1018
1865
  required: [
1019
- "scenarioGroups"
1866
+ "thinking",
1867
+ "request"
1020
1868
  ],
1021
1869
  additionalProperties: false,
1022
1870
  $defs: {
1023
- "IAutoBeTestScenarioApplication.IScenarioGroup": {
1871
+ IAutoBePreliminaryGetAnalysisFiles: {
1872
+ description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context.",
1024
1873
  type: "object",
1025
1874
  properties: {
1026
- endpoint: {
1027
- description: "Target API endpoint to test.\n\nThis must be **unique** across all scenario groups. An endpoint is\nidentified by its `path` and `method` combination.\n\nMultiple test scenarios may exist for a single endpoint.",
1028
- $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
1875
+ type: {
1876
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files.",
1877
+ type: "string",
1878
+ "enum": [
1879
+ "getAnalysisFiles"
1880
+ ]
1029
1881
  },
1030
- scenarios: {
1031
- description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.",
1882
+ fileNames: {
1883
+ description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls.",
1032
1884
  type: "array",
1033
1885
  items: {
1034
- $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
1886
+ type: "string"
1035
1887
  },
1036
1888
  minItems: 1
1037
1889
  }
1038
1890
  },
1039
1891
  required: [
1040
- "endpoint",
1041
- "scenarios"
1892
+ "type",
1893
+ "fileNames"
1894
+ ]
1895
+ },
1896
+ IAutoBePreliminaryGetInterfaceOperations: {
1897
+ description: "Request to retrieve existing interface operations for context.\n\nThis type is used in the preliminary phase to request already-generated API\noperations for review, validation, or complementary generation tasks.",
1898
+ type: "object",
1899
+ properties: {
1900
+ type: {
1901
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceOperations\" indicates this is a\npreliminary data request for interface operations.",
1902
+ type: "string",
1903
+ "enum": [
1904
+ "getInterfaceOperations"
1905
+ ]
1906
+ },
1907
+ endpoints: {
1908
+ description: "List of existing API operation endpoints to retrieve.\n\nOperations that have been generated in previous phases, containing paths,\nmethods, parameters, and request/response bodies.\n\nCRITICAL: DO NOT request the same endpoints that you have already requested\nin previous calls.",
1909
+ type: "array",
1910
+ items: {
1911
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
1912
+ },
1913
+ minItems: 1
1914
+ }
1915
+ },
1916
+ required: [
1917
+ "type",
1918
+ "endpoints"
1042
1919
  ]
1043
1920
  },
1044
1921
  "AutoBeOpenApi.IEndpoint": {
@@ -1067,6 +1944,76 @@ const collection = {
1067
1944
  "method"
1068
1945
  ]
1069
1946
  },
1947
+ IAutoBePreliminaryGetInterfaceSchemas: {
1948
+ description: "Request to retrieve OpenAPI schema type definitions for context.\n\nThis type is used in the preliminary phase to request specific schema\ndefinitions from components.schemas for review or complementary generation.",
1949
+ type: "object",
1950
+ properties: {
1951
+ type: {
1952
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceSchemas\" indicates this is a preliminary\ndata request for interface schemas.",
1953
+ type: "string",
1954
+ "enum": [
1955
+ "getInterfaceSchemas"
1956
+ ]
1957
+ },
1958
+ typeNames: {
1959
+ description: "List of schema type names to retrieve.\n\nSchema names from the OpenAPI components.schemas section (e.g., \"IUser\",\n\"IUser.ICreate\", \"IPost.IUpdate\").\n\nCRITICAL: DO NOT request the same type names that you have already\nrequested in previous calls.",
1960
+ type: "array",
1961
+ items: {
1962
+ type: "string"
1963
+ },
1964
+ minItems: 1
1965
+ }
1966
+ },
1967
+ required: [
1968
+ "type",
1969
+ "typeNames"
1970
+ ]
1971
+ },
1972
+ "IAutoBeTestScenarioApplication.IComplete": {
1973
+ description: "Request to generate test scenarios for API endpoints.\n\nExecutes test scenario generation to create comprehensive, implementable\ntest scenarios covering all endpoint behaviors, edge cases, and business\nlogic validations.",
1974
+ type: "object",
1975
+ properties: {
1976
+ type: {
1977
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request.",
1978
+ type: "string",
1979
+ "enum": [
1980
+ "complete"
1981
+ ]
1982
+ },
1983
+ scenarioGroups: {
1984
+ description: "Collection of test scenario groups organized by endpoint.\n\nEach group contains multiple test scenarios for a single endpoint,\ncovering various user scenarios, edge cases, and business rule\nvalidations. Dependencies on other endpoints are explicitly captured to\nensure implementable tests.",
1985
+ type: "array",
1986
+ items: {
1987
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenarioGroup"
1988
+ }
1989
+ }
1990
+ },
1991
+ required: [
1992
+ "type",
1993
+ "scenarioGroups"
1994
+ ]
1995
+ },
1996
+ "IAutoBeTestScenarioApplication.IScenarioGroup": {
1997
+ type: "object",
1998
+ properties: {
1999
+ endpoint: {
2000
+ description: "Target API endpoint to test.\n\nThis must be **unique** across all scenario groups. An endpoint is\nidentified by its `path` and `method` combination.\n\nMultiple test scenarios may exist for a single endpoint.",
2001
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
2002
+ },
2003
+ scenarios: {
2004
+ description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.",
2005
+ type: "array",
2006
+ items: {
2007
+ $ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
2008
+ },
2009
+ minItems: 1
2010
+ }
2011
+ },
2012
+ required: [
2013
+ "endpoint",
2014
+ "scenarios"
2015
+ ]
2016
+ },
1070
2017
  "IAutoBeTestScenarioApplication.IScenario": {
1071
2018
  description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only.",
1072
2019
  type: "object",
@@ -1112,28 +2059,131 @@ const collection = {
1112
2059
  }
1113
2060
  }
1114
2061
  },
1115
- description: "Make test scenarios for the given endpoints.",
1116
- validate: (() => { const _io0 = input => Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io2 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io2(input.endpoint) && "string" === typeof input.purpose; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
2062
+ description: "Process test scenario generation task or preliminary data requests.\n\nCreates comprehensive test scenarios for API endpoints by retrieving\nnecessary interface operations via RAG (Retrieval-Augmented Generation) and\ngenerating detailed test drafts with dependencies.",
2063
+ validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io3(elem)))); const _io3 = input => "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 _io4 = input => "getInterfaceSchemas" === input.type && (Array.isArray(input.typeNames) && (1 <= input.typeNames.length && input.typeNames.every(elem => "string" === typeof elem))); const _io5 = input => "complete" === input.type && (Array.isArray(input.scenarioGroups) && input.scenarioGroups.every(elem => "object" === typeof elem && null !== elem && _io6(elem))); const _io6 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && (Array.isArray(input.scenarios) && (1 <= input.scenarios.length && input.scenarios.every(elem => "object" === typeof elem && null !== elem && _io7(elem)))); const _io7 = input => "string" === typeof input.draft && "string" === typeof input.functionName && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io8 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io3(input.endpoint) && "string" === typeof input.purpose; const _iu0 = input => (() => {
2064
+ if ("getAnalysisFiles" === input.type)
2065
+ return _io1(input);
2066
+ else if ("getInterfaceOperations" === input.type)
2067
+ return _io2(input);
2068
+ else if ("getInterfaceSchemas" === input.type)
2069
+ return _io4(input);
2070
+ else if ("complete" === input.type)
2071
+ return _io5(input);
2072
+ else
2073
+ return false;
2074
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
2075
+ path: _path + ".thinking",
2076
+ expected: "string",
2077
+ value: input.thinking
2078
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
2079
+ path: _path + ".request",
2080
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
2081
+ value: input.request
2082
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
2083
+ path: _path + ".request",
2084
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
2085
+ value: input.request
2086
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
2087
+ path: _path + ".type",
2088
+ expected: "\"getAnalysisFiles\"",
2089
+ value: input.type
2090
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
2091
+ path: _path + ".fileNames",
2092
+ expected: "(Array<string> & MinItems<1>)",
2093
+ value: input.fileNames
2094
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
2095
+ path: _path + ".fileNames",
2096
+ expected: "Array<> & MinItems<1>",
2097
+ value: input.fileNames
2098
+ })) && input.fileNames.map((elem, _index7) => "string" === typeof elem || _report(_exceptionable, {
2099
+ path: _path + ".fileNames[" + _index7 + "]",
2100
+ expected: "string",
2101
+ value: elem
2102
+ })).every(flag => flag)) || _report(_exceptionable, {
2103
+ path: _path + ".fileNames",
2104
+ expected: "(Array<string> & MinItems<1>)",
2105
+ value: input.fileNames
2106
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getInterfaceOperations" === input.type || _report(_exceptionable, {
2107
+ path: _path + ".type",
2108
+ expected: "\"getInterfaceOperations\"",
2109
+ value: input.type
2110
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
2111
+ path: _path + ".endpoints",
2112
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
2113
+ value: input.endpoints
2114
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
2115
+ path: _path + ".endpoints",
2116
+ expected: "Array<> & MinItems<1>",
2117
+ value: input.endpoints
2118
+ })) && input.endpoints.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2119
+ path: _path + ".endpoints[" + _index8 + "]",
2120
+ expected: "AutoBeOpenApi.IEndpoint",
2121
+ value: elem
2122
+ })) && _vo3(elem, _path + ".endpoints[" + _index8 + "]", true && _exceptionable) || _report(_exceptionable, {
2123
+ path: _path + ".endpoints[" + _index8 + "]",
2124
+ expected: "AutoBeOpenApi.IEndpoint",
2125
+ value: elem
2126
+ })).every(flag => flag)) || _report(_exceptionable, {
2127
+ path: _path + ".endpoints",
2128
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
2129
+ value: input.endpoints
2130
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
2131
+ path: _path + ".path",
2132
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
2133
+ value: input.path
2134
+ })) || _report(_exceptionable, {
2135
+ path: _path + ".path",
2136
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
2137
+ value: input.path
2138
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
2139
+ path: _path + ".method",
2140
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
2141
+ value: input.method
2142
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["getInterfaceSchemas" === input.type || _report(_exceptionable, {
2143
+ path: _path + ".type",
2144
+ expected: "\"getInterfaceSchemas\"",
2145
+ value: input.type
2146
+ }), (Array.isArray(input.typeNames) || _report(_exceptionable, {
2147
+ path: _path + ".typeNames",
2148
+ expected: "(Array<string> & MinItems<1>)",
2149
+ value: input.typeNames
2150
+ })) && ((1 <= input.typeNames.length || _report(_exceptionable, {
2151
+ path: _path + ".typeNames",
2152
+ expected: "Array<> & MinItems<1>",
2153
+ value: input.typeNames
2154
+ })) && input.typeNames.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
2155
+ path: _path + ".typeNames[" + _index9 + "]",
2156
+ expected: "string",
2157
+ value: elem
2158
+ })).every(flag => flag)) || _report(_exceptionable, {
2159
+ path: _path + ".typeNames",
2160
+ expected: "(Array<string> & MinItems<1>)",
2161
+ value: input.typeNames
2162
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
2163
+ path: _path + ".type",
2164
+ expected: "\"complete\"",
2165
+ value: input.type
2166
+ }), (Array.isArray(input.scenarioGroups) || _report(_exceptionable, {
1117
2167
  path: _path + ".scenarioGroups",
1118
2168
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
1119
2169
  value: input.scenarioGroups
1120
- })) && input.scenarioGroups.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1121
- path: _path + ".scenarioGroups[" + _index4 + "]",
2170
+ })) && input.scenarioGroups.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2171
+ path: _path + ".scenarioGroups[" + _index10 + "]",
1122
2172
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
1123
2173
  value: elem
1124
- })) && _vo1(elem, _path + ".scenarioGroups[" + _index4 + "]", true && _exceptionable) || _report(_exceptionable, {
1125
- path: _path + ".scenarioGroups[" + _index4 + "]",
2174
+ })) && _vo6(elem, _path + ".scenarioGroups[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
2175
+ path: _path + ".scenarioGroups[" + _index10 + "]",
1126
2176
  expected: "IAutoBeTestScenarioApplication.IScenarioGroup",
1127
2177
  value: elem
1128
2178
  })).every(flag => flag) || _report(_exceptionable, {
1129
2179
  path: _path + ".scenarioGroups",
1130
2180
  expected: "Array<IAutoBeTestScenarioApplication.IScenarioGroup>",
1131
2181
  value: input.scenarioGroups
1132
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
2182
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
1133
2183
  path: _path + ".endpoint",
1134
2184
  expected: "AutoBeOpenApi.IEndpoint",
1135
2185
  value: input.endpoint
1136
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
2186
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
1137
2187
  path: _path + ".endpoint",
1138
2188
  expected: "AutoBeOpenApi.IEndpoint",
1139
2189
  value: input.endpoint
@@ -1145,31 +2195,19 @@ const collection = {
1145
2195
  path: _path + ".scenarios",
1146
2196
  expected: "Array<> & MinItems<1>",
1147
2197
  value: input.scenarios
1148
- })) && input.scenarios.map((elem, _index5) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1149
- path: _path + ".scenarios[" + _index5 + "]",
2198
+ })) && input.scenarios.map((elem, _index11) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2199
+ path: _path + ".scenarios[" + _index11 + "]",
1150
2200
  expected: "IAutoBeTestScenarioApplication.IScenario",
1151
2201
  value: elem
1152
- })) && _vo3(elem, _path + ".scenarios[" + _index5 + "]", true && _exceptionable) || _report(_exceptionable, {
1153
- path: _path + ".scenarios[" + _index5 + "]",
2202
+ })) && _vo7(elem, _path + ".scenarios[" + _index11 + "]", true && _exceptionable) || _report(_exceptionable, {
2203
+ path: _path + ".scenarios[" + _index11 + "]",
1154
2204
  expected: "IAutoBeTestScenarioApplication.IScenario",
1155
2205
  value: elem
1156
2206
  })).every(flag => flag)) || _report(_exceptionable, {
1157
2207
  path: _path + ".scenarios",
1158
2208
  expected: "(Array<IAutoBeTestScenarioApplication.IScenario> & MinItems<1>)",
1159
2209
  value: input.scenarios
1160
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1161
- path: _path + ".path",
1162
- expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1163
- value: input.path
1164
- })) || _report(_exceptionable, {
1165
- path: _path + ".path",
1166
- expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1167
- value: input.path
1168
- }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1169
- path: _path + ".method",
1170
- expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
1171
- value: input.method
1172
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
2210
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["string" === typeof input.draft || _report(_exceptionable, {
1173
2211
  path: _path + ".draft",
1174
2212
  expected: "string",
1175
2213
  value: input.draft
@@ -1181,23 +2219,23 @@ const collection = {
1181
2219
  path: _path + ".dependencies",
1182
2220
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
1183
2221
  value: input.dependencies
1184
- })) && input.dependencies.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1185
- path: _path + ".dependencies[" + _index6 + "]",
2222
+ })) && input.dependencies.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2223
+ path: _path + ".dependencies[" + _index12 + "]",
1186
2224
  expected: "IAutoBeTestScenarioApplication.IDependencies",
1187
2225
  value: elem
1188
- })) && _vo4(elem, _path + ".dependencies[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
1189
- path: _path + ".dependencies[" + _index6 + "]",
2226
+ })) && _vo8(elem, _path + ".dependencies[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
2227
+ path: _path + ".dependencies[" + _index12 + "]",
1190
2228
  expected: "IAutoBeTestScenarioApplication.IDependencies",
1191
2229
  value: elem
1192
2230
  })).every(flag => flag) || _report(_exceptionable, {
1193
2231
  path: _path + ".dependencies",
1194
2232
  expected: "Array<IAutoBeTestScenarioApplication.IDependencies>",
1195
2233
  value: input.dependencies
1196
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
2234
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [("object" === typeof input.endpoint && null !== input.endpoint || _report(_exceptionable, {
1197
2235
  path: _path + ".endpoint",
1198
2236
  expected: "AutoBeOpenApi.IEndpoint",
1199
2237
  value: input.endpoint
1200
- })) && _vo2(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
2238
+ })) && _vo3(input.endpoint, _path + ".endpoint", true && _exceptionable) || _report(_exceptionable, {
1201
2239
  path: _path + ".endpoint",
1202
2240
  expected: "AutoBeOpenApi.IEndpoint",
1203
2241
  value: input.endpoint
@@ -1205,7 +2243,22 @@ const collection = {
1205
2243
  path: _path + ".purpose",
1206
2244
  expected: "string",
1207
2245
  value: input.purpose
1208
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
2246
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
2247
+ if ("getAnalysisFiles" === input.type)
2248
+ return _vo1(input, _path, true && _exceptionable);
2249
+ else if ("getInterfaceOperations" === input.type)
2250
+ return _vo2(input, _path, true && _exceptionable);
2251
+ else if ("getInterfaceSchemas" === input.type)
2252
+ return _vo4(input, _path, true && _exceptionable);
2253
+ else if ("complete" === input.type)
2254
+ return _vo5(input, _path, true && _exceptionable);
2255
+ else
2256
+ return _report(_exceptionable, {
2257
+ path: _path,
2258
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetInterfaceOperations | IAutoBePreliminaryGetInterfaceSchemas | IAutoBeTestScenarioApplication.IComplete)",
2259
+ value: input
2260
+ });
2261
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1209
2262
  if (false === __is(input)) {
1210
2263
  errors = [];
1211
2264
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -1238,10 +2291,11 @@ const collection = {
1238
2291
  };
1239
2292
  __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
1240
2293
  validate: {
1241
- makeScenario: validate,
2294
+ process: validate,
1242
2295
  },
1243
2296
  }), { equals: false }));
1244
2297
  return application;
1245
2298
  })(),
1246
2299
  };
2300
+ const SOURCE = "testScenario";
1247
2301
  //# sourceMappingURL=orchestrateTestScenario.js.map