@autobe/agent 0.25.6 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/lib/AutoBeAgent.js +3 -0
  2. package/lib/AutoBeAgent.js.map +1 -1
  3. package/lib/AutoBeMockAgent.js +15 -12
  4. package/lib/AutoBeMockAgent.js.map +1 -1
  5. package/lib/constants/AutoBeSystemPromptConstant.d.ts +26 -19
  6. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  7. package/lib/factory/consentFunctionCall.js +3 -0
  8. package/lib/factory/consentFunctionCall.js.map +1 -1
  9. package/lib/factory/createAutoBeContext.js +4 -1
  10. package/lib/factory/createAutoBeContext.js.map +1 -1
  11. package/lib/factory/getCommonPrompt.d.ts +2 -0
  12. package/lib/factory/getCommonPrompt.js +20 -0
  13. package/lib/factory/getCommonPrompt.js.map +1 -0
  14. package/lib/index.mjs +2636 -2258
  15. package/lib/index.mjs.map +1 -1
  16. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js +1 -1
  17. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +1 -1
  18. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +2 -2
  19. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
  20. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js +6 -6
  21. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -1
  22. package/lib/orchestrate/analyze/orchestrateAnalyze.js +1 -1
  23. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  24. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +73 -73
  25. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  26. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +2 -2
  27. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +9 -9
  28. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +1 -1
  29. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js +2 -17
  30. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js.map +1 -1
  31. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistories.d.ts +6 -0
  32. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistories.js +58 -0
  33. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistories.js.map +1 -0
  34. package/lib/orchestrate/facade/transformFacadeStateMessage.js +1 -1
  35. package/lib/orchestrate/facade/transformFacadeStateMessage.js.map +1 -1
  36. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.d.ts +2 -2
  37. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +8 -8
  38. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +1 -1
  39. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js +3 -3
  40. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -1
  41. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +1 -1
  42. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -1
  43. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +1 -1
  44. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +1 -1
  45. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js +2 -2
  46. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -1
  47. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js +1 -1
  48. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -1
  49. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +2 -2
  50. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -1
  51. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.d.ts +1 -0
  52. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +46 -20
  53. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -1
  54. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.d.ts +5 -0
  55. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.js +51 -0
  56. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.js.map +1 -0
  57. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.d.ts +11 -0
  58. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.js +81 -0
  59. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.js.map +1 -0
  60. package/lib/orchestrate/interface/orchestrateInterface.js +24 -4
  61. package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
  62. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js +52 -52
  63. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
  64. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +2 -2
  65. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
  66. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +2 -2
  67. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -1
  68. package/lib/orchestrate/interface/orchestrateInterfaceGroups.d.ts +2 -2
  69. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +2 -2
  70. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
  71. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +57 -57
  72. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  73. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js +43 -43
  74. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
  75. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js +4 -4
  76. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js.map +1 -1
  77. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.d.ts +7 -0
  78. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +444 -0
  79. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js.map +1 -0
  80. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.d.ts +12 -0
  81. package/lib/orchestrate/interface/{orchestrateInterfaceSchemasReview.js → orchestrateInterfaceSchemaReview.js} +66 -57
  82. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -0
  83. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js +9 -6
  84. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
  85. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +22 -22
  86. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +7 -7
  87. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.d.ts +101 -0
  88. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.js +3 -0
  89. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.js.map +1 -0
  90. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.d.ts +97 -0
  91. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.js +3 -0
  92. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.js.map +1 -0
  93. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.d.ts +44 -0
  94. package/lib/orchestrate/interface/structures/{IAutobeInterfaceSchemasReviewApplication.js → IAutoBeInterfaceSchemaRenameApplication.js} +1 -1
  95. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.js.map +1 -0
  96. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.d.ts +92 -0
  97. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.js +3 -0
  98. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.js.map +1 -0
  99. package/lib/orchestrate/interface/utils/JsonSchemaFactory.js +42 -1
  100. package/lib/orchestrate/interface/utils/JsonSchemaFactory.js.map +1 -1
  101. package/lib/orchestrate/interface/utils/JsonSchemaValidator.js +94 -0
  102. package/lib/orchestrate/interface/utils/JsonSchemaValidator.js.map +1 -1
  103. package/lib/orchestrate/interface/utils/OperationValidator.d.ts +1 -1
  104. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js +13 -13
  105. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -1
  106. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.js +1 -1
  107. package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +1 -1
  108. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +1 -1
  109. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -1
  110. package/lib/orchestrate/prisma/orchestratePrismaComponent.d.ts +2 -2
  111. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +2 -2
  112. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  113. package/lib/orchestrate/prisma/orchestratePrismaSchemas.d.ts +2 -2
  114. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +2 -2
  115. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
  116. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.d.ts +2 -2
  117. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.js +8 -7
  118. package/lib/orchestrate/realize/histories/transformRealizeAuthorization.js.map +1 -1
  119. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js +4 -4
  120. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +1 -1
  121. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.d.ts +4 -7
  122. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.js +8 -18
  123. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.js.map +1 -1
  124. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +0 -1
  125. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js +8 -28
  126. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +1 -1
  127. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +1 -1
  128. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js +16 -280
  129. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +1 -1
  130. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js +1 -1
  131. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
  132. package/lib/orchestrate/realize/orchestrateRealize.js +2 -2
  133. package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
  134. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +12 -12
  135. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
  136. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +9 -9
  137. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
  138. package/lib/orchestrate/realize/orchestrateRealizeCorrect.d.ts +1 -1
  139. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js +43 -22
  140. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
  141. package/lib/orchestrate/realize/{orchestRateRealizeCorrectCasting.js → orchestrateRealizeCorrectCasting.js} +58 -46
  142. package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js.map +1 -0
  143. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +3 -3
  144. package/lib/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.d.ts +2 -2
  145. package/lib/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js +6 -6
  146. package/lib/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.js.map +1 -1
  147. package/lib/orchestrate/realize/utils/generateRealizeScenario.js +1 -1
  148. package/lib/orchestrate/realize/utils/generateRealizeScenario.js.map +1 -1
  149. package/lib/orchestrate/realize/utils/getRealizeWriteCodeTemplate.js +2 -2
  150. package/lib/orchestrate/realize/utils/getRealizeWriteCodeTemplate.js.map +1 -1
  151. package/lib/orchestrate/realize/utils/getRealizeWriteDto.js +1 -1
  152. package/lib/orchestrate/realize/utils/getRealizeWriteDto.js.map +1 -1
  153. package/lib/orchestrate/realize/utils/getRealizeWriteInputType.js +2 -2
  154. package/lib/orchestrate/realize/utils/getRealizeWriteInputType.js.map +1 -1
  155. package/lib/orchestrate/realize/utils/printErrorHints.js +1 -1
  156. package/lib/orchestrate/realize/utils/printErrorHints.js.map +1 -1
  157. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js +1 -1
  158. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -1
  159. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js +5 -22
  160. package/lib/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
  161. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js +10 -10
  162. package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js.map +1 -1
  163. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js +5 -5
  164. package/lib/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -1
  165. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.js +2 -2
  166. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.js.map +1 -1
  167. package/lib/orchestrate/test/orchestrateTestCorrect.js +2 -0
  168. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  169. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +1 -0
  170. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -1
  171. package/lib/orchestrate/test/orchestrateTestScenario.js +26 -26
  172. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  173. package/lib/orchestrate/test/orchestrateTestScenarioReview.js +2 -2
  174. package/lib/orchestrate/test/orchestrateTestScenarioReview.js.map +1 -1
  175. package/lib/orchestrate/test/structures/{IAutoBeTestScenarioAuthorizationRole.d.ts → IAutoBeTestScenarioAuthorizationActor.d.ts} +1 -1
  176. package/lib/orchestrate/test/structures/{IAutoBeTestScenarioAuthorizationRole.js → IAutoBeTestScenarioAuthorizationActor.js} +1 -1
  177. package/lib/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationActor.js.map +1 -0
  178. package/package.json +5 -5
  179. package/src/AutoBeAgent.ts +3 -0
  180. package/src/AutoBeMockAgent.ts +15 -12
  181. package/src/constants/AutoBeSystemPromptConstant.ts +26 -19
  182. package/src/factory/consentFunctionCall.ts +4 -0
  183. package/src/factory/createAutoBeContext.ts +5 -1
  184. package/src/factory/getCommonPrompt.ts +25 -0
  185. package/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.ts +5 -5
  186. package/src/orchestrate/analyze/orchestrateAnalyze.ts +1 -1
  187. package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +3 -3
  188. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +9 -9
  189. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.ts +1 -1
  190. package/src/orchestrate/common/histories/transformCommonCorrectCastingHistories.ts +2 -20
  191. package/src/orchestrate/common/histories/transformPreviousAndLatestCorrectHistories.ts +65 -0
  192. package/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.ts +9 -9
  193. package/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.ts +45 -20
  194. package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.ts +55 -0
  195. package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.ts +90 -0
  196. package/src/orchestrate/interface/orchestrateInterface.ts +34 -14
  197. package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +18 -18
  198. package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +4 -4
  199. package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +2 -2
  200. package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +5 -5
  201. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +23 -23
  202. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +4 -4
  203. package/src/orchestrate/interface/orchestrateInterfacePrerequisites.ts +2 -2
  204. package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +269 -0
  205. package/src/orchestrate/interface/{orchestrateInterfaceSchemasReview.ts → orchestrateInterfaceSchemaReview.ts} +88 -70
  206. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +16 -8
  207. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +26 -22
  208. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.ts +7 -7
  209. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.ts +108 -0
  210. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.ts +104 -0
  211. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.ts +45 -0
  212. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.ts +99 -0
  213. package/src/orchestrate/interface/utils/JsonSchemaFactory.ts +45 -3
  214. package/src/orchestrate/interface/utils/JsonSchemaValidator.ts +110 -0
  215. package/src/orchestrate/interface/utils/OperationValidator.ts +1 -1
  216. package/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.ts +12 -12
  217. package/src/orchestrate/prisma/orchestratePrisma.ts +4 -4
  218. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +4 -4
  219. package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +7 -7
  220. package/src/orchestrate/realize/histories/transformRealizeAuthorization.ts +8 -7
  221. package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.ts +4 -4
  222. package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.ts +14 -28
  223. package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +13 -30
  224. package/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.ts +20 -285
  225. package/src/orchestrate/realize/orchestrateRealize.ts +1 -1
  226. package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +9 -9
  227. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +3 -3
  228. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +74 -60
  229. package/src/orchestrate/realize/{orchestRateRealizeCorrectCasting.ts → orchestrateRealizeCorrectCasting.ts} +86 -85
  230. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.ts +3 -3
  231. package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.ts +10 -7
  232. package/src/orchestrate/realize/utils/generateRealizeScenario.ts +1 -1
  233. package/src/orchestrate/realize/utils/getRealizeWriteCodeTemplate.ts +2 -2
  234. package/src/orchestrate/realize/utils/getRealizeWriteDto.ts +1 -1
  235. package/src/orchestrate/realize/utils/getRealizeWriteInputType.ts +2 -2
  236. package/src/orchestrate/realize/utils/printErrorHints.ts +1 -1
  237. package/src/orchestrate/test/compile/getTestScenarioArtifacts.ts +1 -1
  238. package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +6 -24
  239. package/src/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.ts +10 -10
  240. package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +12 -10
  241. package/src/orchestrate/test/orchestrateTestCorrect.ts +2 -0
  242. package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +1 -0
  243. package/src/orchestrate/test/orchestrateTestScenario.ts +30 -30
  244. package/src/orchestrate/test/orchestrateTestScenarioReview.ts +2 -2
  245. package/src/orchestrate/test/structures/{IAutoBeTestScenarioAuthorizationRole.ts → IAutoBeTestScenarioAuthorizationActor.ts} +1 -1
  246. package/lib/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.d.ts +0 -4
  247. package/lib/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +0 -60
  248. package/lib/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +0 -1
  249. package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +0 -9
  250. package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +0 -1
  251. package/lib/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +0 -91
  252. package/lib/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.js.map +0 -1
  253. package/lib/orchestrate/realize/orchestRateRealizeCorrectCasting.js.map +0 -1
  254. package/lib/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.js.map +0 -1
  255. package/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.ts +0 -67
  256. package/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.ts +0 -96
  257. /package/lib/orchestrate/realize/{orchestRateRealizeCorrectCasting.d.ts → orchestrateRealizeCorrectCasting.d.ts} +0 -0
