@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
@@ -0,0 +1,1356 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.orchestrateInterfaceEndpoint = orchestrateInterfaceEndpoint;
49
+ const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
50
+ const __typia_transform__llmApplicationFinalize = __importStar(require("typia/lib/internal/_llmApplicationFinalize.js"));
51
+ const utils_1 = require("@autobe/utils");
52
+ const tstl_1 = require("tstl");
53
+ const typia_1 = __importDefault(require("typia"));
54
+ const uuid_1 = require("uuid");
55
+ const assertSchemaModel_1 = require("../../context/assertSchemaModel");
56
+ const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
57
+ const AutoBePreliminaryController_1 = require("../common/AutoBePreliminaryController");
58
+ const transformInterfaceEndpointHistory_1 = require("./histories/transformInterfaceEndpointHistory");
59
+ const orchestrateInterfaceEndpointReview_1 = require("./orchestrateInterfaceEndpointReview");
60
+ function orchestrateInterfaceEndpoint(ctx, props) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const progress = {
63
+ total: props.groups.length,
64
+ completed: 0,
65
+ };
66
+ const endpoints = (yield (0, executeCachedBatch_1.executeCachedBatch)(ctx, props.groups.map((group) => (promptCacheKey) => process(ctx, {
67
+ group,
68
+ authorizations: props.authorizations,
69
+ instruction: props.instruction,
70
+ progress,
71
+ promptCacheKey,
72
+ })))).flat();
73
+ const deduplicated = new tstl_1.HashSet(endpoints, utils_1.AutoBeOpenApiEndpointComparator.hashCode, utils_1.AutoBeOpenApiEndpointComparator.equals).toJSON();
74
+ return yield (0, orchestrateInterfaceEndpointReview_1.orchestrateInterfaceEndpointReview)(ctx, deduplicated);
75
+ });
76
+ }
77
+ function process(ctx, props) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const start = new Date();
80
+ const prismaSchemas = new Map(ctx
81
+ .state()
82
+ .prisma.result.data.files.map((f) => f.models)
83
+ .flat()
84
+ .map((m) => [m.name, m]));
85
+ const preliminary = new AutoBePreliminaryController_1.AutoBePreliminaryController({
86
+ application: {
87
+ version: "3.1",
88
+ components: {
89
+ schemas: {
90
+ "IAutoBeInterfaceEndpointApplication.IProps": {
91
+ type: "object",
92
+ properties: {
93
+ thinking: {
94
+ type: "string",
95
+ 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."
96
+ },
97
+ request: {
98
+ oneOf: [
99
+ {
100
+ $ref: "#/components/schemas/IAutoBePreliminaryGetAnalysisFiles"
101
+ },
102
+ {
103
+ $ref: "#/components/schemas/IAutoBePreliminaryGetPrismaSchemas"
104
+ },
105
+ {
106
+ $ref: "#/components/schemas/IAutoBeInterfaceEndpointApplication.IComplete"
107
+ }
108
+ ],
109
+ discriminator: {
110
+ propertyName: "type",
111
+ mapping: {
112
+ getAnalysisFiles: "#/components/schemas/IAutoBePreliminaryGetAnalysisFiles",
113
+ getPrismaSchemas: "#/components/schemas/IAutoBePreliminaryGetPrismaSchemas",
114
+ complete: "#/components/schemas/IAutoBeInterfaceEndpointApplication.IComplete"
115
+ }
116
+ },
117
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint generation\n(complete). When preliminary returns empty array, that type is removed\nfrom the union, physically preventing repeated calls."
118
+ }
119
+ },
120
+ required: [
121
+ "thinking",
122
+ "request"
123
+ ]
124
+ },
125
+ IAutoBePreliminaryGetAnalysisFiles: {
126
+ type: "object",
127
+ properties: {
128
+ type: {
129
+ "const": "getAnalysisFiles",
130
+ 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."
131
+ },
132
+ fileNames: {
133
+ type: "array",
134
+ items: {
135
+ type: "string"
136
+ },
137
+ minItems: 1,
138
+ 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."
139
+ }
140
+ },
141
+ required: [
142
+ "type",
143
+ "fileNames"
144
+ ],
145
+ 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."
146
+ },
147
+ IAutoBePreliminaryGetPrismaSchemas: {
148
+ type: "object",
149
+ properties: {
150
+ type: {
151
+ "const": "getPrismaSchemas",
152
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas."
153
+ },
154
+ schemaNames: {
155
+ type: "array",
156
+ items: {
157
+ type: "string"
158
+ },
159
+ minItems: 1,
160
+ description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls."
161
+ }
162
+ },
163
+ required: [
164
+ "type",
165
+ "schemaNames"
166
+ ],
167
+ description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations."
168
+ },
169
+ "IAutoBeInterfaceEndpointApplication.IComplete": {
170
+ type: "object",
171
+ properties: {
172
+ type: {
173
+ "const": "complete",
174
+ 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."
175
+ },
176
+ endpoints: {
177
+ type: "array",
178
+ items: {
179
+ $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
180
+ },
181
+ minItems: 1,
182
+ description: "The endpoints to generate."
183
+ }
184
+ },
185
+ required: [
186
+ "type",
187
+ "endpoints"
188
+ ],
189
+ description: "Request to create Restful API endpoints.\n\nExecutes endpoint generation to create comprehensive API endpoints covering\nall requirements and entities. Each combination of path and method must be\nunique to avoid duplicates."
190
+ },
191
+ "AutoBeOpenApi.IEndpoint": {
192
+ type: "object",
193
+ properties: {
194
+ path: {
195
+ type: "string",
196
+ pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$",
197
+ 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)"
198
+ },
199
+ method: {
200
+ oneOf: [
201
+ {
202
+ "const": "get"
203
+ },
204
+ {
205
+ "const": "post"
206
+ },
207
+ {
208
+ "const": "put"
209
+ },
210
+ {
211
+ "const": "delete"
212
+ },
213
+ {
214
+ "const": "patch"
215
+ }
216
+ ],
217
+ 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"
218
+ }
219
+ },
220
+ required: [
221
+ "path",
222
+ "method"
223
+ ],
224
+ description: "API endpoint information."
225
+ }
226
+ }
227
+ },
228
+ functions: [
229
+ {
230
+ name: "process",
231
+ async: false,
232
+ parameters: [
233
+ {
234
+ name: "props",
235
+ description: " Request containing either preliminary data request or complete\ntask",
236
+ required: true,
237
+ schema: {
238
+ $ref: "#/components/schemas/IAutoBeInterfaceEndpointApplication.IProps"
239
+ }
240
+ }
241
+ ],
242
+ description: "Process endpoint generation task or preliminary data requests.\n\nCreates Restful API endpoints referencing requirement analysis documents and\nPrisma schema files with ERD descriptions. Ensures endpoints cover all\nrequirements and entities."
243
+ }
244
+ ]
245
+ },
246
+ source: SOURCE,
247
+ kinds: ["analysisFiles", "prismaSchemas"],
248
+ state: ctx.state(),
249
+ local: {
250
+ prismaSchemas: props.group.prismaSchemas
251
+ .map((key) => prismaSchemas.get(key))
252
+ .filter((m) => m !== undefined),
253
+ },
254
+ });
255
+ return yield preliminary.orchestrate(ctx, (out) => __awaiter(this, void 0, void 0, function* () {
256
+ var _a, _b;
257
+ const pointer = {
258
+ value: null,
259
+ };
260
+ const result = yield ctx.conversate(Object.assign({ source: SOURCE, controller: createController({
261
+ model: ctx.model,
262
+ build: (endpoints) => {
263
+ var _a;
264
+ (_a = pointer.value) !== null && _a !== void 0 ? _a : (pointer.value = endpoints);
265
+ pointer.value.push(...endpoints);
266
+ },
267
+ preliminary,
268
+ }), enforceFunctionCall: true, promptCacheKey: props.promptCacheKey }, (0, transformInterfaceEndpointHistory_1.transformInterfaceEndpointHistory)({
269
+ state: ctx.state(),
270
+ group: props.group,
271
+ authorizations: props.authorizations,
272
+ instruction: props.instruction,
273
+ preliminary,
274
+ })));
275
+ if (pointer.value !== null) {
276
+ const event = {
277
+ type: SOURCE,
278
+ id: (0, uuid_1.v7)(),
279
+ endpoints: new tstl_1.HashSet(pointer.value, utils_1.AutoBeOpenApiEndpointComparator.hashCode, utils_1.AutoBeOpenApiEndpointComparator.equals).toJSON(),
280
+ metric: result.metric,
281
+ tokenUsage: result.tokenUsage,
282
+ created_at: start.toISOString(),
283
+ step: (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0,
284
+ completed: ++props.progress.completed,
285
+ total: props.progress.total,
286
+ };
287
+ ctx.dispatch(event);
288
+ return out(result)(pointer.value);
289
+ }
290
+ return out(result)(null);
291
+ }));
292
+ });
293
+ }
294
+ function createController(props) {
295
+ (0, assertSchemaModel_1.assertSchemaModel)(props.model);
296
+ const validate = (input) => {
297
+ 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 => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem)))); const _io4 = 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 _iu0 = input => (() => {
298
+ if ("getAnalysisFiles" === input.type)
299
+ return _io1(input);
300
+ else if ("getPrismaSchemas" === input.type)
301
+ return _io2(input);
302
+ else if ("complete" === input.type)
303
+ return _io3(input);
304
+ else
305
+ return false;
306
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
307
+ path: _path + ".thinking",
308
+ expected: "string",
309
+ value: input.thinking
310
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
311
+ path: _path + ".request",
312
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
313
+ value: input.request
314
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
315
+ path: _path + ".request",
316
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
317
+ value: input.request
318
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
319
+ path: _path + ".type",
320
+ expected: "\"getAnalysisFiles\"",
321
+ value: input.type
322
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
323
+ path: _path + ".fileNames",
324
+ expected: "(Array<string> & MinItems<1>)",
325
+ value: input.fileNames
326
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
327
+ path: _path + ".fileNames",
328
+ expected: "Array<> & MinItems<1>",
329
+ value: input.fileNames
330
+ })) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
331
+ path: _path + ".fileNames[" + _index4 + "]",
332
+ expected: "string",
333
+ value: elem
334
+ })).every(flag => flag)) || _report(_exceptionable, {
335
+ path: _path + ".fileNames",
336
+ expected: "(Array<string> & MinItems<1>)",
337
+ value: input.fileNames
338
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
339
+ path: _path + ".type",
340
+ expected: "\"getPrismaSchemas\"",
341
+ value: input.type
342
+ }), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
343
+ path: _path + ".schemaNames",
344
+ expected: "(Array<string> & MinItems<1>)",
345
+ value: input.schemaNames
346
+ })) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
347
+ path: _path + ".schemaNames",
348
+ expected: "Array<> & MinItems<1>",
349
+ value: input.schemaNames
350
+ })) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
351
+ path: _path + ".schemaNames[" + _index5 + "]",
352
+ expected: "string",
353
+ value: elem
354
+ })).every(flag => flag)) || _report(_exceptionable, {
355
+ path: _path + ".schemaNames",
356
+ expected: "(Array<string> & MinItems<1>)",
357
+ value: input.schemaNames
358
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
359
+ path: _path + ".type",
360
+ expected: "\"complete\"",
361
+ value: input.type
362
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
363
+ path: _path + ".endpoints",
364
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
365
+ value: input.endpoints
366
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
367
+ path: _path + ".endpoints",
368
+ expected: "Array<> & MinItems<1>",
369
+ value: input.endpoints
370
+ })) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
371
+ path: _path + ".endpoints[" + _index6 + "]",
372
+ expected: "AutoBeOpenApi.IEndpoint",
373
+ value: elem
374
+ })) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
375
+ path: _path + ".endpoints[" + _index6 + "]",
376
+ expected: "AutoBeOpenApi.IEndpoint",
377
+ value: elem
378
+ })).every(flag => flag)) || _report(_exceptionable, {
379
+ path: _path + ".endpoints",
380
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
381
+ value: input.endpoints
382
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
383
+ path: _path + ".path",
384
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
385
+ value: input.path
386
+ })) || _report(_exceptionable, {
387
+ path: _path + ".path",
388
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
389
+ value: input.path
390
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
391
+ path: _path + ".method",
392
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
393
+ value: input.method
394
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
395
+ if ("getAnalysisFiles" === input.type)
396
+ return _vo1(input, _path, true && _exceptionable);
397
+ else if ("getPrismaSchemas" === input.type)
398
+ return _vo2(input, _path, true && _exceptionable);
399
+ else if ("complete" === input.type)
400
+ return _vo3(input, _path, true && _exceptionable);
401
+ else
402
+ return _report(_exceptionable, {
403
+ path: _path,
404
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointApplication.IComplete)",
405
+ value: input
406
+ });
407
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
408
+ if (false === __is(input)) {
409
+ errors = [];
410
+ _report = __typia_transform__validateReport._validateReport(errors);
411
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
412
+ path: _path + "",
413
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
414
+ value: input
415
+ })) && _vo0(input, _path + "", true) || _report(true, {
416
+ path: _path + "",
417
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
418
+ value: input
419
+ }))(input, "$input", true);
420
+ const success = 0 === errors.length;
421
+ return success ? {
422
+ success,
423
+ data: input
424
+ } : {
425
+ success,
426
+ errors,
427
+ data: input
428
+ };
429
+ }
430
+ return {
431
+ success: true,
432
+ data: input
433
+ };
434
+ }; })()(input);
435
+ if (result.success === false || result.data.request.type === "complete")
436
+ return result;
437
+ return props.preliminary.validate({
438
+ thinking: result.data.thinking,
439
+ request: result.data.request,
440
+ });
441
+ };
442
+ const application = collection[props.model === "chatgpt"
443
+ ? "chatgpt"
444
+ : props.model === "gemini"
445
+ ? "gemini"
446
+ : "claude"](validate);
447
+ return {
448
+ protocol: "class",
449
+ name: SOURCE,
450
+ application,
451
+ execute: {
452
+ process: (next) => {
453
+ if (next.request.type === "complete")
454
+ props.build(next.request.endpoints);
455
+ },
456
+ },
457
+ };
458
+ }
459
+ const collection = {
460
+ chatgpt: (validate) => (() => {
461
+ const application = {
462
+ model: "chatgpt",
463
+ options: {
464
+ reference: true,
465
+ strict: false,
466
+ separate: null
467
+ },
468
+ functions: [
469
+ {
470
+ name: "process",
471
+ parameters: {
472
+ description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceEndpointApplication.IProps}",
473
+ type: "object",
474
+ properties: {
475
+ thinking: {
476
+ 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.",
477
+ type: "string"
478
+ },
479
+ request: {
480
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint generation\n(complete). When preliminary returns empty array, that type is removed\nfrom the union, physically preventing repeated calls.",
481
+ anyOf: [
482
+ {
483
+ $ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
484
+ },
485
+ {
486
+ $ref: "#/$defs/IAutoBePreliminaryGetPrismaSchemas"
487
+ },
488
+ {
489
+ $ref: "#/$defs/IAutoBeInterfaceEndpointApplication.IComplete"
490
+ }
491
+ ],
492
+ "x-discriminator": {
493
+ propertyName: "type",
494
+ mapping: {
495
+ getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
496
+ getPrismaSchemas: "#/$defs/IAutoBePreliminaryGetPrismaSchemas",
497
+ complete: "#/$defs/IAutoBeInterfaceEndpointApplication.IComplete"
498
+ }
499
+ }
500
+ }
501
+ },
502
+ required: [
503
+ "thinking",
504
+ "request"
505
+ ],
506
+ additionalProperties: false,
507
+ $defs: {
508
+ IAutoBePreliminaryGetAnalysisFiles: {
509
+ 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.",
510
+ type: "object",
511
+ properties: {
512
+ type: {
513
+ 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.",
514
+ type: "string",
515
+ "enum": [
516
+ "getAnalysisFiles"
517
+ ]
518
+ },
519
+ fileNames: {
520
+ 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",
521
+ type: "array",
522
+ items: {
523
+ type: "string"
524
+ }
525
+ }
526
+ },
527
+ required: [
528
+ "type",
529
+ "fileNames"
530
+ ]
531
+ },
532
+ IAutoBePreliminaryGetPrismaSchemas: {
533
+ description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations.",
534
+ type: "object",
535
+ properties: {
536
+ type: {
537
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas.",
538
+ type: "string",
539
+ "enum": [
540
+ "getPrismaSchemas"
541
+ ]
542
+ },
543
+ schemaNames: {
544
+ description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls.\n\n\n@minItems 1",
545
+ type: "array",
546
+ items: {
547
+ type: "string"
548
+ }
549
+ }
550
+ },
551
+ required: [
552
+ "type",
553
+ "schemaNames"
554
+ ]
555
+ },
556
+ "IAutoBeInterfaceEndpointApplication.IComplete": {
557
+ description: "Request to create Restful API endpoints.\n\nExecutes endpoint generation to create comprehensive API endpoints covering\nall requirements and entities. Each combination of path and method must be\nunique to avoid duplicates.",
558
+ type: "object",
559
+ properties: {
560
+ type: {
561
+ 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.",
562
+ type: "string",
563
+ "enum": [
564
+ "complete"
565
+ ]
566
+ },
567
+ endpoints: {
568
+ description: "The endpoints to generate.\n\n\n@minItems 1",
569
+ type: "array",
570
+ items: {
571
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
572
+ }
573
+ }
574
+ },
575
+ required: [
576
+ "type",
577
+ "endpoints"
578
+ ]
579
+ },
580
+ "AutoBeOpenApi.IEndpoint": {
581
+ description: "API endpoint information.",
582
+ type: "object",
583
+ properties: {
584
+ path: {
585
+ description: "HTTP path of the API operation.\n\nThe URL path for accessing this API operation, using path parameters\nenclosed in curly braces (e.g., `/shoppings/customers/sales/{saleId}`).\n\nIt must be corresponded to the {@link parameters path parameters}.\n\nThe path structure should clearly indicate which database entity this\noperation is manipulating, helping to ensure all entities have\nappropriate API coverage.\n\nPath validation rules:\n\n- Must start with a forward slash (/)\n- Can contain only: letters (a-z, A-Z), numbers (0-9), forward slashes (/),\n curly braces for parameters ({paramName}), hyphens (-), and underscores\n (_)\n- Parameters must be enclosed in curly braces: {paramName}\n- Resource names should be in camelCase\n- No quotes, spaces, or invalid special characters allowed\n- No domain or role-based prefixes\n\nValid examples:\n\n- \"/users\"\n- \"/users/{userId}\"\n- \"/articles/{articleId}/comments\"\n- \"/attachmentFiles\"\n- \"/orders/{orderId}/items/{itemId}\"\n\nInvalid examples:\n\n- \"'/users'\" (contains quotes)\n- \"/user profile\" (contains space)\n- \"/users/[userId]\" (wrong bracket format)\n- \"/admin/users\" (role prefix)\n- \"/api/v1/users\" (API prefix)\n\n\n@pattern ^\\/[a-zA-Z0-9\\/_{}.-]*$",
586
+ type: "string"
587
+ },
588
+ method: {
589
+ 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",
590
+ type: "string",
591
+ "enum": [
592
+ "get",
593
+ "post",
594
+ "put",
595
+ "delete",
596
+ "patch"
597
+ ]
598
+ }
599
+ },
600
+ required: [
601
+ "path",
602
+ "method"
603
+ ]
604
+ }
605
+ }
606
+ },
607
+ description: "Process endpoint generation task or preliminary data requests.\n\nCreates Restful API endpoints referencing requirement analysis documents and\nPrisma schema files with ERD descriptions. Ensures endpoints cover all\nrequirements and entities.",
608
+ 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 => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem)))); const _io4 = 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 _iu0 = input => (() => {
609
+ if ("getAnalysisFiles" === input.type)
610
+ return _io1(input);
611
+ else if ("getPrismaSchemas" === input.type)
612
+ return _io2(input);
613
+ else if ("complete" === input.type)
614
+ return _io3(input);
615
+ else
616
+ return false;
617
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
618
+ path: _path + ".thinking",
619
+ expected: "string",
620
+ value: input.thinking
621
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
622
+ path: _path + ".request",
623
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
624
+ value: input.request
625
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
626
+ path: _path + ".request",
627
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
628
+ value: input.request
629
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
630
+ path: _path + ".type",
631
+ expected: "\"getAnalysisFiles\"",
632
+ value: input.type
633
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
634
+ path: _path + ".fileNames",
635
+ expected: "(Array<string> & MinItems<1>)",
636
+ value: input.fileNames
637
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
638
+ path: _path + ".fileNames",
639
+ expected: "Array<> & MinItems<1>",
640
+ value: input.fileNames
641
+ })) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
642
+ path: _path + ".fileNames[" + _index4 + "]",
643
+ expected: "string",
644
+ value: elem
645
+ })).every(flag => flag)) || _report(_exceptionable, {
646
+ path: _path + ".fileNames",
647
+ expected: "(Array<string> & MinItems<1>)",
648
+ value: input.fileNames
649
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
650
+ path: _path + ".type",
651
+ expected: "\"getPrismaSchemas\"",
652
+ value: input.type
653
+ }), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
654
+ path: _path + ".schemaNames",
655
+ expected: "(Array<string> & MinItems<1>)",
656
+ value: input.schemaNames
657
+ })) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
658
+ path: _path + ".schemaNames",
659
+ expected: "Array<> & MinItems<1>",
660
+ value: input.schemaNames
661
+ })) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
662
+ path: _path + ".schemaNames[" + _index5 + "]",
663
+ expected: "string",
664
+ value: elem
665
+ })).every(flag => flag)) || _report(_exceptionable, {
666
+ path: _path + ".schemaNames",
667
+ expected: "(Array<string> & MinItems<1>)",
668
+ value: input.schemaNames
669
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
670
+ path: _path + ".type",
671
+ expected: "\"complete\"",
672
+ value: input.type
673
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
674
+ path: _path + ".endpoints",
675
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
676
+ value: input.endpoints
677
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
678
+ path: _path + ".endpoints",
679
+ expected: "Array<> & MinItems<1>",
680
+ value: input.endpoints
681
+ })) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
682
+ path: _path + ".endpoints[" + _index6 + "]",
683
+ expected: "AutoBeOpenApi.IEndpoint",
684
+ value: elem
685
+ })) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
686
+ path: _path + ".endpoints[" + _index6 + "]",
687
+ expected: "AutoBeOpenApi.IEndpoint",
688
+ value: elem
689
+ })).every(flag => flag)) || _report(_exceptionable, {
690
+ path: _path + ".endpoints",
691
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
692
+ value: input.endpoints
693
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
694
+ path: _path + ".path",
695
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
696
+ value: input.path
697
+ })) || _report(_exceptionable, {
698
+ path: _path + ".path",
699
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
700
+ value: input.path
701
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
702
+ path: _path + ".method",
703
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
704
+ value: input.method
705
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
706
+ if ("getAnalysisFiles" === input.type)
707
+ return _vo1(input, _path, true && _exceptionable);
708
+ else if ("getPrismaSchemas" === input.type)
709
+ return _vo2(input, _path, true && _exceptionable);
710
+ else if ("complete" === input.type)
711
+ return _vo3(input, _path, true && _exceptionable);
712
+ else
713
+ return _report(_exceptionable, {
714
+ path: _path,
715
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointApplication.IComplete)",
716
+ value: input
717
+ });
718
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
719
+ if (false === __is(input)) {
720
+ errors = [];
721
+ _report = __typia_transform__validateReport._validateReport(errors);
722
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
723
+ path: _path + "",
724
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
725
+ value: input
726
+ })) && _vo0(input, _path + "", true) || _report(true, {
727
+ path: _path + "",
728
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
729
+ value: input
730
+ }))(input, "$input", true);
731
+ const success = 0 === errors.length;
732
+ return success ? {
733
+ success,
734
+ data: input
735
+ } : {
736
+ success,
737
+ errors,
738
+ data: input
739
+ };
740
+ }
741
+ return {
742
+ success: true,
743
+ data: input
744
+ };
745
+ }; })()
746
+ }
747
+ ]
748
+ };
749
+ __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
750
+ validate: {
751
+ process: validate,
752
+ },
753
+ }), { equals: false }));
754
+ return application;
755
+ })(),
756
+ claude: (validate) => (() => {
757
+ const application = {
758
+ model: "claude",
759
+ options: {
760
+ reference: true,
761
+ separate: null
762
+ },
763
+ functions: [
764
+ {
765
+ name: "process",
766
+ parameters: {
767
+ description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceEndpointApplication.IProps}",
768
+ type: "object",
769
+ properties: {
770
+ thinking: {
771
+ 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.",
772
+ type: "string"
773
+ },
774
+ request: {
775
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint generation\n(complete). When preliminary returns empty array, that type is removed\nfrom the union, physically preventing repeated calls.",
776
+ oneOf: [
777
+ {
778
+ $ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
779
+ },
780
+ {
781
+ $ref: "#/$defs/IAutoBePreliminaryGetPrismaSchemas"
782
+ },
783
+ {
784
+ $ref: "#/$defs/IAutoBeInterfaceEndpointApplication.IComplete"
785
+ }
786
+ ],
787
+ discriminator: {
788
+ propertyName: "type",
789
+ mapping: {
790
+ getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
791
+ getPrismaSchemas: "#/$defs/IAutoBePreliminaryGetPrismaSchemas",
792
+ complete: "#/$defs/IAutoBeInterfaceEndpointApplication.IComplete"
793
+ }
794
+ }
795
+ }
796
+ },
797
+ required: [
798
+ "thinking",
799
+ "request"
800
+ ],
801
+ additionalProperties: false,
802
+ $defs: {
803
+ IAutoBePreliminaryGetAnalysisFiles: {
804
+ 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.",
805
+ type: "object",
806
+ properties: {
807
+ type: {
808
+ 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.",
809
+ "const": "getAnalysisFiles"
810
+ },
811
+ fileNames: {
812
+ 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.",
813
+ type: "array",
814
+ items: {
815
+ type: "string"
816
+ },
817
+ minItems: 1
818
+ }
819
+ },
820
+ required: [
821
+ "type",
822
+ "fileNames"
823
+ ]
824
+ },
825
+ IAutoBePreliminaryGetPrismaSchemas: {
826
+ description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations.",
827
+ type: "object",
828
+ properties: {
829
+ type: {
830
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas.",
831
+ "const": "getPrismaSchemas"
832
+ },
833
+ schemaNames: {
834
+ description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls.",
835
+ type: "array",
836
+ items: {
837
+ type: "string"
838
+ },
839
+ minItems: 1
840
+ }
841
+ },
842
+ required: [
843
+ "type",
844
+ "schemaNames"
845
+ ]
846
+ },
847
+ "IAutoBeInterfaceEndpointApplication.IComplete": {
848
+ description: "Request to create Restful API endpoints.\n\nExecutes endpoint generation to create comprehensive API endpoints covering\nall requirements and entities. Each combination of path and method must be\nunique to avoid duplicates.",
849
+ type: "object",
850
+ properties: {
851
+ type: {
852
+ 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.",
853
+ "const": "complete"
854
+ },
855
+ endpoints: {
856
+ description: "The endpoints to generate.",
857
+ type: "array",
858
+ items: {
859
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
860
+ },
861
+ minItems: 1
862
+ }
863
+ },
864
+ required: [
865
+ "type",
866
+ "endpoints"
867
+ ]
868
+ },
869
+ "AutoBeOpenApi.IEndpoint": {
870
+ description: "API endpoint information.",
871
+ type: "object",
872
+ properties: {
873
+ path: {
874
+ 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)",
875
+ type: "string",
876
+ pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
877
+ },
878
+ method: {
879
+ 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",
880
+ oneOf: [
881
+ {
882
+ "const": "get"
883
+ },
884
+ {
885
+ "const": "post"
886
+ },
887
+ {
888
+ "const": "put"
889
+ },
890
+ {
891
+ "const": "delete"
892
+ },
893
+ {
894
+ "const": "patch"
895
+ }
896
+ ]
897
+ }
898
+ },
899
+ required: [
900
+ "path",
901
+ "method"
902
+ ]
903
+ }
904
+ }
905
+ },
906
+ description: "Process endpoint generation task or preliminary data requests.\n\nCreates Restful API endpoints referencing requirement analysis documents and\nPrisma schema files with ERD descriptions. Ensures endpoints cover all\nrequirements and entities.",
907
+ 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 => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem)))); const _io4 = 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 _iu0 = input => (() => {
908
+ if ("getAnalysisFiles" === input.type)
909
+ return _io1(input);
910
+ else if ("getPrismaSchemas" === input.type)
911
+ return _io2(input);
912
+ else if ("complete" === input.type)
913
+ return _io3(input);
914
+ else
915
+ return false;
916
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
917
+ path: _path + ".thinking",
918
+ expected: "string",
919
+ value: input.thinking
920
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
921
+ path: _path + ".request",
922
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
923
+ value: input.request
924
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
925
+ path: _path + ".request",
926
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
927
+ value: input.request
928
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
929
+ path: _path + ".type",
930
+ expected: "\"getAnalysisFiles\"",
931
+ value: input.type
932
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
933
+ path: _path + ".fileNames",
934
+ expected: "(Array<string> & MinItems<1>)",
935
+ value: input.fileNames
936
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
937
+ path: _path + ".fileNames",
938
+ expected: "Array<> & MinItems<1>",
939
+ value: input.fileNames
940
+ })) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
941
+ path: _path + ".fileNames[" + _index4 + "]",
942
+ expected: "string",
943
+ value: elem
944
+ })).every(flag => flag)) || _report(_exceptionable, {
945
+ path: _path + ".fileNames",
946
+ expected: "(Array<string> & MinItems<1>)",
947
+ value: input.fileNames
948
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
949
+ path: _path + ".type",
950
+ expected: "\"getPrismaSchemas\"",
951
+ value: input.type
952
+ }), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
953
+ path: _path + ".schemaNames",
954
+ expected: "(Array<string> & MinItems<1>)",
955
+ value: input.schemaNames
956
+ })) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
957
+ path: _path + ".schemaNames",
958
+ expected: "Array<> & MinItems<1>",
959
+ value: input.schemaNames
960
+ })) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
961
+ path: _path + ".schemaNames[" + _index5 + "]",
962
+ expected: "string",
963
+ value: elem
964
+ })).every(flag => flag)) || _report(_exceptionable, {
965
+ path: _path + ".schemaNames",
966
+ expected: "(Array<string> & MinItems<1>)",
967
+ value: input.schemaNames
968
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
969
+ path: _path + ".type",
970
+ expected: "\"complete\"",
971
+ value: input.type
972
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
973
+ path: _path + ".endpoints",
974
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
975
+ value: input.endpoints
976
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
977
+ path: _path + ".endpoints",
978
+ expected: "Array<> & MinItems<1>",
979
+ value: input.endpoints
980
+ })) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
981
+ path: _path + ".endpoints[" + _index6 + "]",
982
+ expected: "AutoBeOpenApi.IEndpoint",
983
+ value: elem
984
+ })) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
985
+ path: _path + ".endpoints[" + _index6 + "]",
986
+ expected: "AutoBeOpenApi.IEndpoint",
987
+ value: elem
988
+ })).every(flag => flag)) || _report(_exceptionable, {
989
+ path: _path + ".endpoints",
990
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
991
+ value: input.endpoints
992
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
993
+ path: _path + ".path",
994
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
995
+ value: input.path
996
+ })) || _report(_exceptionable, {
997
+ path: _path + ".path",
998
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
999
+ value: input.path
1000
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1001
+ path: _path + ".method",
1002
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
1003
+ value: input.method
1004
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1005
+ if ("getAnalysisFiles" === input.type)
1006
+ return _vo1(input, _path, true && _exceptionable);
1007
+ else if ("getPrismaSchemas" === input.type)
1008
+ return _vo2(input, _path, true && _exceptionable);
1009
+ else if ("complete" === input.type)
1010
+ return _vo3(input, _path, true && _exceptionable);
1011
+ else
1012
+ return _report(_exceptionable, {
1013
+ path: _path,
1014
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointApplication.IComplete)",
1015
+ value: input
1016
+ });
1017
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1018
+ if (false === __is(input)) {
1019
+ errors = [];
1020
+ _report = __typia_transform__validateReport._validateReport(errors);
1021
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1022
+ path: _path + "",
1023
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
1024
+ value: input
1025
+ })) && _vo0(input, _path + "", true) || _report(true, {
1026
+ path: _path + "",
1027
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
1028
+ value: input
1029
+ }))(input, "$input", true);
1030
+ const success = 0 === errors.length;
1031
+ return success ? {
1032
+ success,
1033
+ data: input
1034
+ } : {
1035
+ success,
1036
+ errors,
1037
+ data: input
1038
+ };
1039
+ }
1040
+ return {
1041
+ success: true,
1042
+ data: input
1043
+ };
1044
+ }; })()
1045
+ }
1046
+ ]
1047
+ };
1048
+ __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
1049
+ validate: {
1050
+ process: validate,
1051
+ },
1052
+ }), { equals: false }));
1053
+ return application;
1054
+ })(),
1055
+ gemini: (validate) => (() => {
1056
+ const application = {
1057
+ model: "gemini",
1058
+ options: {
1059
+ reference: true,
1060
+ separate: null
1061
+ },
1062
+ functions: [
1063
+ {
1064
+ name: "process",
1065
+ parameters: {
1066
+ description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceEndpointApplication.IProps}",
1067
+ type: "object",
1068
+ properties: {
1069
+ thinking: {
1070
+ 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.",
1071
+ type: "string"
1072
+ },
1073
+ request: {
1074
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint generation\n(complete). When preliminary returns empty array, that type is removed\nfrom the union, physically preventing repeated calls.",
1075
+ anyOf: [
1076
+ {
1077
+ $ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
1078
+ },
1079
+ {
1080
+ $ref: "#/$defs/IAutoBePreliminaryGetPrismaSchemas"
1081
+ },
1082
+ {
1083
+ $ref: "#/$defs/IAutoBeInterfaceEndpointApplication.IComplete"
1084
+ }
1085
+ ],
1086
+ "x-discriminator": {
1087
+ propertyName: "type",
1088
+ mapping: {
1089
+ getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
1090
+ getPrismaSchemas: "#/$defs/IAutoBePreliminaryGetPrismaSchemas",
1091
+ complete: "#/$defs/IAutoBeInterfaceEndpointApplication.IComplete"
1092
+ }
1093
+ }
1094
+ }
1095
+ },
1096
+ required: [
1097
+ "thinking",
1098
+ "request"
1099
+ ],
1100
+ additionalProperties: false,
1101
+ $defs: {
1102
+ IAutoBePreliminaryGetAnalysisFiles: {
1103
+ 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.",
1104
+ type: "object",
1105
+ properties: {
1106
+ type: {
1107
+ 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.",
1108
+ type: "string",
1109
+ "enum": [
1110
+ "getAnalysisFiles"
1111
+ ]
1112
+ },
1113
+ fileNames: {
1114
+ 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.",
1115
+ type: "array",
1116
+ items: {
1117
+ type: "string"
1118
+ },
1119
+ minItems: 1
1120
+ }
1121
+ },
1122
+ required: [
1123
+ "type",
1124
+ "fileNames"
1125
+ ]
1126
+ },
1127
+ IAutoBePreliminaryGetPrismaSchemas: {
1128
+ description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations.",
1129
+ type: "object",
1130
+ properties: {
1131
+ type: {
1132
+ description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas.",
1133
+ type: "string",
1134
+ "enum": [
1135
+ "getPrismaSchemas"
1136
+ ]
1137
+ },
1138
+ schemaNames: {
1139
+ description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls.",
1140
+ type: "array",
1141
+ items: {
1142
+ type: "string"
1143
+ },
1144
+ minItems: 1
1145
+ }
1146
+ },
1147
+ required: [
1148
+ "type",
1149
+ "schemaNames"
1150
+ ]
1151
+ },
1152
+ "IAutoBeInterfaceEndpointApplication.IComplete": {
1153
+ description: "Request to create Restful API endpoints.\n\nExecutes endpoint generation to create comprehensive API endpoints covering\nall requirements and entities. Each combination of path and method must be\nunique to avoid duplicates.",
1154
+ type: "object",
1155
+ properties: {
1156
+ type: {
1157
+ 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.",
1158
+ type: "string",
1159
+ "enum": [
1160
+ "complete"
1161
+ ]
1162
+ },
1163
+ endpoints: {
1164
+ description: "The endpoints to generate.",
1165
+ type: "array",
1166
+ items: {
1167
+ $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
1168
+ },
1169
+ minItems: 1
1170
+ }
1171
+ },
1172
+ required: [
1173
+ "type",
1174
+ "endpoints"
1175
+ ]
1176
+ },
1177
+ "AutoBeOpenApi.IEndpoint": {
1178
+ description: "API endpoint information.",
1179
+ type: "object",
1180
+ properties: {
1181
+ path: {
1182
+ 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)",
1183
+ type: "string",
1184
+ pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
1185
+ },
1186
+ method: {
1187
+ 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",
1188
+ type: "string",
1189
+ "enum": [
1190
+ "get",
1191
+ "post",
1192
+ "put",
1193
+ "delete",
1194
+ "patch"
1195
+ ]
1196
+ }
1197
+ },
1198
+ required: [
1199
+ "path",
1200
+ "method"
1201
+ ]
1202
+ }
1203
+ }
1204
+ },
1205
+ description: "Process endpoint generation task or preliminary data requests.\n\nCreates Restful API endpoints referencing requirement analysis documents and\nPrisma schema files with ERD descriptions. Ensures endpoints cover all\nrequirements and entities.",
1206
+ 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 => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem)))); const _io4 = 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 _iu0 = input => (() => {
1207
+ if ("getAnalysisFiles" === input.type)
1208
+ return _io1(input);
1209
+ else if ("getPrismaSchemas" === input.type)
1210
+ return _io2(input);
1211
+ else if ("complete" === input.type)
1212
+ return _io3(input);
1213
+ else
1214
+ return false;
1215
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
1216
+ path: _path + ".thinking",
1217
+ expected: "string",
1218
+ value: input.thinking
1219
+ }), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
1220
+ path: _path + ".request",
1221
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
1222
+ value: input.request
1223
+ })) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
1224
+ path: _path + ".request",
1225
+ expected: "(IAutoBeInterfaceEndpointApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
1226
+ value: input.request
1227
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
1228
+ path: _path + ".type",
1229
+ expected: "\"getAnalysisFiles\"",
1230
+ value: input.type
1231
+ }), (Array.isArray(input.fileNames) || _report(_exceptionable, {
1232
+ path: _path + ".fileNames",
1233
+ expected: "(Array<string> & MinItems<1>)",
1234
+ value: input.fileNames
1235
+ })) && ((1 <= input.fileNames.length || _report(_exceptionable, {
1236
+ path: _path + ".fileNames",
1237
+ expected: "Array<> & MinItems<1>",
1238
+ value: input.fileNames
1239
+ })) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
1240
+ path: _path + ".fileNames[" + _index4 + "]",
1241
+ expected: "string",
1242
+ value: elem
1243
+ })).every(flag => flag)) || _report(_exceptionable, {
1244
+ path: _path + ".fileNames",
1245
+ expected: "(Array<string> & MinItems<1>)",
1246
+ value: input.fileNames
1247
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
1248
+ path: _path + ".type",
1249
+ expected: "\"getPrismaSchemas\"",
1250
+ value: input.type
1251
+ }), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
1252
+ path: _path + ".schemaNames",
1253
+ expected: "(Array<string> & MinItems<1>)",
1254
+ value: input.schemaNames
1255
+ })) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
1256
+ path: _path + ".schemaNames",
1257
+ expected: "Array<> & MinItems<1>",
1258
+ value: input.schemaNames
1259
+ })) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
1260
+ path: _path + ".schemaNames[" + _index5 + "]",
1261
+ expected: "string",
1262
+ value: elem
1263
+ })).every(flag => flag)) || _report(_exceptionable, {
1264
+ path: _path + ".schemaNames",
1265
+ expected: "(Array<string> & MinItems<1>)",
1266
+ value: input.schemaNames
1267
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
1268
+ path: _path + ".type",
1269
+ expected: "\"complete\"",
1270
+ value: input.type
1271
+ }), (Array.isArray(input.endpoints) || _report(_exceptionable, {
1272
+ path: _path + ".endpoints",
1273
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
1274
+ value: input.endpoints
1275
+ })) && ((1 <= input.endpoints.length || _report(_exceptionable, {
1276
+ path: _path + ".endpoints",
1277
+ expected: "Array<> & MinItems<1>",
1278
+ value: input.endpoints
1279
+ })) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1280
+ path: _path + ".endpoints[" + _index6 + "]",
1281
+ expected: "AutoBeOpenApi.IEndpoint",
1282
+ value: elem
1283
+ })) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
1284
+ path: _path + ".endpoints[" + _index6 + "]",
1285
+ expected: "AutoBeOpenApi.IEndpoint",
1286
+ value: elem
1287
+ })).every(flag => flag)) || _report(_exceptionable, {
1288
+ path: _path + ".endpoints",
1289
+ expected: "(Array<AutoBeOpenApi.IEndpoint> & MinItems<1>)",
1290
+ value: input.endpoints
1291
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
1292
+ path: _path + ".path",
1293
+ expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
1294
+ value: input.path
1295
+ })) || _report(_exceptionable, {
1296
+ path: _path + ".path",
1297
+ expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
1298
+ value: input.path
1299
+ }), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
1300
+ path: _path + ".method",
1301
+ expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
1302
+ value: input.method
1303
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1304
+ if ("getAnalysisFiles" === input.type)
1305
+ return _vo1(input, _path, true && _exceptionable);
1306
+ else if ("getPrismaSchemas" === input.type)
1307
+ return _vo2(input, _path, true && _exceptionable);
1308
+ else if ("complete" === input.type)
1309
+ return _vo3(input, _path, true && _exceptionable);
1310
+ else
1311
+ return _report(_exceptionable, {
1312
+ path: _path,
1313
+ expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointApplication.IComplete)",
1314
+ value: input
1315
+ });
1316
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1317
+ if (false === __is(input)) {
1318
+ errors = [];
1319
+ _report = __typia_transform__validateReport._validateReport(errors);
1320
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1321
+ path: _path + "",
1322
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
1323
+ value: input
1324
+ })) && _vo0(input, _path + "", true) || _report(true, {
1325
+ path: _path + "",
1326
+ expected: "IAutoBeInterfaceEndpointApplication.IProps",
1327
+ value: input
1328
+ }))(input, "$input", true);
1329
+ const success = 0 === errors.length;
1330
+ return success ? {
1331
+ success,
1332
+ data: input
1333
+ } : {
1334
+ success,
1335
+ errors,
1336
+ data: input
1337
+ };
1338
+ }
1339
+ return {
1340
+ success: true,
1341
+ data: input
1342
+ };
1343
+ }; })()
1344
+ }
1345
+ ]
1346
+ };
1347
+ __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
1348
+ validate: {
1349
+ process: validate,
1350
+ },
1351
+ }), { equals: false }));
1352
+ return application;
1353
+ })(),
1354
+ };
1355
+ const SOURCE = "interfaceEndpoint";
1356
+ //# sourceMappingURL=orchestrateInterfaceEndpoint.js.map