@@ -61,7 +61,7 @@ function orchestrateInterfaceOperationsReview(ctx, operations, progress) {
61
61
  value: null,
62
62
  };
63
63
  const { tokenUsage } = yield ctx.conversate({
64
- source: "interfaceOperationsReview",
64
+ source: "interfaceOperationReview",
65
65
  histories: (0, transformInterfaceOperationsReviewHistories_1.transformInterfaceOperationsReviewHistories)(ctx, operations),
66
66
  controller: createReviewController({
67
67
  model: ctx.model,
@@ -79,7 +79,7 @@ function orchestrateInterfaceOperationsReview(ctx, operations, progress) {
79
79
  }
80
80
  const content = pointer.value.content.map((op) => (Object.assign(Object.assign({}, op), { authorizationType: null })));
81
81
  ctx.dispatch({
82
- type: "interfaceOperationsReview",
82
+ type: "interfaceOperationReview",
83
83
  id: (0, uuid_1.v7)(),
84
84
  operations: content,
85
85
  review: pointer.value.think.review,
@@ -101,7 +101,7 @@ function orchestrateInterfaceOperationsReview(ctx, operations, progress) {
101
101
  }
102
102
  function createReviewController(props) {
103
103
  const validate = (next) => {
104
- const result = (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.prerequisites) && input.prerequisites.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io9 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io10(input.endpoint) && "string" === typeof input.description; const _io10 = 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 => (() => {
104
+ const result = (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationActor || "string" === typeof input.authorizationActor && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationActor) && 1 <= input.authorizationActor.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.prerequisites) && input.prerequisites.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io9 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io10(input.endpoint) && "string" === typeof input.description; const _io10 = 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 => (() => {
105
105
  if ("number" === input.type)
106
106
  return _io5(input);
107
107
  else if ("integer" === input.type)
@@ -190,18 +190,18 @@ function createReviewController(props) {
190
190
  path: _path + ".responseBody",
191
191
  expected: "(AutoBeOpenApi.IResponseBody | null)",
192
192
  value: input.responseBody
193
- }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
194
- path: _path + ".authorizationRole",
193
+ }), null === input.authorizationActor || "string" === typeof input.authorizationActor && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationActor) || _report(_exceptionable, {
194
+ path: _path + ".authorizationActor",
195
195
  expected: "string & CamelCasePattern",
196
- value: input.authorizationRole
197
- })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
198
- path: _path + ".authorizationRole",
196
+ value: input.authorizationActor
197
+ })) && (1 <= input.authorizationActor.length || _report(_exceptionable, {
198
+ path: _path + ".authorizationActor",
199
199
  expected: "string & MinLength<1>",
200
- value: input.authorizationRole
200
+ value: input.authorizationActor
201
201
  })) || _report(_exceptionable, {
202
- path: _path + ".authorizationRole",
202
+ path: _path + ".authorizationActor",
203
203
  expected: "((string & CamelCasePattern & MinLength<1>) | null)",
204
- value: input.authorizationRole
204
+ value: input.authorizationActor
205
205
  }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
206
206
  path: _path + ".name",
207
207
  expected: "string & CamelCasePattern",
@@ -480,7 +480,7 @@ const collection = {
480
480
  {
481
481
  name: "reviewOperations",
482
482
  parameters: {
483
- description: " Properties containing the thinking process (review & plan)\nand the enhanced operations content\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceOperationsReviewApplication.IProps} type:\n\n> Properties for API operation review and improvement process.\n> \n> Contains both the input operations to be reviewed and the outputs generated\n> by the Interface Operations Review Agent, which will be published as part\n> of the AutoBeInterfaceOperationsReviewEvent.\n\n### Description of {@link think} property:\n\n> Comprehensive thinking process for API operation review.\n> \n> Encapsulates the agent's analytical review findings and actionable\n> improvement plan. This structured thinking process ensures systematic\n> evaluation of API operations against AutoBE's quality standards before\n> generating the final enhanced operations.",
483
+ description: " Properties containing the thinking process (review & plan) and\nthe enhanced operations content\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceOperationsReviewApplication.IProps} type:\n\n> Properties for API operation review and improvement process.\n> \n> Contains both the input operations to be reviewed and the outputs generated\n> by the Interface Operations Review Agent, which will be published as part\n> of the AutoBeInterfaceOperationReviewEvent.\n\n### Description of {@link think} property:\n\n> Comprehensive thinking process for API operation review.\n> \n> Encapsulates the agent's analytical review findings and actionable\n> improvement plan. This structured thinking process ensures systematic\n> evaluation of API operations against AutoBE's quality standards before\n> generating the final enhanced operations.",
484
484
  type: "object",
485
485
  properties: {
486
486
  think: {
@@ -501,7 +501,7 @@ const collection = {
501
501
  additionalProperties: false,
502
502
  $defs: {
503
503
  "IAutoBeInterfaceOperationsReviewApplication.IThink": {
504
- description: "Structured thinking process for comprehensive API operation review.\n\nCombines analytical review findings with actionable improvement planning\nto guide the systematic enhancement of API operations. This thinking\nstructure ensures all aspects of API quality are evaluated and addressed\nbefore producing the final operations.",
504
+ description: "Structured thinking process for comprehensive API operation review.\n\nCombines analytical review findings with actionable improvement planning to\nguide the systematic enhancement of API operations. This thinking structure\nensures all aspects of API quality are evaluated and addressed before\nproducing the final operations.",
505
505
  type: "object",
506
506
  properties: {
507
507
  review: {
@@ -579,8 +579,8 @@ const collection = {
579
579
  }
580
580
  ]
581
581
  },
582
- authorizationRole: {
583
- description: "Authorization role required to access this API operation.\n\nThis field specifies which user role is allowed to access this endpoint.\nThe role name must correspond exactly to the actual roles defined in your\nsystem's Prisma schema.\n\n## Naming Convention\n\nRole names MUST use camelCase.\n\n## Role-Based Path Convention\n\nWhen authorizationRole is specified, it should align with the path\nstructure:\n\n- If authorizationRole is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationRole is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of role\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific role string for role-restricted endpoints\n- The role name MUST match exactly with the user type/role defined in the\n database\n- This role will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this role\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
582
+ authorizationActor: {
583
+ description: "Authorization actor required to access this API operation.\n\nThis field specifies which user actor is allowed to access this endpoint.\nThe actor name must correspond exactly to the actual actors defined in\nyour system's Prisma schema.\n\n## Naming Convention\n\nActor names MUST use camelCase.\n\n## Actor-Based Path Convention\n\nWhen authorizationActor is specified, it should align with the path\nstructure:\n\n- If authorizationActor is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationActor is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of actor\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific actor string for actor-restricted endpoints\n- The actor name MUST match exactly with the user type/actor defined in the\n database\n- This actor will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this actor\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
584
584
  anyOf: [
585
585
  {
586
586
  type: "null"
@@ -596,7 +596,7 @@ const collection = {
596
596
  type: "string"
597
597
  },
598
598
  prerequisites: {
599
- description: "Prerequisites for this API operation.\n\nThe `prerequisites` field defines API operations that must be\nsuccessfully executed before this operation can be performed. This\ncreates an explicit dependency chain between API endpoints, ensuring\nproper execution order and data availability.\n\n## CRITICAL WARNING: Authentication Prerequisites\n\n**NEVER include authentication-related operations as prerequisites!**\nAuthentication is handled separately through the `authorizationRole`\nfield and should NOT be part of the prerequisite chain. Do NOT add\nprerequisites for:\n\n- Login endpoints\n- Token validation endpoints\n- User authentication checks\n- Permission verification endpoints\n\nPrerequisites are ONLY for business logic dependencies, NOT for\nauthentication/authorization.\n\n## Purpose and Use Cases\n\nPrerequisites are essential for operations that depend on:\n\n1. **Existence Validation**: Ensuring resources exist before manipulation\n2. **State Requirements**: Verifying resources are in the correct state\n3. **Data Dependencies**: Loading necessary data for the current operation\n4. **Business Logic Constraints**: Enforcing domain-specific rules\n\n## Execution Flow\n\nWhen an operation has prerequisites:\n\n1. Each prerequisite API must be called first in the specified order\n2. Prerequisites must return successful responses (2xx status codes)\n3. Only after all prerequisites succeed can the main operation proceed\n4. If any prerequisite fails, the operation should not be attempted\n\n## Common Patterns\n\n### Resource Existence Check\n\n```typescript\n// Before updating an order item, ensure the order exists\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}\", method: \"get\" },\n description: \"Order must exist in the system\",\n },\n];\n```\n\n### State Validation\n\n```typescript\n// Before processing payment, ensure order is in correct state\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}/status\", method: \"get\" },\n description: \"Order must be in 'pending_payment' status\",\n },\n];\n```\n\n### Hierarchical Dependencies\n\n```typescript\n// Before accessing a deeply nested resource\nprerequisites: [\n {\n endpoint: { path: \"/projects/{projectId}\", method: \"get\" },\n description: \"Project must exist\",\n },\n {\n endpoint: {\n path: \"/projects/{projectId}/tasks/{taskId}\",\n method: \"get\",\n },\n description: \"Task must exist within the project\",\n },\n];\n```\n\n## Important Guidelines\n\n1. **Order Matters**: Prerequisites are executed in array order\n2. **Parameter Inheritance**: Path parameters from prerequisites can be used\n in the main operation\n3. **Error Handling**: Failed prerequisites should prevent main operation\n4. **Performance**: Consider caching prerequisite results when appropriate\n5. **Documentation**: Each prerequisite must have a clear description\n explaining why it's required\n6. **No Authentication**: NEVER use prerequisites for authentication checks\n\n## Test Generation Impact\n\nThe Test Agent uses prerequisites to:\n\n- Generate proper test setup sequences\n- Create valid test data in the correct order\n- Ensure test scenarios follow realistic workflows\n- Validate error handling when prerequisites fail",
599
+ description: "Prerequisites for this API operation.\n\nThe `prerequisites` field defines API operations that must be\nsuccessfully executed before this operation can be performed. This\ncreates an explicit dependency chain between API endpoints, ensuring\nproper execution order and data availability.\n\n## CRITICAL WARNING: Authentication Prerequisites\n\n**NEVER include authentication-related operations as prerequisites!**\nAuthentication is handled separately through the `authorizationActor`\nfield and should NOT be part of the prerequisite chain. Do NOT add\nprerequisites for:\n\n- Login endpoints\n- Token validation endpoints\n- User authentication checks\n- Permission verification endpoints\n\nPrerequisites are ONLY for business logic dependencies, NOT for\nauthentication/authorization.\n\n## Purpose and Use Cases\n\nPrerequisites are essential for operations that depend on:\n\n1. **Existence Validation**: Ensuring resources exist before manipulation\n2. **State Requirements**: Verifying resources are in the correct state\n3. **Data Dependencies**: Loading necessary data for the current operation\n4. **Business Logic Constraints**: Enforcing domain-specific rules\n\n## Execution Flow\n\nWhen an operation has prerequisites:\n\n1. Each prerequisite API must be called first in the specified order\n2. Prerequisites must return successful responses (2xx status codes)\n3. Only after all prerequisites succeed can the main operation proceed\n4. If any prerequisite fails, the operation should not be attempted\n\n## Common Patterns\n\n### Resource Existence Check\n\n```typescript\n// Before updating an order item, ensure the order exists\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}\", method: \"get\" },\n description: \"Order must exist in the system\",\n },\n];\n```\n\n### State Validation\n\n```typescript\n// Before processing payment, ensure order is in correct state\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}/status\", method: \"get\" },\n description: \"Order must be in 'pending_payment' status\",\n },\n];\n```\n\n### Hierarchical Dependencies\n\n```typescript\n// Before accessing a deeply nested resource\nprerequisites: [\n {\n endpoint: { path: \"/projects/{projectId}\", method: \"get\" },\n description: \"Project must exist\",\n },\n {\n endpoint: {\n path: \"/projects/{projectId}/tasks/{taskId}\",\n method: \"get\",\n },\n description: \"Task must exist within the project\",\n },\n];\n```\n\n## Important Guidelines\n\n1. **Order Matters**: Prerequisites are executed in array order\n2. **Parameter Inheritance**: Path parameters from prerequisites can be used\n in the main operation\n3. **Error Handling**: Failed prerequisites should prevent main operation\n4. **Performance**: Consider caching prerequisite results when appropriate\n5. **Documentation**: Each prerequisite must have a clear description\n explaining why it's required\n6. **No Authentication**: NEVER use prerequisites for authentication checks\n\n## Test Generation Impact\n\nThe Test Agent uses prerequisites to:\n\n- Generate proper test setup sequences\n- Create valid test data in the correct order\n- Ensure test scenarios follow realistic workflows\n- Validate error handling when prerequisites fail",
600
600
  type: "array",
601
601
  items: {
602
602
  $ref: "#/$defs/AutoBeOpenApi.IPrerequisite"
@@ -626,7 +626,7 @@ const collection = {
626
626
  "parameters",
627
627
  "requestBody",
628
628
  "responseBody",
629
- "authorizationRole",
629
+ "authorizationActor",
630
630
  "name",
631
631
  "prerequisites",
632
632
  "path",
@@ -819,7 +819,7 @@ const collection = {
819
819
  ]
820
820
  },
821
821
  "AutoBeOpenApi.IPrerequisite": {
822
- description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationRole` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation\n\n### Description of {@link endpoint} property:\n\n> The API endpoint that must be called before the main operation.\n> \n> This specifies the exact HTTP method and path of the prerequisite API.\n> The endpoint must be a valid operation defined elsewhere in the API\n> specification. Path parameters in the prerequisite endpoint can reference\n> the same parameters available in the main operation.",
822
+ description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationActor` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation\n\n### Description of {@link endpoint} property:\n\n> The API endpoint that must be called before the main operation.\n> \n> This specifies the exact HTTP method and path of the prerequisite API.\n> The endpoint must be a valid operation defined elsewhere in the API\n> specification. Path parameters in the prerequisite endpoint can reference\n> the same parameters available in the main operation.",
823
823
  type: "object",
824
824
  properties: {
825
825
  endpoint: {
@@ -863,7 +863,7 @@ const collection = {
863
863
  }
864
864
  },
865
865
  description: "Reviews a batch of API operations for quality and correctness.\n\nAnalyzes operations for security vulnerabilities, schema compliance,\nlogical consistency, and standard adherence. Outputs a structured thinking\nprocess containing review findings and improvement plans, plus the final\nproduction-ready operations with all critical issues resolved.",
866
- validate: (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.prerequisites) && input.prerequisites.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io9 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io10(input.endpoint) && "string" === typeof input.description; const _io10 = 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 => (() => {
866
+ validate: (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationActor || "string" === typeof input.authorizationActor && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationActor) && 1 <= input.authorizationActor.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.prerequisites) && input.prerequisites.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io9 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io10(input.endpoint) && "string" === typeof input.description; const _io10 = 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 => (() => {
867
867
  if ("number" === input.type)
868
868
  return _io5(input);
869
869
  else if ("integer" === input.type)
@@ -952,18 +952,18 @@ const collection = {
952
952
  path: _path + ".responseBody",
953
953
  expected: "(AutoBeOpenApi.IResponseBody | null)",
954
954
  value: input.responseBody
955
- }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
956
- path: _path + ".authorizationRole",
955
+ }), null === input.authorizationActor || "string" === typeof input.authorizationActor && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationActor) || _report(_exceptionable, {
956
+ path: _path + ".authorizationActor",
957
957
  expected: "string & CamelCasePattern",
958
- value: input.authorizationRole
959
- })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
960
- path: _path + ".authorizationRole",
958
+ value: input.authorizationActor
959
+ })) && (1 <= input.authorizationActor.length || _report(_exceptionable, {
960
+ path: _path + ".authorizationActor",
961
961
  expected: "string & MinLength<1>",
962
- value: input.authorizationRole
962
+ value: input.authorizationActor
963
963
  })) || _report(_exceptionable, {
964
- path: _path + ".authorizationRole",
964
+ path: _path + ".authorizationActor",
965
965
  expected: "((string & CamelCasePattern & MinLength<1>) | null)",
966
- value: input.authorizationRole
966
+ value: input.authorizationActor
967
967
  }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
968
968
  path: _path + ".name",
969
969
  expected: "string & CamelCasePattern",
@@ -1222,7 +1222,7 @@ const collection = {
1222
1222
  {
1223
1223
  name: "reviewOperations",
1224
1224
  parameters: {
1225
- description: " Properties containing the thinking process (review & plan)\nand the enhanced operations content\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceOperationsReviewApplication.IProps} type:\n\n> Properties for API operation review and improvement process.\n> \n> Contains both the input operations to be reviewed and the outputs generated\n> by the Interface Operations Review Agent, which will be published as part\n> of the AutoBeInterfaceOperationsReviewEvent.",
1225
+ description: " Properties containing the thinking process (review & plan) and\nthe enhanced operations content\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceOperationsReviewApplication.IProps} type:\n\n> Properties for API operation review and improvement process.\n> \n> Contains both the input operations to be reviewed and the outputs generated\n> by the Interface Operations Review Agent, which will be published as part\n> of the AutoBeInterfaceOperationReviewEvent.",
1226
1226
  type: "object",
1227
1227
  properties: {
1228
1228
  think: {
@@ -1244,7 +1244,7 @@ const collection = {
1244
1244
  additionalProperties: false,
1245
1245
  $defs: {
1246
1246
  "IAutoBeInterfaceOperationsReviewApplication.IThink": {
1247
- description: "Structured thinking process for comprehensive API operation review.\n\nCombines analytical review findings with actionable improvement planning\nto guide the systematic enhancement of API operations. This thinking\nstructure ensures all aspects of API quality are evaluated and addressed\nbefore producing the final operations.",
1247
+ description: "Structured thinking process for comprehensive API operation review.\n\nCombines analytical review findings with actionable improvement planning to\nguide the systematic enhancement of API operations. This thinking structure\nensures all aspects of API quality are evaluated and addressed before\nproducing the final operations.",
1248
1248
  type: "object",
1249
1249
  properties: {
1250
1250
  review: {
@@ -1323,8 +1323,8 @@ const collection = {
1323
1323
  }
1324
1324
  ]
1325
1325
  },
1326
- authorizationRole: {
1327
- description: "Authorization role required to access this API operation.\n\nThis field specifies which user role is allowed to access this endpoint.\nThe role name must correspond exactly to the actual roles defined in your\nsystem's Prisma schema.\n\n## Naming Convention\n\nRole names MUST use camelCase.\n\n## Role-Based Path Convention\n\nWhen authorizationRole is specified, it should align with the path\nstructure:\n\n- If authorizationRole is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationRole is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of role\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific role string for role-restricted endpoints\n- The role name MUST match exactly with the user type/role defined in the\n database\n- This role will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this role\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
1326
+ authorizationActor: {
1327
+ description: "Authorization actor required to access this API operation.\n\nThis field specifies which user actor is allowed to access this endpoint.\nThe actor name must correspond exactly to the actual actors defined in\nyour system's Prisma schema.\n\n## Naming Convention\n\nActor names MUST use camelCase.\n\n## Actor-Based Path Convention\n\nWhen authorizationActor is specified, it should align with the path\nstructure:\n\n- If authorizationActor is \"admin\" \u2192 path might be \"/admin/resources/{id}\"\n- If authorizationActor is \"seller\" \u2192 path might be \"/seller/products\"\n- Special case: For user's own resources, use path prefix \"/my/\" regardless\n of actor\n\n## Important Guidelines\n\n- Set to `null` for public endpoints that require no authentication\n- Set to specific actor string for actor-restricted endpoints\n- The actor name MUST match exactly with the user type/actor defined in the\n database\n- This actor will be used by the Realize Agent to generate appropriate\n decorator and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on this actor\n\n## Examples\n\n- `null` - Public endpoint, no authentication required\n- `\"user\"` - Any authenticated user can access\n- `\"admin\"` - Only admin users can access\n- `\"seller\"` - Only seller users can access\n- `\"moderator\"` - Only moderator users can access\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
1328
1328
  oneOf: [
1329
1329
  {
1330
1330
  type: "null"
@@ -1342,7 +1342,7 @@ const collection = {
1342
1342
  pattern: "^[a-z][a-zA-Z0-9]*$"
1343
1343
  },
1344
1344
  prerequisites: {
1345
- description: "Prerequisites for this API operation.\n\nThe `prerequisites` field defines API operations that must be\nsuccessfully executed before this operation can be performed. This\ncreates an explicit dependency chain between API endpoints, ensuring\nproper execution order and data availability.\n\n## CRITICAL WARNING: Authentication Prerequisites\n\n**NEVER include authentication-related operations as prerequisites!**\nAuthentication is handled separately through the `authorizationRole`\nfield and should NOT be part of the prerequisite chain. Do NOT add\nprerequisites for:\n\n- Login endpoints\n- Token validation endpoints\n- User authentication checks\n- Permission verification endpoints\n\nPrerequisites are ONLY for business logic dependencies, NOT for\nauthentication/authorization.\n\n## Purpose and Use Cases\n\nPrerequisites are essential for operations that depend on:\n\n1. **Existence Validation**: Ensuring resources exist before manipulation\n2. **State Requirements**: Verifying resources are in the correct state\n3. **Data Dependencies**: Loading necessary data for the current operation\n4. **Business Logic Constraints**: Enforcing domain-specific rules\n\n## Execution Flow\n\nWhen an operation has prerequisites:\n\n1. Each prerequisite API must be called first in the specified order\n2. Prerequisites must return successful responses (2xx status codes)\n3. Only after all prerequisites succeed can the main operation proceed\n4. If any prerequisite fails, the operation should not be attempted\n\n## Common Patterns\n\n### Resource Existence Check\n\n```typescript\n// Before updating an order item, ensure the order exists\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}\", method: \"get\" },\n description: \"Order must exist in the system\",\n },\n];\n```\n\n### State Validation\n\n```typescript\n// Before processing payment, ensure order is in correct state\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}/status\", method: \"get\" },\n description: \"Order must be in 'pending_payment' status\",\n },\n];\n```\n\n### Hierarchical Dependencies\n\n```typescript\n// Before accessing a deeply nested resource\nprerequisites: [\n {\n endpoint: { path: \"/projects/{projectId}\", method: \"get\" },\n description: \"Project must exist\",\n },\n {\n endpoint: {\n path: \"/projects/{projectId}/tasks/{taskId}\",\n method: \"get\",\n },\n description: \"Task must exist within the project\",\n },\n];\n```\n\n## Important Guidelines\n\n1. **Order Matters**: Prerequisites are executed in array order\n2. **Parameter Inheritance**: Path parameters from prerequisites can be used\n in the main operation\n3. **Error Handling**: Failed prerequisites should prevent main operation\n4. **Performance**: Consider caching prerequisite results when appropriate\n5. **Documentation**: Each prerequisite must have a clear description\n explaining why it's required\n6. **No Authentication**: NEVER use prerequisites for authentication checks\n\n## Test Generation Impact\n\nThe Test Agent uses prerequisites to:\n\n- Generate proper test setup sequences\n- Create valid test data in the correct order\n- Ensure test scenarios follow realistic workflows\n- Validate error handling when prerequisites fail",
1345
+ description: "Prerequisites for this API operation.\n\nThe `prerequisites` field defines API operations that must be\nsuccessfully executed before this operation can be performed. This\ncreates an explicit dependency chain between API endpoints, ensuring\nproper execution order and data availability.\n\n## CRITICAL WARNING: Authentication Prerequisites\n\n**NEVER include authentication-related operations as prerequisites!**\nAuthentication is handled separately through the `authorizationActor`\nfield and should NOT be part of the prerequisite chain. Do NOT add\nprerequisites for:\n\n- Login endpoints\n- Token validation endpoints\n- User authentication checks\n- Permission verification endpoints\n\nPrerequisites are ONLY for business logic dependencies, NOT for\nauthentication/authorization.\n\n## Purpose and Use Cases\n\nPrerequisites are essential for operations that depend on:\n\n1. **Existence Validation**: Ensuring resources exist before manipulation\n2. **State Requirements**: Verifying resources are in the correct state\n3. **Data Dependencies**: Loading necessary data for the current operation\n4. **Business Logic Constraints**: Enforcing domain-specific rules\n\n## Execution Flow\n\nWhen an operation has prerequisites:\n\n1. Each prerequisite API must be called first in the specified order\n2. Prerequisites must return successful responses (2xx status codes)\n3. Only after all prerequisites succeed can the main operation proceed\n4. If any prerequisite fails, the operation should not be attempted\n\n## Common Patterns\n\n### Resource Existence Check\n\n```typescript\n// Before updating an order item, ensure the order exists\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}\", method: \"get\" },\n description: \"Order must exist in the system\",\n },\n];\n```\n\n### State Validation\n\n```typescript\n// Before processing payment, ensure order is in correct state\nprerequisites: [\n {\n endpoint: { path: \"/orders/{orderId}/status\", method: \"get\" },\n description: \"Order must be in 'pending_payment' status\",\n },\n];\n```\n\n### Hierarchical Dependencies\n\n```typescript\n// Before accessing a deeply nested resource\nprerequisites: [\n {\n endpoint: { path: \"/projects/{projectId}\", method: \"get\" },\n description: \"Project must exist\",\n },\n {\n endpoint: {\n path: \"/projects/{projectId}/tasks/{taskId}\",\n method: \"get\",\n },\n description: \"Task must exist within the project\",\n },\n];\n```\n\n## Important Guidelines\n\n1. **Order Matters**: Prerequisites are executed in array order\n2. **Parameter Inheritance**: Path parameters from prerequisites can be used\n in the main operation\n3. **Error Handling**: Failed prerequisites should prevent main operation\n4. **Performance**: Consider caching prerequisite results when appropriate\n5. **Documentation**: Each prerequisite must have a clear description\n explaining why it's required\n6. **No Authentication**: NEVER use prerequisites for authentication checks\n\n## Test Generation Impact\n\nThe Test Agent uses prerequisites to:\n\n- Generate proper test setup sequences\n- Create valid test data in the correct order\n- Ensure test scenarios follow realistic workflows\n- Validate error handling when prerequisites fail",
1346
1346
  type: "array",
1347
1347
  items: {
1348
1348
  $ref: "#/$defs/AutoBeOpenApi.IPrerequisite"
@@ -1382,7 +1382,7 @@ const collection = {
1382
1382
  "parameters",
1383
1383
  "requestBody",
1384
1384
  "responseBody",
1385
- "authorizationRole",
1385
+ "authorizationActor",
1386
1386
  "name",
1387
1387
  "prerequisites",
1388
1388
  "path",
@@ -1571,7 +1571,7 @@ const collection = {
1571
1571
  ]
1572
1572
  },
1573
1573
  "AutoBeOpenApi.IPrerequisite": {
1574
- description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationRole` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation",
1574
+ description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationActor` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation",
1575
1575
  type: "object",
1576
1576
  properties: {
1577
1577
  endpoint: {
@@ -1626,7 +1626,7 @@ const collection = {
1626
1626
  }
1627
1627
  },
1628
1628
  description: "Reviews a batch of API operations for quality and correctness.\n\nAnalyzes operations for security vulnerabilities, schema compliance,\nlogical consistency, and standard adherence. Outputs a structured thinking\nprocess containing review findings and improvement plans, plus the final\nproduction-ready operations with all critical issues resolved.",
1629
- validate: (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) && 1 <= input.authorizationRole.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.prerequisites) && input.prerequisites.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io9 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io10(input.endpoint) && "string" === typeof input.description; const _io10 = 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 => (() => {
1629
+ validate: (() => { const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => "string" === typeof input.specification && (null === input.authorizationType || "login" === input.authorizationType || "join" === input.authorizationType || "refresh" === input.authorizationType) && "string" === typeof input.description && "string" === typeof input.summary && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io7(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io8(input.responseBody)) && (null === input.authorizationActor || "string" === typeof input.authorizationActor && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationActor) && 1 <= input.authorizationActor.length)) && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && (Array.isArray(input.prerequisites) && input.prerequisites.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io6 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io8 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io9 = input => "object" === typeof input.endpoint && null !== input.endpoint && _io10(input.endpoint) && "string" === typeof input.description; const _io10 = 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 => (() => {
1630
1630
  if ("number" === input.type)
1631
1631
  return _io5(input);
1632
1632
  else if ("integer" === input.type)
@@ -1715,18 +1715,18 @@ const collection = {
1715
1715
  path: _path + ".responseBody",
1716
1716
  expected: "(AutoBeOpenApi.IResponseBody | null)",
1717
1717
  value: input.responseBody
1718
- }), null === input.authorizationRole || "string" === typeof input.authorizationRole && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationRole) || _report(_exceptionable, {
1719
- path: _path + ".authorizationRole",
1718
+ }), null === input.authorizationActor || "string" === typeof input.authorizationActor && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.authorizationActor) || _report(_exceptionable, {
1719
+ path: _path + ".authorizationActor",
1720
1720
  expected: "string & CamelCasePattern",
1721
- value: input.authorizationRole
1722
- })) && (1 <= input.authorizationRole.length || _report(_exceptionable, {
1723
- path: _path + ".authorizationRole",
1721
+ value: input.authorizationActor
1722
+ })) && (1 <= input.authorizationActor.length || _report(_exceptionable, {
1723
+ path: _path + ".authorizationActor",
1724
1724
  expected: "string & MinLength<1>",
1725
- value: input.authorizationRole
1725
+ value: input.authorizationActor
1726
1726
  })) || _report(_exceptionable, {
1727
- path: _path + ".authorizationRole",
1727
+ path: _path + ".authorizationActor",
1728
1728
  expected: "((string & CamelCasePattern & MinLength<1>) | null)",
1729
- value: input.authorizationRole
1729
+ value: input.authorizationActor
1730
1730
  }), "string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
1731
1731
  path: _path + ".name",
1732
1732
  expected: "string & CamelCasePattern",
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateInterfaceOperationsReview.js","sourceRoot":"","sources":["../../../src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrateInterfaceOperationsReview.js","sourceRoot":"","sources":["../../../src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,oFAwDC;;;AAhED,kDAA0B;AAC1B,+BAA0B;AAG1B,yHAAsH;AAEtH,mEAAgE;AAEhE,SAAsB,oCAAoC,CAGxD,GAAyB,EACzB,UAAsC,EACtC,QAAiC;;;QAEjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAyB,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,0CAAE,MAAM,CAAC,IAAI,CAAC,KAAM,CAAC;YAC3E,MAAM,OAAO,GACX;gBACE,KAAK,EAAE,IAAI;aACZ,CAAC;YACJ,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;gBAC1C,MAAM,EAAE,0BAA0B;gBAClC,SAAS,EAAE,IAAA,yFAA2C,EAAC,GAAG,EAAE,UAAU,CAAC;gBACvE,UAAU,EAAE,sBAAsB,CAAC;oBACjC,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,CAAC,IAAwD,EAAE,EAAE;wBAClE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBACvB,CAAC;iBACF,CAAC;gBACF,mBAAmB,EAAE,KAAK;gBAC1B,OAAO,EAAE,uBAAuB;aACjC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3B,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,OAAO,GAA+B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACnE,CAAC,EAAE,EAAE,EAAE,CAAC,iCACH,EAAE,KACL,iBAAiB,EAAE,IAAI,IACvB,CACH,CAAC;YAEF,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,0BAA0B;gBAChC,EAAE,EAAE,IAAA,SAAE,GAAE;gBACR,UAAU,EAAE,OAAO;gBACnB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;gBAClC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBAC9B,OAAO;gBACP,UAAU;gBACV,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC;gBACpC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,SAAS,EAAE,EAAE,QAAQ,CAAC,SAAS;aACc,CAAC,CAAC;YACjD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,WAAM,CAAC;YACP,EAAE,QAAQ,CAAC,SAAS,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA;AAED,SAAS,sBAAsB,CAAiC,KAI/D;IACC,MAAM,QAAQ,GAAG,CACf,IAAa,EACoD,EAAE;QACnE,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBACyD,IAAI,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC;QAE5C,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,uCAAkB,CAAC,QAAQ,CAAC;YAC1B,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC/B,MAAM;SACP,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CACjD,CACC,QAAQ,CAC2D,CAAC;IAEtE,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW;QACX,OAAO,EAAE;YACP,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;SACoD;KACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,CAAC,QAAmB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uHAI7B;YACA,QAAQ,EAAE;gBACR,gBAAgB,EAAE,QAAQ;aAC3B;SACF;;QAAC;IACJ,MAAM,EAAE,CAAC,QAAmB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uHAI5B;YACA,QAAQ,EAAE;gBACR,gBAAgB,EAAE,QAAQ;aAC3B;SACF;;QAAC;CACL,CAAC"}
@@ -113,7 +113,7 @@ function divideAndConquer(ctx, props) {
113
113
  };
114
114
  try {
115
115
  const { tokenUsage } = yield ctx.conversate({
116
- source: "interfacePrerequisites",
116
+ source: "interfacePrerequisite",
117
117
  controller: createController({
118
118
  model: ctx.model,
119
119
  document: props.document,
@@ -133,7 +133,7 @@ function divideAndConquer(ctx, props) {
133
133
  return [];
134
134
  props.progress.completed += pointer.value.length;
135
135
  ctx.dispatch({
136
- type: "interfacePrerequisites",
136
+ type: "interfacePrerequisite",
137
137
  id: (0, uuid_1.v7)(),
138
138
  created_at: new Date().toISOString(),
139
139
  tokenUsage,
@@ -382,7 +382,7 @@ const collection = {
382
382
  ]
383
383
  },
384
384
  "AutoBeOpenApi.IPrerequisite": {
385
- description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationRole` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation\n\n### Description of {@link endpoint} property:\n\n> The API endpoint that must be called before the main operation.\n> \n> This specifies the exact HTTP method and path of the prerequisite API.\n> The endpoint must be a valid operation defined elsewhere in the API\n> specification. Path parameters in the prerequisite endpoint can reference\n> the same parameters available in the main operation.",
385
+ description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationActor` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation\n\n### Description of {@link endpoint} property:\n\n> The API endpoint that must be called before the main operation.\n> \n> This specifies the exact HTTP method and path of the prerequisite API.\n> The endpoint must be a valid operation defined elsewhere in the API\n> specification. Path parameters in the prerequisite endpoint can reference\n> the same parameters available in the main operation.",
386
386
  type: "object",
387
387
  properties: {
388
388
  endpoint: {
@@ -587,7 +587,7 @@ const collection = {
587
587
  ]
588
588
  },
589
589
  "AutoBeOpenApi.IPrerequisite": {
590
- description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationRole` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation",
590
+ description: "Prerequisite API operation dependency.\n\n`IPrerequisite` defines a dependency relationship between API operations,\nspecifying that certain endpoints must be successfully called before the\ncurrent operation can proceed. This ensures proper resource validation,\nstate checking, and data availability in complex API workflows.\n\n## CRITICAL WARNING: Authentication is NOT a Prerequisite\n\n**NEVER use prerequisites for authentication or authorization checks!**\n\nPrerequisites are ONLY for business logic dependencies such as:\n\n- Checking if a resource exists\n- Verifying resource state\n- Loading required data\n\nDo NOT create prerequisites for:\n\n- Login/authentication endpoints\n- Token validation\n- Permission checks\n- User authorization verification\n\nAuthentication is handled separately via the `authorizationActor` field on\nthe operation itself. Mixing authentication with business prerequisites\ncreates confusion and incorrect test scenarios.\n\n## Core Concept\n\nPrerequisites create an execution dependency graph for API operations. They\nexplicitly declare which APIs must succeed before attempting the current\noperation, preventing invalid states and ensuring data consistency.\n\n## Structure\n\nEach prerequisite consists of:\n\n1. **endpoint**: The API endpoint that must be called first\n2. **description**: Clear explanation of why this prerequisite is required\n\n## Common Use Cases\n\n### 1. Resource Existence Validation\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/users/{userId}\", \"method\": \"get\" },\n \"description\": \"User must exist before updating their profile\"\n}\n```\n\n### 2. Parent-Child Relationships\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/posts/{postId}\", \"method\": \"get\" },\n \"description\": \"Post must exist before adding comments\"\n}\n```\n\n### 3. State Prerequisites\n\n```typescript\n{\n \"endpoint\": { \"path\": \"/orders/{orderId}/status\", \"method\": \"get\" },\n \"description\": \"Order must be in 'confirmed' state before shipping\"\n}\n```\n\n### 4. Business Logic Dependencies\n\n```typescript\n{\n \"endpoint\": {\n \"path\": \"/inventory/{productId}/stock\",\n \"method\": \"get\"\n },\n \"description\": \"Product must have sufficient stock before creating order\"\n}\n```\n\n## Implementation Guidelines\n\n1. **Clear Descriptions**: Always explain WHY the prerequisite is needed\n2. **Minimal Dependencies**: Only include truly necessary prerequisites\n3. **Logical Order**: If multiple prerequisites exist, order them logically\n4. **Error Context**: Description should help understand failure scenarios\n5. **No Authentication**: Prerequisites must NEVER be authentication checks\n\n## Test Generation Usage\n\nThe Test Agent utilizes prerequisites to:\n\n- Set up test data in the correct sequence\n- Generate realistic test scenarios\n- Create both positive and negative test cases\n- Ensure proper cleanup in reverse dependency order\n\n## Best Practices\n\n- Keep prerequisite chains as short as possible for performance\n- Consider caching prerequisite results when safe to do so\n- Ensure prerequisite descriptions are specific, not generic\n- Validate that circular dependencies don't exist\n- Document any side effects of prerequisite calls\n- NEVER use for authentication/authorization validation",
591
591
  type: "object",
592
592
  properties: {
593
593
  endpoint: {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateInterfacePrerequisites.js","sourceRoot":"","sources":["../../../src/orchestrate/interface/orchestrateInterfacePrerequisites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrateInterfacePrerequisites.js","sourceRoot":"","sources":["../../../src/orchestrate/interface/orchestrateInterfacePrerequisites.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { AutoBeInterfaceSchemaRefactor, AutoBeOpenApi } from "@autobe/interface";
2
+ import { ILlmSchema } from "@samchon/openapi";
3
+ import { AutoBeContext } from "../../context/AutoBeContext";
4
+ export declare function orchestrateInterfaceSchemaRename<Mode extends ILlmSchema.Model>(ctx: AutoBeContext<Mode>, document: AutoBeOpenApi.IDocument, capacity?: number): Promise<void>;
5
+ export declare namespace orchestrateInterfaceSchemaRename {
6
+ const rename: (document: AutoBeOpenApi.IDocument, refactors: AutoBeInterfaceSchemaRefactor[]) => void;
7
+ }