@autobe/agent 0.18.0 → 0.20.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 (341) hide show
  1. package/lib/AutoBeMockAgent.d.ts +2 -10
  2. package/lib/agent/src/AutoBeAgent.js +8 -2
  3. package/lib/agent/src/AutoBeAgent.js.map +1 -1
  4. package/lib/agent/src/AutoBeMockAgent.d.ts +2 -10
  5. package/lib/agent/src/AutoBeMockAgent.js +10 -5
  6. package/lib/agent/src/AutoBeMockAgent.js.map +1 -1
  7. package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +23 -29
  8. package/lib/agent/src/constants/AutoBeSystemPromptConstant.js.map +1 -1
  9. package/lib/agent/src/context/AutoBeContext.d.ts +1 -0
  10. package/lib/agent/src/context/AutoBeTokenUsageComponent.d.ts +1 -0
  11. package/lib/agent/src/context/AutoBeTokenUsageComponent.js +14 -0
  12. package/lib/agent/src/context/AutoBeTokenUsageComponent.js.map +1 -1
  13. package/lib/agent/src/factory/consentFunctionCall.d.ts +10 -0
  14. package/lib/agent/src/factory/consentFunctionCall.js +213 -0
  15. package/lib/agent/src/factory/consentFunctionCall.js.map +1 -0
  16. package/lib/agent/src/factory/createAgenticaHistory.js +1 -0
  17. package/lib/agent/src/factory/createAgenticaHistory.js.map +1 -1
  18. package/lib/agent/src/factory/createAutoBeContext.js +79 -19
  19. package/lib/agent/src/factory/createAutoBeContext.js.map +1 -1
  20. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +6 -0
  21. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js +41 -0
  22. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +1 -0
  23. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +12 -9
  24. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
  25. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +3 -1
  26. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js +45 -31
  27. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -1
  28. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js +25 -6
  29. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  30. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +8 -3
  31. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js +15 -12
  32. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
  33. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js +33 -44
  34. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  35. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +6 -4
  36. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js +10 -4
  37. package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
  38. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +16 -16
  39. package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +5 -5
  40. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js +45 -45
  41. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +1 -1
  42. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +14 -14
  43. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +1 -1
  44. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js +31 -30
  45. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -1
  46. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +24 -31
  47. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -1
  48. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js +4 -4
  49. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -1
  50. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js +27 -26
  51. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -1
  52. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +13 -12
  53. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -1
  54. package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.js +4 -4
  55. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +11 -10
  56. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -1
  57. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +36 -29
  58. package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +1 -1
  59. package/lib/agent/src/orchestrate/interface/orchestrateInterface.js +31 -9
  60. package/lib/agent/src/orchestrate/interface/orchestrateInterface.js.map +1 -1
  61. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +2 -2
  62. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js +1571 -1144
  63. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
  64. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js +24 -4
  65. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
  66. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js +6 -2
  67. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
  68. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.d.ts +2 -2
  69. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js +12 -14
  70. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
  71. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js +103 -71
  72. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  73. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +2 -3
  74. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +147 -116
  75. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
  76. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js +401 -233
  77. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
  78. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +2 -5
  79. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js +362 -178
  80. package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +1 -1
  81. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +38 -0
  82. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +16 -16
  83. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +97 -14
  84. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +75 -1
  85. package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +46 -14
  86. package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +18 -24
  87. package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.d.ts +7 -0
  88. package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.js +35 -0
  89. package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.js.map +1 -0
  90. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js +60 -66
  91. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -1
  92. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js +19 -30
  93. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +1 -1
  94. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js +38 -35
  95. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +1 -1
  96. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +39 -26
  97. package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -1
  98. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js +15 -4
  99. package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js.map +1 -1
  100. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.d.ts +1 -2
  101. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js +7 -9
  102. package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  103. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js +38 -2
  104. package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  105. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js +61 -10
  106. package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
  107. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js +68 -24
  108. package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
  109. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js +24 -21
  110. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js.map +1 -1
  111. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js +59 -57
  112. package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +1 -1
  113. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +1 -0
  114. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js +17 -13
  115. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +1 -1
  116. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +3 -0
  117. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js +287 -0
  118. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +1 -0
  119. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +5 -2
  120. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +46 -49
  121. package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
  122. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.d.ts +7 -0
  123. package/lib/agent/src/orchestrate/realize/internal/{compile.js → compileRealizeFiles.js} +12 -29
  124. package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.js.map +1 -0
  125. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js +76 -45
  126. package/lib/agent/src/orchestrate/realize/orchestrateRealize.js.map +1 -1
  127. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js +15 -9
  128. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
  129. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +9 -7
  130. package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
  131. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.d.ts +9 -6
  132. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js +25 -20
  133. package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
  134. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -66
  135. package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +1 -1
  136. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.d.ts +8 -6
  137. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js +36 -27
  138. package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
  139. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +3 -3
  140. package/lib/agent/src/orchestrate/{internal/IProgress.js → realize/structures/IAutoBeRealizeCorrectApplication.js} +1 -1
  141. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.js.map +1 -0
  142. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +19 -16
  143. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js +5 -1
  144. package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js.map +1 -1
  145. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js +13 -10
  146. package/lib/agent/src/orchestrate/test/compile/completeTestCode.js.map +1 -1
  147. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js +17 -16
  148. package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
  149. package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js +33 -32
  150. package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js.map +1 -1
  151. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.d.ts +2 -1
  152. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +97 -49
  153. package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -1
  154. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +3 -3
  155. package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
  156. package/lib/agent/src/orchestrate/test/orchestrateTest.js +17 -4
  157. package/lib/agent/src/orchestrate/test/orchestrateTest.js.map +1 -1
  158. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js +18 -9
  159. package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  160. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js +138 -23
  161. package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  162. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js +17 -17
  163. package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  164. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +7 -6
  165. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +1 -1
  166. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.d.ts +6 -0
  167. package/lib/agent/src/orchestrate/{realize/structures/IAutoBeRealizeCoderApplication.js → test/structures/IAutoBeTestScenarioAuthorizationRole.js} +1 -1
  168. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.js.map +1 -0
  169. package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +2 -2
  170. package/lib/agent/src/utils/executeCachedBatch.d.ts +1 -0
  171. package/lib/agent/src/utils/executeCachedBatch.js +23 -0
  172. package/lib/agent/src/utils/executeCachedBatch.js.map +1 -0
  173. package/lib/agent/src/utils/predicateStateMessage.d.ts +4 -0
  174. package/lib/agent/src/utils/predicateStateMessage.js +87 -0
  175. package/lib/agent/src/utils/predicateStateMessage.js.map +1 -0
  176. package/lib/constants/AutoBeSystemPromptConstant.d.ts +23 -29
  177. package/lib/context/AutoBeContext.d.ts +1 -0
  178. package/lib/context/AutoBeTokenUsageComponent.d.ts +1 -0
  179. package/lib/factory/consentFunctionCall.d.ts +10 -0
  180. package/lib/index.mjs +4799 -2637
  181. package/lib/index.mjs.map +1 -1
  182. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +6 -0
  183. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +3 -1
  184. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +8 -3
  185. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +6 -4
  186. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +16 -16
  187. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +5 -5
  188. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +2 -2
  189. package/lib/orchestrate/interface/orchestrateInterfaceGroups.d.ts +2 -2
  190. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +2 -3
  191. package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +2 -5
  192. package/lib/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +38 -0
  193. package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +16 -16
  194. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +97 -14
  195. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +75 -1
  196. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +46 -14
  197. package/lib/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +18 -24
  198. package/lib/orchestrate/interface/utils/validateAuthorizationSchema.d.ts +7 -0
  199. package/lib/orchestrate/prisma/orchestratePrismaComponent.d.ts +1 -2
  200. package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +1 -0
  201. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +3 -0
  202. package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +5 -2
  203. package/lib/orchestrate/realize/internal/compileRealizeFiles.d.ts +7 -0
  204. package/lib/orchestrate/realize/orchestrateRealizeCorrect.d.ts +9 -6
  205. package/lib/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -66
  206. package/lib/orchestrate/realize/orchestrateRealizeWrite.d.ts +8 -6
  207. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +3 -3
  208. package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +19 -16
  209. package/lib/orchestrate/test/histories/transformTestScenarioHistories.d.ts +2 -1
  210. package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +7 -6
  211. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +1 -1
  212. package/lib/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.d.ts +6 -0
  213. package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +2 -2
  214. package/lib/utils/executeCachedBatch.d.ts +1 -0
  215. package/lib/utils/predicateStateMessage.d.ts +4 -0
  216. package/package.json +6 -6
  217. package/src/AutoBeAgent.ts +18 -3
  218. package/src/AutoBeMockAgent.ts +13 -15
  219. package/src/constants/AutoBeSystemPromptConstant.ts +23 -29
  220. package/src/context/AutoBeContext.ts +1 -0
  221. package/src/context/AutoBeTokenUsageComponent.ts +20 -0
  222. package/src/factory/consentFunctionCall.ts +129 -0
  223. package/src/factory/createAgenticaHistory.ts +1 -0
  224. package/src/factory/createAutoBeContext.ts +108 -20
  225. package/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.ts +53 -0
  226. package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.ts +13 -10
  227. package/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.ts +68 -47
  228. package/src/orchestrate/analyze/orchestrateAnalyze.ts +33 -21
  229. package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +21 -10
  230. package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +18 -40
  231. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +15 -8
  232. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +16 -16
  233. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +5 -5
  234. package/src/orchestrate/interface/histories/transformInterfaceAssetHistories.ts +47 -47
  235. package/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.ts +14 -14
  236. package/src/orchestrate/interface/histories/transformInterfaceComplementHistories.ts +31 -30
  237. package/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.ts +20 -29
  238. package/src/orchestrate/interface/histories/transformInterfaceGroupHistories.ts +3 -3
  239. package/src/orchestrate/interface/histories/transformInterfaceOperationHistories.ts +23 -22
  240. package/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.ts +12 -11
  241. package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.ts +5 -5
  242. package/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.ts +11 -10
  243. package/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.ts +37 -30
  244. package/src/orchestrate/interface/orchestrateInterface.ts +53 -12
  245. package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +142 -32
  246. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +2 -0
  247. package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +13 -9
  248. package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +8 -19
  249. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +82 -74
  250. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +51 -32
  251. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +174 -56
  252. package/src/orchestrate/interface/orchestrateInterfaceSchemasReview.ts +149 -63
  253. package/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.ts +39 -0
  254. package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +16 -16
  255. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +101 -14
  256. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.ts +77 -1
  257. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +47 -14
  258. package/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.ts +18 -24
  259. package/src/orchestrate/interface/utils/validateAuthorizationSchema.ts +41 -0
  260. package/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.ts +61 -66
  261. package/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.ts +19 -30
  262. package/src/orchestrate/prisma/histories/transformPrismaReviewHistories.ts +38 -35
  263. package/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.ts +36 -23
  264. package/src/orchestrate/prisma/orchestratePrisma.ts +17 -6
  265. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +8 -19
  266. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +3 -0
  267. package/src/orchestrate/prisma/orchestratePrismaReview.ts +37 -18
  268. package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +25 -17
  269. package/src/orchestrate/realize/histories/transformRealizeAuthorization.ts +24 -21
  270. package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.ts +57 -59
  271. package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +20 -14
  272. package/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.ts +294 -0
  273. package/src/orchestrate/realize/histories/transformRealizeWriteHistories.ts +62 -57
  274. package/src/orchestrate/realize/internal/compileRealizeFiles.ts +71 -0
  275. package/src/orchestrate/realize/orchestrateRealize.ts +109 -86
  276. package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +22 -13
  277. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +3 -0
  278. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +28 -24
  279. package/src/orchestrate/realize/orchestrateRealizeScenario.ts +0 -74
  280. package/src/orchestrate/realize/orchestrateRealizeWrite.ts +37 -28
  281. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.ts +3 -3
  282. package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +19 -16
  283. package/src/orchestrate/realize/utils/replaceImportStatements.ts +7 -0
  284. package/src/orchestrate/test/compile/completeTestCode.ts +17 -13
  285. package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +4 -4
  286. package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +17 -16
  287. package/src/orchestrate/test/histories/transformTestHistories.ts +35 -34
  288. package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +116 -60
  289. package/src/orchestrate/test/histories/transformTestWriteHistories.ts +3 -3
  290. package/src/orchestrate/test/orchestrateTest.ts +18 -8
  291. package/src/orchestrate/test/orchestrateTestCorrect.ts +34 -24
  292. package/src/orchestrate/test/orchestrateTestScenario.ts +179 -36
  293. package/src/orchestrate/test/orchestrateTestWrite.ts +18 -19
  294. package/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.ts +7 -6
  295. package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +1 -1
  296. package/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.ts +7 -0
  297. package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +2 -2
  298. package/src/utils/executeCachedBatch.ts +15 -0
  299. package/src/utils/predicateStateMessage.ts +107 -0
  300. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +0 -4
  301. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.js +0 -46
  302. package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.js.map +0 -1
  303. package/lib/agent/src/orchestrate/internal/IProgress.d.ts +0 -4
  304. package/lib/agent/src/orchestrate/internal/IProgress.js.map +0 -1
  305. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.d.ts +0 -7
  306. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.js +0 -213
  307. package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.js.map +0 -1
  308. package/lib/agent/src/orchestrate/realize/internal/compile.d.ts +0 -7
  309. package/lib/agent/src/orchestrate/realize/internal/compile.js.map +0 -1
  310. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +0 -345
  311. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.js.map +0 -1
  312. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +0 -56
  313. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.js +0 -3
  314. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.js.map +0 -1
  315. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +0 -2
  316. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js +0 -5
  317. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js.map +0 -1
  318. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.js +0 -3
  319. package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.js.map +0 -1
  320. package/lib/agent/src/utils/pipe.d.ts +0 -5
  321. package/lib/agent/src/utils/pipe.js +0 -14
  322. package/lib/agent/src/utils/pipe.js.map +0 -1
  323. package/lib/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +0 -4
  324. package/lib/orchestrate/internal/IProgress.d.ts +0 -4
  325. package/lib/orchestrate/realize/histories/transformRealizeCoderHistories.d.ts +0 -7
  326. package/lib/orchestrate/realize/internal/compile.d.ts +0 -7
  327. package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +0 -345
  328. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +0 -56
  329. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +0 -2
  330. package/lib/utils/pipe.d.ts +0 -5
  331. package/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.ts +0 -53
  332. package/src/orchestrate/internal/IProgress.ts +0 -4
  333. package/src/orchestrate/realize/histories/transformRealizeCoderHistories.ts +0 -248
  334. package/src/orchestrate/realize/internal/compile.ts +0 -84
  335. package/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.ts +0 -358
  336. package/src/orchestrate/realize/structures/IAutoBeRealizeCompile.ts +0 -70
  337. package/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.ts +0 -2
  338. package/src/utils/pipe.ts +0 -39
  339. /package/lib/agent/src/orchestrate/realize/structures/{IAutoBeRealizeReviewApplication.d.ts → IAutoBeRealizeCorrectApplication.d.ts} +0 -0
  340. /package/lib/orchestrate/realize/structures/{IAutoBeRealizeReviewApplication.d.ts → IAutoBeRealizeCorrectApplication.d.ts} +0 -0
  341. /package/src/orchestrate/realize/structures/{IAutoBeRealizeReviewApplication.ts → IAutoBeRealizeCorrectApplication.ts} +0 -0
@@ -10,6 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.orchestrateAnalyze = void 0;
13
+ const uuid_1 = require("uuid");
14
+ const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
13
15
  const orchestrateAnalyzeReview_1 = require("./orchestrateAnalyzeReview");
14
16
  const orchestrateAnalyzeScenario_1 = require("./orchestrateAnalyzeScenario");
15
17
  const orchestrateAnalyzeWrite_1 = require("./orchestrateAnalyzeWrite");
@@ -20,6 +22,7 @@ const orchestrateAnalyze = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
20
22
  const startTime = new Date();
21
23
  ctx.dispatch({
22
24
  type: "analyzeStart",
25
+ id: (0, uuid_1.v7)(),
23
26
  reason: props.reason,
24
27
  step,
25
28
  created_at: startTime.toISOString(),
@@ -35,8 +38,13 @@ const orchestrateAnalyze = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
35
38
  total: scenario.files.length,
36
39
  completed: 0,
37
40
  };
38
- const fileList = yield Promise.all(scenario.files.map((file) => __awaiter(void 0, void 0, void 0, function* () {
39
- const event = yield (0, orchestrateAnalyzeWrite_1.orchestrateAnalyzeWrite)(ctx, scenario, file, writeProgress);
41
+ const fileList = yield (0, executeCachedBatch_1.executeCachedBatch)(scenario.files.map((file) => (promptCacheKey) => __awaiter(void 0, void 0, void 0, function* () {
42
+ const event = yield (0, orchestrateAnalyzeWrite_1.orchestrateAnalyzeWrite)(ctx, {
43
+ scenario,
44
+ file,
45
+ progress: writeProgress,
46
+ promptCacheKey,
47
+ });
40
48
  return event.file;
41
49
  })));
42
50
  // review documents
@@ -44,14 +52,25 @@ const orchestrateAnalyze = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
44
52
  total: fileList.length,
45
53
  completed: 0,
46
54
  };
47
- const newFiles = yield Promise.all(fileList.map((file, i) => __awaiter(void 0, void 0, void 0, function* () {
48
- const event = yield (0, orchestrateAnalyzeReview_1.orchestrateAnalyzeReview)(ctx, scenario, fileList.filter((_, j) => j !== i), // other files
49
- file, reviewProgress);
50
- return Object.assign(Object.assign({}, event.file), { content: event.content });
55
+ const newFiles = yield (0, executeCachedBatch_1.executeCachedBatch)(fileList.map((file) => (promptCacheKey) => __awaiter(void 0, void 0, void 0, function* () {
56
+ try {
57
+ const event = yield (0, orchestrateAnalyzeReview_1.orchestrateAnalyzeReview)(ctx, {
58
+ scenario,
59
+ allFiles: fileList, // all files
60
+ myFile: file,
61
+ progress: reviewProgress,
62
+ promptCacheKey,
63
+ });
64
+ return Object.assign(Object.assign({}, event.file), { content: event.content });
65
+ }
66
+ catch (_a) {
67
+ return file;
68
+ }
51
69
  })));
52
70
  // Complete the analysis
53
71
  return ctx.dispatch({
54
72
  type: "analyzeComplete",
73
+ id: (0, uuid_1.v7)(),
55
74
  roles: scenario.roles,
56
75
  prefix: scenario.prefix,
57
76
  files: newFiles,
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateAnalyze.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyze.ts"],"names":[],"mappings":";;;;;;;;;;;;AAaA,yEAAsE;AACtE,6EAA0E;AAC1E,uEAAoE;AAE7D,MAAM,kBAAkB,GAC7B,CAAiC,GAAyB,EAAE,EAAE,CAC9D,CACE,KAA8B,EACiC,EAAE;;IACjE,4BAA4B;IAC5B,MAAM,IAAI,GAAW,CAAC,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAEnC,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI;QACJ,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,QAAQ,GACZ,MAAM,IAAA,uDAA0B,EAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB;QACtC,OAAO,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;;QACnC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE5B,kBAAkB;IAClB,MAAM,aAAa,GAAc;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC5B,SAAS,EAAE,CAAC;KACb,CAAC;IACF,MAAM,QAAQ,GAAwB,MAAM,OAAO,CAAC,GAAG,CACrD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;QAChC,MAAM,KAAK,GAA4B,MAAM,IAAA,iDAAuB,EAClE,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,aAAa,CACd,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC,CAAA,CAAC,CACH,CAAC;IAEF,mBAAmB;IACnB,MAAM,cAAc,GAAc;QAChC,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,SAAS,EAAE,CAAC;KACb,CAAC;IACF,MAAM,QAAQ,GAAwB,MAAM,OAAO,CAAC,GAAG,CACrD,QAAQ,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,KAAK,GAA6B,MAAM,IAAA,mDAAwB,EACpE,GAAG,EACH,QAAQ,EACR,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc;QAClD,IAAI,EACJ,cAAc,CACf,CAAC;QACF,uCACK,KAAK,CAAC,IAAI,KACb,OAAO,EAAE,KAAK,CAAC,OAAO,IACtB;IACJ,CAAC,CAAA,CAAC,CACH,CAAC;IAEF,wBAAwB;IACxB,OAAO,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ;QACf,IAAI;QACJ,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACnD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAgC,CAAC;AACpC,CAAC,CAAA,CAAC;AAvES,QAAA,kBAAkB,sBAuE3B"}
1
+ {"version":3,"file":"orchestrateAnalyze.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyze.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,+BAA0B;AAI1B,uEAAoE;AACpE,yEAAsE;AACtE,6EAA0E;AAC1E,uEAAoE;AAE7D,MAAM,kBAAkB,GAC7B,CAAiC,GAAyB,EAAE,EAAE,CAC9D,CACE,KAA8B,EACiC,EAAE;;IACjE,4BAA4B;IAC5B,MAAM,IAAI,GAAW,CAAC,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAEnC,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,IAAA,SAAE,GAAE;QACR,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI;QACJ,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,QAAQ,GACZ,MAAM,IAAA,uDAA0B,EAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB;QACtC,OAAO,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;;QACnC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE5B,kBAAkB;IAClB,MAAM,aAAa,GAA4B;QAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC5B,SAAS,EAAE,CAAC;KACb,CAAC;IACF,MAAM,QAAQ,GAAwB,MAAM,IAAA,uCAAkB,EAC5D,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAO,cAAc,EAAE,EAAE;QACpD,MAAM,KAAK,GAA4B,MAAM,IAAA,iDAAuB,EAClE,GAAG,EACH;YACE,QAAQ;YACR,IAAI;YACJ,QAAQ,EAAE,aAAa;YACvB,cAAc;SACf,CACF,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC,CAAA,CAAC,CACH,CAAC;IAEF,mBAAmB;IACnB,MAAM,cAAc,GAA4B;QAC9C,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,SAAS,EAAE,CAAC;KACb,CAAC;IACF,MAAM,QAAQ,GAAwB,MAAM,IAAA,uCAAkB,EAC5D,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAO,cAAc,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,KAAK,GACT,MAAM,IAAA,mDAAwB,EAAC,GAAG,EAAE;gBAClC,QAAQ;gBACR,QAAQ,EAAE,QAAQ,EAAE,YAAY;gBAChC,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,cAAc;gBACxB,cAAc;aACf,CAAC,CAAC;YACL,uCACK,KAAK,CAAC,IAAI,KACb,OAAO,EAAE,KAAK,CAAC,OAAO,IACtB;QACJ,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAA,CAAC,CACH,CAAC;IAEF,wBAAwB;IACxB,OAAO,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,IAAA,SAAE,GAAE;QACR,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ;QACf,IAAI;QACJ,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACnD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAgC,CAAC;AACpC,CAAC,CAAA,CAAC;AAjFS,QAAA,kBAAkB,sBAiF3B"}
@@ -1,6 +1,11 @@
1
- import { AutoBeAnalyzeReviewEvent, AutoBeAnalyzeScenarioEvent } from "@autobe/interface";
1
+ import { AutoBeAnalyzeReviewEvent, AutoBeAnalyzeScenarioEvent, AutoBeProgressEventBase } from "@autobe/interface";
2
2
  import { AutoBeAnalyzeFile } from "@autobe/interface/src/histories/contents/AutoBeAnalyzeFile";
3
3
  import { ILlmSchema } from "@samchon/openapi";
4
4
  import { AutoBeContext } from "../../context/AutoBeContext";
5
- import { IProgress } from "../internal/IProgress";
6
- export declare const orchestrateAnalyzeReview: <Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, scenario: AutoBeAnalyzeScenarioEvent, otherFiles: AutoBeAnalyzeFile[], myFile: AutoBeAnalyzeFile, progress: IProgress) => Promise<AutoBeAnalyzeReviewEvent>;
5
+ export declare const orchestrateAnalyzeReview: <Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, props: {
6
+ scenario: AutoBeAnalyzeScenarioEvent;
7
+ allFiles: AutoBeAnalyzeFile[];
8
+ myFile: AutoBeAnalyzeFile;
9
+ progress: AutoBeProgressEventBase;
10
+ promptCacheKey: string;
11
+ }) => Promise<AutoBeAnalyzeReviewEvent>;
@@ -48,9 +48,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.orchestrateAnalyzeReview = void 0;
49
49
  const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
50
50
  const typia_1 = __importDefault(require("typia"));
51
+ const uuid_1 = require("uuid");
51
52
  const assertSchemaModel_1 = require("../../context/assertSchemaModel");
52
- const transformAnalyzeReviewerHistories_1 = require("./histories/transformAnalyzeReviewerHistories");
53
- const orchestrateAnalyzeReview = (ctx, scenario, otherFiles, myFile, progress) => __awaiter(void 0, void 0, void 0, function* () {
53
+ const transformAnalyzeReviewHistories_1 = require("./histories/transformAnalyzeReviewHistories");
54
+ const orchestrateAnalyzeReview = (ctx, props) => __awaiter(void 0, void 0, void 0, function* () {
54
55
  var _a, _b;
55
56
  const pointer = {
56
57
  value: null,
@@ -62,22 +63,24 @@ const orchestrateAnalyzeReview = (ctx, scenario, otherFiles, myFile, progress) =
62
63
  pointer,
63
64
  }),
64
65
  histories: [
65
- ...(0, transformAnalyzeReviewerHistories_1.transformAnalyzeReviewerHistories)(scenario, otherFiles, myFile),
66
+ ...(0, transformAnalyzeReviewHistories_1.transformAnalyzeReviewHistories)(ctx, props.scenario, props.allFiles, props.myFile),
66
67
  ],
67
68
  enforceFunctionCall: true,
69
+ promptCacheKey: props.promptCacheKey,
68
70
  message: "Review the requirement document",
69
71
  });
70
72
  if (pointer.value === null)
71
73
  throw new Error("Failed to extract review information.");
72
74
  const event = {
73
75
  type: "analyzeReview",
74
- file: myFile,
76
+ id: (0, uuid_1.v7)(),
77
+ file: props.myFile,
75
78
  plan: pointer.value.plan,
76
79
  review: pointer.value.review,
77
80
  content: pointer.value.content,
78
81
  tokenUsage,
79
- total: progress.total,
80
- completed: ++progress.completed,
82
+ total: props.progress.total,
83
+ completed: ++props.progress.completed,
81
84
  step: ((_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : -1) + 1,
82
85
  created_at: new Date().toISOString(),
83
86
  };
@@ -113,7 +116,7 @@ const claude = {
113
116
  type: "object",
114
117
  properties: {
115
118
  review: {
116
- description: "The enhancement criteria and guidelines that the agent must follow.\n\nThis includes:\n\n- Minimum document length requirements\n- Section completeness checks\n- Link validation rules\n- Mermaid syntax validation (especially parentheses in labels)\n- Content specificity requirements\n- EARS format compliance\n\nThe review criteria ensure that documentation is implementation-ready and\nremoves all ambiguity for backend developers.\n\nCritical review points:\n\n- Mermaid diagrams MUST use double quotes for ALL labels\n- No spaces allowed between brackets and quotes in Mermaid\n- Requirements must be specific and measurable in natural language\n- Focus on business requirements and user scenarios\n- STRICTLY PROHIBITED: Reject if document contains database schemas or API\n specifications\n- Business model and authentication requirements must be described in\n natural language",
119
+ description: "The enhancement criteria and guidelines that the agent must follow.\n\nThis includes:\n\n- Minimum document length requirements\n- Section completeness checks\n- Link validation rules\n- Mermaid syntax validation (especially parentheses in labels)\n- Content specificity requirements\n- EARS format compliance\n\nThe review criteria ensure that documentation is implementation-ready and\nremoves all ambiguity for backend developers.\n\nCritical review points:\n\n- DO: Use double quotes for ALL labels in Mermaid diagrams\n- DO NOT: Use spaces between brackets and quotes in Mermaid\n- DO: Make requirements specific and measurable in natural language\n- DO: Focus on business requirements and user scenarios\n- DO NOT: Accept documents containing database schemas or API specifications\n- DO: Describe business model and authentication requirements in natural language",
117
120
  type: "string"
118
121
  },
119
122
  plan: {
@@ -121,7 +124,7 @@ const claude = {
121
124
  type: "string"
122
125
  },
123
126
  content: {
124
- description: "The actual markdown document content that incorporates review feedback.\n\n\u26A0\uFE0F CRITICAL: This field contains a COMPLETE MARKDOWN DOCUMENT that has \nalready incorporated the review criteria and plan requirements. This is \nNOT raw input to be reviewed - it is the FINAL, PRODUCTION-READY DOCUMENT\nthat reflects all review feedback and is immediately usable.\n\nThis content represents:\n- A fully-formed markdown document (.md file)\n- The result of applying review criteria to the original plan\n- A production-ready document for immediate deployment\n- Complete business requirements ready for developers\n\nThe enhancer should treat this as the actual document content:\n\n- Length and completeness (minimum 2,000 characters, more for technical\n docs)\n- All sections from the plan are fully written\n- No vague or abstract statements\n- Proper use of EARS format for requirements\n- Correct Mermaid diagram syntax (double quotes mandatory)\n- Appropriate level of detail for backend implementation\n- Proper document linking (descriptive text, not raw filenames)\n\nIMPORTANT: The enhancer's output IS this document, not comments about it:\n\n- If content is provided, it represents the actual document\n- The enhancer outputs the enhanced version AS the document itself\n- No meta-commentary or review feedback should be in the output\n- The output becomes the saved .md file directly\n\nExample of what this field contains:\n\"# Service Overview\\n## Vision\\nThe service provides...\" (actual document)\nNOT: \"This document should cover service overview...\" (review comment)",
127
+ description: "The actual markdown document content that incorporates review feedback.\n\nThis field contains a COMPLETE MARKDOWN DOCUMENT that has already \nincorporated the review criteria and plan requirements.\n\nDO: Treat this as the final, production-ready document.\nDO NOT: Treat this as raw input to be reviewed.\n\nThis content represents:\n- A fully-formed markdown document (.md file)\n- The result of applying review criteria to the original plan\n- A production-ready document for immediate deployment\n- Complete business requirements ready for developers\n\nThe enhancer should treat this as the actual document content:\n\n- Length and completeness (minimum 2,000 characters, more for technical\n docs)\n- All sections from the plan are fully written\n- No vague or abstract statements\n- Proper use of EARS format for requirements\n- Correct Mermaid diagram syntax (double quotes mandatory)\n- Appropriate level of detail for backend implementation\n- Proper document linking (descriptive text, not raw filenames)\n\nThe enhancer outputs the document itself:\n\n- If content is provided, it represents the actual document\n- The enhancer outputs the enhanced version AS the document itself\n- No meta-commentary or review feedback should be in the output\n- The output becomes the saved .md file directly\n\nExample of what this field contains:\n\"# Service Overview\\n## Vision\\nThe service provides...\" (actual document)\nNOT: \"This document should cover service overview...\" (review comment)",
125
128
  type: "string"
126
129
  }
127
130
  },
@@ -133,7 +136,7 @@ const claude = {
133
136
  additionalProperties: false,
134
137
  $defs: {}
135
138
  },
136
- description: "Enhances planning documentation to meet all quality standards and requirements.\n\nThis function receives a document and outputs an improved version directly.\nThe output IS the enhanced document itself, NOT review comments or feedback.\n\nThe enhancement process includes:\n- Expanding sections that are too brief\n- Converting vague statements to specific EARS format requirements\n- Fixing Mermaid diagram syntax errors\n- Adding missing business processes and workflows\n- Ensuring proper document structure and completeness\n\nCRITICAL: The function outputs the actual document content that will be saved,\nnot a review or analysis of the document. Any text output becomes part of\nthe final document.",
139
+ description: "Enhances planning documentation to meet all quality standards and requirements.\n\nThis function receives a document and outputs an improved version directly.\nThe output IS the enhanced document itself, NOT review comments or feedback.\n\nThe enhancement process includes:\n- Expanding sections that are too brief\n- Converting vague statements to specific EARS format requirements\n- Fixing Mermaid diagram syntax errors\n- Adding missing business processes and workflows\n- Ensuring proper document structure and completeness\n\nDO: Output the actual document content that will be saved.\nDO NOT: Output review comments or analysis of the document.\n\nNote: Any text output becomes part of the final document.",
137
140
  validate: (() => { const _io0 = input => "string" === typeof input.review && "string" === typeof input.plan && "string" === typeof input.content; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.review || _report(_exceptionable, {
138
141
  path: _path + ".review",
139
142
  expected: "string",
@@ -193,7 +196,7 @@ const collection = {
193
196
  type: "object",
194
197
  properties: {
195
198
  review: {
196
- description: "The enhancement criteria and guidelines that the agent must follow.\n\nThis includes:\n\n- Minimum document length requirements\n- Section completeness checks\n- Link validation rules\n- Mermaid syntax validation (especially parentheses in labels)\n- Content specificity requirements\n- EARS format compliance\n\nThe review criteria ensure that documentation is implementation-ready and\nremoves all ambiguity for backend developers.\n\nCritical review points:\n\n- Mermaid diagrams MUST use double quotes for ALL labels\n- No spaces allowed between brackets and quotes in Mermaid\n- Requirements must be specific and measurable in natural language\n- Focus on business requirements and user scenarios\n- STRICTLY PROHIBITED: Reject if document contains database schemas or API\n specifications\n- Business model and authentication requirements must be described in\n natural language",
199
+ description: "The enhancement criteria and guidelines that the agent must follow.\n\nThis includes:\n\n- Minimum document length requirements\n- Section completeness checks\n- Link validation rules\n- Mermaid syntax validation (especially parentheses in labels)\n- Content specificity requirements\n- EARS format compliance\n\nThe review criteria ensure that documentation is implementation-ready and\nremoves all ambiguity for backend developers.\n\nCritical review points:\n\n- DO: Use double quotes for ALL labels in Mermaid diagrams\n- DO NOT: Use spaces between brackets and quotes in Mermaid\n- DO: Make requirements specific and measurable in natural language\n- DO: Focus on business requirements and user scenarios\n- DO NOT: Accept documents containing database schemas or API specifications\n- DO: Describe business model and authentication requirements in natural language",
197
200
  type: "string"
198
201
  },
199
202
  plan: {
@@ -201,7 +204,7 @@ const collection = {
201
204
  type: "string"
202
205
  },
203
206
  content: {
204
- description: "The actual markdown document content that incorporates review feedback.\n\n\u26A0\uFE0F CRITICAL: This field contains a COMPLETE MARKDOWN DOCUMENT that has \nalready incorporated the review criteria and plan requirements. This is \nNOT raw input to be reviewed - it is the FINAL, PRODUCTION-READY DOCUMENT\nthat reflects all review feedback and is immediately usable.\n\nThis content represents:\n- A fully-formed markdown document (.md file)\n- The result of applying review criteria to the original plan\n- A production-ready document for immediate deployment\n- Complete business requirements ready for developers\n\nThe enhancer should treat this as the actual document content:\n\n- Length and completeness (minimum 2,000 characters, more for technical\n docs)\n- All sections from the plan are fully written\n- No vague or abstract statements\n- Proper use of EARS format for requirements\n- Correct Mermaid diagram syntax (double quotes mandatory)\n- Appropriate level of detail for backend implementation\n- Proper document linking (descriptive text, not raw filenames)\n\nIMPORTANT: The enhancer's output IS this document, not comments about it:\n\n- If content is provided, it represents the actual document\n- The enhancer outputs the enhanced version AS the document itself\n- No meta-commentary or review feedback should be in the output\n- The output becomes the saved .md file directly\n\nExample of what this field contains:\n\"# Service Overview\\n## Vision\\nThe service provides...\" (actual document)\nNOT: \"This document should cover service overview...\" (review comment)",
207
+ description: "The actual markdown document content that incorporates review feedback.\n\nThis field contains a COMPLETE MARKDOWN DOCUMENT that has already \nincorporated the review criteria and plan requirements.\n\nDO: Treat this as the final, production-ready document.\nDO NOT: Treat this as raw input to be reviewed.\n\nThis content represents:\n- A fully-formed markdown document (.md file)\n- The result of applying review criteria to the original plan\n- A production-ready document for immediate deployment\n- Complete business requirements ready for developers\n\nThe enhancer should treat this as the actual document content:\n\n- Length and completeness (minimum 2,000 characters, more for technical\n docs)\n- All sections from the plan are fully written\n- No vague or abstract statements\n- Proper use of EARS format for requirements\n- Correct Mermaid diagram syntax (double quotes mandatory)\n- Appropriate level of detail for backend implementation\n- Proper document linking (descriptive text, not raw filenames)\n\nThe enhancer outputs the document itself:\n\n- If content is provided, it represents the actual document\n- The enhancer outputs the enhanced version AS the document itself\n- No meta-commentary or review feedback should be in the output\n- The output becomes the saved .md file directly\n\nExample of what this field contains:\n\"# Service Overview\\n## Vision\\nThe service provides...\" (actual document)\nNOT: \"This document should cover service overview...\" (review comment)",
205
208
  type: "string"
206
209
  }
207
210
  },
@@ -213,7 +216,7 @@ const collection = {
213
216
  additionalProperties: false,
214
217
  $defs: {}
215
218
  },
216
- description: "Enhances planning documentation to meet all quality standards and requirements.\n\nThis function receives a document and outputs an improved version directly.\nThe output IS the enhanced document itself, NOT review comments or feedback.\n\nThe enhancement process includes:\n- Expanding sections that are too brief\n- Converting vague statements to specific EARS format requirements\n- Fixing Mermaid diagram syntax errors\n- Adding missing business processes and workflows\n- Ensuring proper document structure and completeness\n\nCRITICAL: The function outputs the actual document content that will be saved,\nnot a review or analysis of the document. Any text output becomes part of\nthe final document.",
219
+ description: "Enhances planning documentation to meet all quality standards and requirements.\n\nThis function receives a document and outputs an improved version directly.\nThe output IS the enhanced document itself, NOT review comments or feedback.\n\nThe enhancement process includes:\n- Expanding sections that are too brief\n- Converting vague statements to specific EARS format requirements\n- Fixing Mermaid diagram syntax errors\n- Adding missing business processes and workflows\n- Ensuring proper document structure and completeness\n\nDO: Output the actual document content that will be saved.\nDO NOT: Output review comments or analysis of the document.\n\nNote: Any text output becomes part of the final document.",
217
220
  validate: (() => { const _io0 = input => "string" === typeof input.review && "string" === typeof input.plan && "string" === typeof input.content; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.review || _report(_exceptionable, {
218
221
  path: _path + ".review",
219
222
  expected: "string",
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateAnalyzeReview.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyzeReview.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,kDAA0B;AAG1B,uEAAoE;AAEpE,qGAAkG;AAG3F,MAAM,wBAAwB,GAAG,CACtC,GAAyB,EACzB,QAAoC,EACpC,UAA+B,EAC/B,MAAyB,EACzB,QAAmB,EACgB,EAAE;;IACrC,MAAM,OAAO,GAA4D;QACvE,KAAK,EAAE,IAAI;KACZ,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QAC1C,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,gBAAgB,CAAC;YAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO;SACR,CAAC;QACF,SAAS,EAAE;YACT,GAAG,IAAA,qEAAiC,EAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;SACnE;QACD,mBAAmB,EAAE,IAAI;QACzB,OAAO,EAAE,iCAAiC;KAC3C,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE3D,MAAM,KAAK,GAA6B;QACtC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;QAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;QAC9B,UAAU;QACV,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,EAAE,QAAQ,CAAC,SAAS;QAC/B,IAAI,EAAE,CAAC,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC,CAAA,CAAC;AAvCW,QAAA,wBAAwB,4BAuCnC;AAEF,SAAS,gBAAgB,CAAiC,KAGzD;IACC,IAAA,qCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CACmB,CAAC;IACtE,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW;QACX,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,CAAC;SACwC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGT,CAAC;AACJ,MAAM,UAAU,GAAG;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAqE;IAC5E,MAAM;IACN,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;CACd,CAAC"}
1
+ {"version":3,"file":"orchestrateAnalyzeReview.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyzeReview.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kDAA0B;AAC1B,+BAA0B;AAG1B,uEAAoE;AACpE,iGAA8F;AAGvF,MAAM,wBAAwB,GAAG,CACtC,GAAyB,EACzB,KAMC,EACkC,EAAE;;IACrC,MAAM,OAAO,GAA4D;QACvE,KAAK,EAAE,IAAI;KACZ,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QAC1C,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,gBAAgB,CAAC;YAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO;SACR,CAAC;QACF,SAAS,EAAE;YACT,GAAG,IAAA,iEAA+B,EAChC,GAAG,EACH,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,CACb;SACF;QACD,mBAAmB,EAAE,IAAI;QACzB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,iCAAiC;KAC3C,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE3D,MAAM,KAAK,GAA6B;QACtC,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,IAAA,SAAE,GAAE;QACR,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;QAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;QAC9B,UAAU;QACV,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;QAC3B,SAAS,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;QACrC,IAAI,EAAE,CAAC,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC,CAAA,CAAC;AAjDW,QAAA,wBAAwB,4BAiDnC;AAEF,SAAS,gBAAgB,CAAiC,KAGzD;IACC,IAAA,qCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CACmB,CAAC;IACtE,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW;QACX,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,CAAC;SACwC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGT,CAAC;AACJ,MAAM,UAAU,GAAG;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAqE;IAC5E,MAAM;IACN,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;CACd,CAAC"}
@@ -47,6 +47,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.orchestrateAnalyzeScenario = void 0;
49
49
  const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
50
+ const utils_1 = require("@autobe/utils");
50
51
  const typia_1 = __importDefault(require("typia"));
51
52
  const uuid_1 = require("uuid");
52
53
  const assertSchemaModel_1 = require("../../context/assertSchemaModel");
@@ -61,26 +62,26 @@ const orchestrateAnalyzeScenario = (ctx) => __awaiter(void 0, void 0, void 0, fu
61
62
  source: "analyzeScenario",
62
63
  controller: createController({
63
64
  model: ctx.model,
64
- execute: new AutoBeAnalyzeScenarioApplication(),
65
- preExecute: (props) => (pointer.value = props),
65
+ build: (value) => (pointer.value = value),
66
66
  }),
67
67
  histories: (0, transformAnalyzeScenarioHistories_1.transformAnalyzeSceHistories)(ctx),
68
68
  enforceFunctionCall: false,
69
- message: [
70
- `Design a complete list of documents and user roles for this project.`,
71
- `Define user roles that can authenticate via API and create appropriate documentation files.`,
72
- `You must respect the number of documents specified by the user.`,
73
- `Note that the user's locale is in ${ctx.locale}.`,
74
- ].join("\n"),
69
+ message: utils_1.StringUtil.trim `
70
+ Design a complete list of documents and user roles for this project.
71
+ Define user roles that can authenticate via API and create appropriate documentation files.
72
+ You must respect the number of documents specified by the user.
73
+ Note that the user's locale is in ${ctx.locale}.
74
+ `,
75
75
  });
76
76
  if (((_a = histories.at(-1)) === null || _a === void 0 ? void 0 : _a.type) === "assistantMessage")
77
- return Object.assign(Object.assign({}, histories.at(-1)), { created_at: start.toISOString(), completed_at: new Date().toISOString(), id: (0, uuid_1.v4)() });
77
+ return Object.assign(Object.assign({}, histories.at(-1)), { created_at: start.toISOString(), completed_at: new Date().toISOString(), id: (0, uuid_1.v7)() });
78
78
  else if (pointer.value === null) {
79
79
  // unreachable
80
80
  throw new Error("Failed to extract files and tables.");
81
81
  }
82
82
  return {
83
83
  type: "analyzeScenario",
84
+ id: (0, uuid_1.v7)(),
84
85
  prefix: pointer.value.prefix,
85
86
  language: pointer.value.language,
86
87
  roles: pointer.value.roles,
@@ -91,26 +92,6 @@ const orchestrateAnalyzeScenario = (ctx) => __awaiter(void 0, void 0, void 0, fu
91
92
  };
92
93
  });
93
94
  exports.orchestrateAnalyzeScenario = orchestrateAnalyzeScenario;
94
- class AutoBeAnalyzeScenarioApplication {
95
- /**
96
- * Compose project structure with roles and files.
97
- *
98
- * Design a list of roles and initial documents that you need to create for
99
- * that requirement. Roles define team member responsibilities, while files
100
- * define the documentation structure. These are managed separately. If you
101
- * determine from the conversation that the user's requirements have not been
102
- * fully gathered, you must stop the analysis and continue collecting the
103
- * remaining requirements. In this case, you do not need to generate any files
104
- * or roles. Simply pass an empty array to `input.files` and `input.roles`.
105
- *
106
- * @param input Prefix, roles, and files
107
- * @returns
108
- */
109
- compose(input) {
110
- input;
111
- return;
112
- }
113
- }
114
95
  function createController(props) {
115
96
  (0, assertSchemaModel_1.assertSchemaModel)(props.model);
116
97
  const application = collection[props.model];
@@ -120,8 +101,7 @@ function createController(props) {
120
101
  application,
121
102
  execute: {
122
103
  compose: (input) => {
123
- props.preExecute(input);
124
- return props.execute.compose(input);
104
+ props.build(input);
125
105
  },
126
106
  },
127
107
  };
@@ -144,7 +124,7 @@ const claude = {
144
124
  type: "string"
145
125
  },
146
126
  prefix: {
147
- description: "Prefix for file names and variable names. This will be used for\norganizing documentation files.\n\nMUST use camelCase naming convention.",
127
+ description: "Prefix for file names and variable names. This will be used for\norganizing documentation files.\n\nDO: Use camelCase naming convention.",
148
128
  type: "string",
149
129
  pattern: "^[a-z][a-zA-Z0-9]*$"
150
130
  },
@@ -164,11 +144,12 @@ const claude = {
164
144
  type: "number"
165
145
  },
166
146
  files: {
167
- description: "# Document files to be generated\n\nFile name must be English and it must contain the numbering and prefix.\n\nThese files represent business documentation that may include:\n\n- Business requirements and functional specifications in natural language\n- User journey mapping and use case scenarios\n- Business rules and workflow definitions\n- Service overview and business model description\n- User roles and permission requirements (described in natural language)\n- Business logic and validation rules\n- STRICTLY PROHIBITED: Do NOT include database schemas, ERD, or API\n specifications\n- All requirements must be written in natural language for clarity\n\nGenerate files based on actual requirements gathered from conversation.\nDo not create unnecessary documentation - only generate what is needed to\nproperly define the business requirements and system specifications.\n\n# Page Length Rules\n\nThe number of documents must match the user's request, excluding the\ntable of contents. For example, if the user requests 3 pages, a total of\n4 documents should be generated, including the table of contents. If the\nuser does not specify a number, generate a sufficient number of documents\nto adequately support the service.",
147
+ description: "# Document files to be generated\n\nFile name must be English and it must contain the numbering and prefix.\n\nThese files represent business documentation that may include:\n\n- Business requirements and functional specifications in natural language\n- User journey mapping and use case scenarios\n- Business rules and workflow definitions\n- Service overview and business model description\n- User roles and permission requirements (described in natural language)\n- Business logic and validation rules\n- DO NOT: Include database schemas, ERD, or API specifications\n- DO: Write all requirements in natural language for clarity\n\nGenerate files based on actual requirements gathered from conversation.\nDo not create unnecessary documentation - only generate what is needed to\nproperly define the business requirements and system specifications.\n\n# Page Length Rules\n\nThe number of documents must match the user's request, excluding the\ntable of contents. For example, if the user requests 3 pages, a total of\n4 documents should be generated, including the table of contents. If the\nuser does not specify a number, generate a sufficient number of documents\nto adequately support the service.",
168
148
  type: "array",
169
149
  items: {
170
150
  $ref: "#/$defs/AutoBeAnalyzeFile.Scenario"
171
- }
151
+ },
152
+ minItems: 1
172
153
  }
173
154
  },
174
155
  required: [
@@ -260,7 +241,7 @@ const claude = {
260
241
  }
261
242
  },
262
243
  description: "Compose project structure with roles and files.\n\nDesign a list of roles and initial documents that you need to create for\nthat requirement. Roles define team member responsibilities, while files\ndefine the documentation structure. These are managed separately. If you\ndetermine from the conversation that the user's requirements have not been\nfully gathered, you must stop the analysis and continue collecting the\nremaining requirements. In this case, you do not need to generate any files\nor roles. Simply pass an empty array to `input.files` and `input.roles`.",
263
- validate: (() => { const _io0 = input => "string" === typeof input.reason && ("string" === typeof input.prefix && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.prefix)) && (Array.isArray(input.roles) && input.roles.every(elem => "object" === typeof elem && null !== elem && _io1(elem))) && (undefined === input.language || "string" === typeof input.language) && "number" === typeof input.page && (Array.isArray(input.files) && input.files.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description; const _io2 = input => "string" === typeof input.reason && ("string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename)) && (undefined === input.documentType || "string" === typeof input.documentType) && (undefined === input.outline || Array.isArray(input.outline) && input.outline.every(elem => "string" === typeof elem)) && (undefined === input.audience || "string" === typeof input.audience) && (undefined === input.keyQuestions || Array.isArray(input.keyQuestions) && input.keyQuestions.every(elem => "string" === typeof elem)) && (undefined === input.detailLevel || "string" === typeof input.detailLevel) && (undefined === input.relatedDocuments || Array.isArray(input.relatedDocuments) && input.relatedDocuments.every(elem => "string" === typeof elem)) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "string" === typeof elem)); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
244
+ validate: (() => { const _io0 = input => "string" === typeof input.reason && ("string" === typeof input.prefix && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.prefix)) && (Array.isArray(input.roles) && input.roles.every(elem => "object" === typeof elem && null !== elem && _io1(elem))) && (undefined === input.language || "string" === typeof input.language) && "number" === typeof input.page && (Array.isArray(input.files) && (1 <= input.files.length && input.files.every(elem => "object" === typeof elem && null !== elem && _io2(elem)))); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description; const _io2 = input => "string" === typeof input.reason && ("string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename)) && (undefined === input.documentType || "string" === typeof input.documentType) && (undefined === input.outline || Array.isArray(input.outline) && input.outline.every(elem => "string" === typeof elem)) && (undefined === input.audience || "string" === typeof input.audience) && (undefined === input.keyQuestions || Array.isArray(input.keyQuestions) && input.keyQuestions.every(elem => "string" === typeof elem)) && (undefined === input.detailLevel || "string" === typeof input.detailLevel) && (undefined === input.relatedDocuments || Array.isArray(input.relatedDocuments) && input.relatedDocuments.every(elem => "string" === typeof elem)) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "string" === typeof elem)); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
264
245
  path: _path + ".reason",
265
246
  expected: "string",
266
247
  value: input.reason
@@ -298,7 +279,11 @@ const claude = {
298
279
  value: input.page
299
280
  }), (Array.isArray(input.files) || _report(_exceptionable, {
300
281
  path: _path + ".files",
301
- expected: "Array<AutoBeAnalyzeFile.Scenario>",
282
+ expected: "(Array<AutoBeAnalyzeFile.Scenario> & MinItems<1>)",
283
+ value: input.files
284
+ })) && ((1 <= input.files.length || _report(_exceptionable, {
285
+ path: _path + ".files",
286
+ expected: "Array<> & MinItems<1>",
302
287
  value: input.files
303
288
  })) && input.files.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
304
289
  path: _path + ".files[" + _index8 + "]",
@@ -308,9 +293,9 @@ const claude = {
308
293
  path: _path + ".files[" + _index8 + "]",
309
294
  expected: "AutoBeAnalyzeFile.Scenario",
310
295
  value: elem
311
- })).every(flag => flag) || _report(_exceptionable, {
296
+ })).every(flag => flag)) || _report(_exceptionable, {
312
297
  path: _path + ".files",
313
- expected: "Array<AutoBeAnalyzeFile.Scenario>",
298
+ expected: "(Array<AutoBeAnalyzeFile.Scenario> & MinItems<1>)",
314
299
  value: input.files
315
300
  })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
316
301
  path: _path + ".name",
@@ -443,7 +428,7 @@ const collection = {
443
428
  type: "string"
444
429
  },
445
430
  prefix: {
446
- description: "Prefix for file names and variable names. This will be used for\norganizing documentation files.\n\nMUST use camelCase naming convention.\n\n\n@pattern ^[a-z][a-zA-Z0-9]*$",
431
+ description: "Prefix for file names and variable names. This will be used for\norganizing documentation files.\n\nDO: Use camelCase naming convention.\n\n\n@pattern ^[a-z][a-zA-Z0-9]*$",
447
432
  type: "string"
448
433
  },
449
434
  roles: {
@@ -462,7 +447,7 @@ const collection = {
462
447
  type: "number"
463
448
  },
464
449
  files: {
465
- description: "# Document files to be generated\n\nFile name must be English and it must contain the numbering and prefix.\n\nThese files represent business documentation that may include:\n\n- Business requirements and functional specifications in natural language\n- User journey mapping and use case scenarios\n- Business rules and workflow definitions\n- Service overview and business model description\n- User roles and permission requirements (described in natural language)\n- Business logic and validation rules\n- STRICTLY PROHIBITED: Do NOT include database schemas, ERD, or API\n specifications\n- All requirements must be written in natural language for clarity\n\nGenerate files based on actual requirements gathered from conversation.\nDo not create unnecessary documentation - only generate what is needed to\nproperly define the business requirements and system specifications.\n\n# Page Length Rules\n\nThe number of documents must match the user's request, excluding the\ntable of contents. For example, if the user requests 3 pages, a total of\n4 documents should be generated, including the table of contents. If the\nuser does not specify a number, generate a sufficient number of documents\nto adequately support the service.",
450
+ description: "# Document files to be generated\n\nFile name must be English and it must contain the numbering and prefix.\n\nThese files represent business documentation that may include:\n\n- Business requirements and functional specifications in natural language\n- User journey mapping and use case scenarios\n- Business rules and workflow definitions\n- Service overview and business model description\n- User roles and permission requirements (described in natural language)\n- Business logic and validation rules\n- DO NOT: Include database schemas, ERD, or API specifications\n- DO: Write all requirements in natural language for clarity\n\nGenerate files based on actual requirements gathered from conversation.\nDo not create unnecessary documentation - only generate what is needed to\nproperly define the business requirements and system specifications.\n\n# Page Length Rules\n\nThe number of documents must match the user's request, excluding the\ntable of contents. For example, if the user requests 3 pages, a total of\n4 documents should be generated, including the table of contents. If the\nuser does not specify a number, generate a sufficient number of documents\nto adequately support the service.\n\n\n@minItems 1",
466
451
  type: "array",
467
452
  items: {
468
453
  $ref: "#/$defs/AutoBeAnalyzeFile.Scenario"
@@ -556,7 +541,7 @@ const collection = {
556
541
  }
557
542
  },
558
543
  description: "Compose project structure with roles and files.\n\nDesign a list of roles and initial documents that you need to create for\nthat requirement. Roles define team member responsibilities, while files\ndefine the documentation structure. These are managed separately. If you\ndetermine from the conversation that the user's requirements have not been\nfully gathered, you must stop the analysis and continue collecting the\nremaining requirements. In this case, you do not need to generate any files\nor roles. Simply pass an empty array to `input.files` and `input.roles`.",
559
- validate: (() => { const _io0 = input => "string" === typeof input.reason && ("string" === typeof input.prefix && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.prefix)) && (Array.isArray(input.roles) && input.roles.every(elem => "object" === typeof elem && null !== elem && _io1(elem))) && (undefined === input.language || "string" === typeof input.language) && "number" === typeof input.page && (Array.isArray(input.files) && input.files.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description; const _io2 = input => "string" === typeof input.reason && ("string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename)) && (undefined === input.documentType || "string" === typeof input.documentType) && (undefined === input.outline || Array.isArray(input.outline) && input.outline.every(elem => "string" === typeof elem)) && (undefined === input.audience || "string" === typeof input.audience) && (undefined === input.keyQuestions || Array.isArray(input.keyQuestions) && input.keyQuestions.every(elem => "string" === typeof elem)) && (undefined === input.detailLevel || "string" === typeof input.detailLevel) && (undefined === input.relatedDocuments || Array.isArray(input.relatedDocuments) && input.relatedDocuments.every(elem => "string" === typeof elem)) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "string" === typeof elem)); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
544
+ validate: (() => { const _io0 = input => "string" === typeof input.reason && ("string" === typeof input.prefix && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.prefix)) && (Array.isArray(input.roles) && input.roles.every(elem => "object" === typeof elem && null !== elem && _io1(elem))) && (undefined === input.language || "string" === typeof input.language) && "number" === typeof input.page && (Array.isArray(input.files) && (1 <= input.files.length && input.files.every(elem => "object" === typeof elem && null !== elem && _io2(elem)))); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description; const _io2 = input => "string" === typeof input.reason && ("string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename)) && (undefined === input.documentType || "string" === typeof input.documentType) && (undefined === input.outline || Array.isArray(input.outline) && input.outline.every(elem => "string" === typeof elem)) && (undefined === input.audience || "string" === typeof input.audience) && (undefined === input.keyQuestions || Array.isArray(input.keyQuestions) && input.keyQuestions.every(elem => "string" === typeof elem)) && (undefined === input.detailLevel || "string" === typeof input.detailLevel) && (undefined === input.relatedDocuments || Array.isArray(input.relatedDocuments) && input.relatedDocuments.every(elem => "string" === typeof elem)) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "string" === typeof elem)); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
560
545
  path: _path + ".reason",
561
546
  expected: "string",
562
547
  value: input.reason
@@ -594,7 +579,11 @@ const collection = {
594
579
  value: input.page
595
580
  }), (Array.isArray(input.files) || _report(_exceptionable, {
596
581
  path: _path + ".files",
597
- expected: "Array<AutoBeAnalyzeFile.Scenario>",
582
+ expected: "(Array<AutoBeAnalyzeFile.Scenario> & MinItems<1>)",
583
+ value: input.files
584
+ })) && ((1 <= input.files.length || _report(_exceptionable, {
585
+ path: _path + ".files",
586
+ expected: "Array<> & MinItems<1>",
598
587
  value: input.files
599
588
  })) && input.files.map((elem, _index8) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
600
589
  path: _path + ".files[" + _index8 + "]",
@@ -604,9 +593,9 @@ const collection = {
604
593
  path: _path + ".files[" + _index8 + "]",
605
594
  expected: "AutoBeAnalyzeFile.Scenario",
606
595
  value: elem
607
- })).every(flag => flag) || _report(_exceptionable, {
596
+ })).every(flag => flag)) || _report(_exceptionable, {
608
597
  path: _path + ".files",
609
- expected: "Array<AutoBeAnalyzeFile.Scenario>",
598
+ expected: "(Array<AutoBeAnalyzeFile.Scenario> & MinItems<1>)",
610
599
  value: input.files
611
600
  })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
612
601
  path: _path + ".name",
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateAnalyzeScenario.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyzeScenario.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,kDAA0B;AAC1B,+BAA0B;AAG1B,uEAAoE;AACpE,qGAA6F;AAGtF,MAAM,0BAA0B,GAAG,CAGxC,GAAyB,EAC4C,EAAE;;IACvE,MAAM,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,OAAO,GAA8D;QACzE,KAAK,EAAE,IAAI;KACZ,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QACrD,MAAM,EAAE,iBAAiB;QACzB,UAAU,EAAE,gBAAgB,CAAQ;YAClC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,IAAI,gCAAgC,EAAE;YAC/C,UAAU,EAAE,CAAC,KAA+C,EAAE,EAAE,CAC9D,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;SAC1B,CAAC;QACF,SAAS,EAAE,IAAA,gEAA4B,EAAC,GAAG,CAAC;QAC5C,mBAAmB,EAAE,KAAK;QAC1B,OAAO,EAAE;YACP,sEAAsE;YACtE,6FAA6F;YAC7F,iEAAiE;YACjE,qCAAqC,GAAG,CAAC,MAAM,GAAG;SACnD,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CAAC;IACH,IAAI,CAAA,MAAA,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,MAAK,kBAAkB;QAC/C,OAAO,gCACD,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAsC,KACzD,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,EAC/B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACtC,EAAE,EAAE,IAAA,SAAE,GAAE,GAC+B,CAAC;SACvC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAChC,cAAc;QACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;QAC5B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,UAAU;QACV,IAAI,EAAE,CAAC,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE;KAChC,CAAC;AACJ,CAAC,CAAA,CAAC;AA/CW,QAAA,0BAA0B,8BA+CrC;AAEF,MAAM,gCAAgC;IAGpC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,KAA+C;QACrD,KAAK,CAAC;QACN,OAAO;IACT,CAAC;CACF;AAED,SAAS,gBAAgB,CAAiC,KAIzD;IACC,IAAA,qCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,CACwD,CAAC;IACtE,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,SAAS;QACf,WAAW;QACX,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;SAC0C;KAC9C,CAAC;AACJ,CAAC;AAED,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGT,CAAC;AACJ,MAAM,UAAU,GAAG;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAsE;IAC7E,MAAM;IACN,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;CACd,CAAC"}
1
+ {"version":3,"file":"orchestrateAnalyzeScenario.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyzeScenario.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { AutoBeAnalyzeScenarioEvent, AutoBeAnalyzeWriteEvent } from "@autobe/interface";
1
+ import { AutoBeAnalyzeScenarioEvent, AutoBeAnalyzeWriteEvent, AutoBeProgressEventBase } from "@autobe/interface";
2
2
  import { AutoBeAnalyzeFile } from "@autobe/interface/src/histories/contents/AutoBeAnalyzeFile";
3
3
  import { ILlmSchema } from "@samchon/openapi";
4
4
  import { AutoBeContext } from "../../context/AutoBeContext";
5
- export declare const orchestrateAnalyzeWrite: <Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, scenario: AutoBeAnalyzeScenarioEvent, file: AutoBeAnalyzeFile.Scenario, progress: {
6
- total: number;
7
- completed: number;
5
+ export declare const orchestrateAnalyzeWrite: <Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, props: {
6
+ scenario: AutoBeAnalyzeScenarioEvent;
7
+ file: AutoBeAnalyzeFile.Scenario;
8
+ progress: AutoBeProgressEventBase;
9
+ promptCacheKey: string;
8
10
  }) => Promise<AutoBeAnalyzeWriteEvent>;
@@ -48,27 +48,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.orchestrateAnalyzeWrite = void 0;
49
49
  const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
50
50
  const typia_1 = __importDefault(require("typia"));
51
+ const uuid_1 = require("uuid");
51
52
  const assertSchemaModel_1 = require("../../context/assertSchemaModel");
52
53
  const transformAnalyzeWriteHistories_1 = require("./histories/transformAnalyzeWriteHistories");
53
- const orchestrateAnalyzeWrite = (ctx, scenario, file, progress) => __awaiter(void 0, void 0, void 0, function* () {
54
+ const orchestrateAnalyzeWrite = (ctx, props) => __awaiter(void 0, void 0, void 0, function* () {
54
55
  var _a, _b;
56
+ const { scenario, file, progress, promptCacheKey } = props;
55
57
  const pointer = {
56
58
  value: null,
57
59
  };
58
- const { tokenUsage } = yield ctx.conversate({
60
+ const { histories, tokenUsage } = yield ctx.conversate({
59
61
  source: "analyzeWrite",
60
62
  controller: createController({
61
63
  model: ctx.model,
62
64
  pointer,
63
65
  }),
64
- histories: (0, transformAnalyzeWriteHistories_1.transformAnalyzeWriteHistories)(scenario, file),
66
+ histories: (0, transformAnalyzeWriteHistories_1.transformAnalyzeWriteHistories)(ctx, scenario, file),
65
67
  enforceFunctionCall: true,
68
+ promptCacheKey,
66
69
  message: "Write requirement analysis report.",
67
70
  });
68
- if (pointer.value === null)
71
+ if (pointer.value === null) {
72
+ console.log(JSON.stringify(histories, null, 2));
69
73
  throw new Error("The Analyze Agent failed to create the document.");
74
+ }
70
75
  const event = {
71
76
  type: "analyzeWrite",
77
+ id: (0, uuid_1.v7)(),
72
78
  file: Object.assign(Object.assign({}, file), { content: pointer.value.content }),
73
79
  tokenUsage: tokenUsage,
74
80
  step: ((_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : -1) + 1,
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateAnalyzeWrite.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyzeWrite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,kDAA0B;AAG1B,uEAAoE;AACpE,+FAA4F;AAGrF,MAAM,uBAAuB,GAAG,CACrC,GAAyB,EACzB,QAAoC,EACpC,IAAgC,EAChC,QAGC,EACiC,EAAE;;IACpC,MAAM,OAAO,GAA2D;QACtE,KAAK,EAAE,IAAI;KACZ,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QAC1C,MAAM,EAAE,cAAc;QACtB,UAAU,EAAE,gBAAgB,CAAQ;YAClC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO;SACR,CAAC;QACF,SAAS,EAAE,IAAA,+DAA8B,EAAC,QAAQ,EAAE,IAAI,CAAC;QACzD,mBAAmB,EAAE,IAAI;QACzB,OAAO,EAAE,oCAAoC;KAC9C,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QACxB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAEtE,MAAM,KAAK,GAA4B;QACrC,IAAI,EAAE,cAAc;QACpB,IAAI,kCACC,IAAI,KACP,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,GAC/B;QACD,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,CAAC,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,EAAE,QAAQ,CAAC,SAAS;QAC/B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC,CAAA,CAAC;AAvCW,QAAA,uBAAuB,2BAuClC;AAEF,SAAS,gBAAgB,CAAiC,KAGzD;IACC,IAAA,qCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,CACwD,CAAC;IACtE,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW;QACX,OAAO,EAAE;YACP,KAAK,EAAE,CAAO,KAAK,EAAE,EAAE;gBACrB,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAA;SACuC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGT,CAAC;AACJ,MAAM,UAAU,GAAG;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAoE;IAC3E,MAAM;IACN,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;CACd,CAAC"}
1
+ {"version":3,"file":"orchestrateAnalyzeWrite.js","sourceRoot":"","sources":["../../../../../src/orchestrate/analyze/orchestrateAnalyzeWrite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kDAA0B;AAC1B,+BAA0B;AAG1B,uEAAoE;AACpE,+FAA4F;AAGrF,MAAM,uBAAuB,GAAG,CACrC,GAAyB,EACzB,KAKC,EACiC,EAAE;;IACpC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC3D,MAAM,OAAO,GAA2D;QACtE,KAAK,EAAE,IAAI;KACZ,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QACrD,MAAM,EAAE,cAAc;QACtB,UAAU,EAAE,gBAAgB,CAAQ;YAClC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO;SACR,CAAC;QACF,SAAS,EAAE,IAAA,+DAA8B,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;QAC9D,mBAAmB,EAAE,IAAI;QACzB,cAAc;QACd,OAAO,EAAE,oCAAoC;KAC9C,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAA4B;QACrC,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,IAAA,SAAE,GAAE;QACR,IAAI,kCACC,IAAI,KACP,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,GAC/B;QACD,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,CAAC,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,EAAE,QAAQ,CAAC,SAAS;QAC/B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC,CAAA,CAAC;AA5CW,QAAA,uBAAuB,2BA4ClC;AAEF,SAAS,gBAAgB,CAAiC,KAGzD;IACC,IAAA,qCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,CACwD,CAAC;IACtE,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW;QACX,OAAO,EAAE;YACP,KAAK,EAAE,CAAO,KAAK,EAAE,EAAE;gBACrB,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAA;SACuC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGT,CAAC;AACJ,MAAM,UAAU,GAAG;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAoE;IAC3E,MAAM;IACN,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;CACd,CAAC"}
@@ -12,9 +12,10 @@ export interface IAutoBeAnalyzeReviewApplication {
12
12
  * - Adding missing business processes and workflows
13
13
  * - Ensuring proper document structure and completeness
14
14
  *
15
- * CRITICAL: The function outputs the actual document content that will be saved,
16
- * not a review or analysis of the document. Any text output becomes part of
17
- * the final document.
15
+ * DO: Output the actual document content that will be saved.
16
+ * DO NOT: Output review comments or analysis of the document.
17
+ *
18
+ * Note: Any text output becomes part of the final document.
18
19
  *
19
20
  * @param props - The properties containing the document to enhance along with
20
21
  * plan and review criteria for guidance
@@ -40,14 +41,12 @@ export declare namespace IAutoBeAnalyzeReviewApplication {
40
41
  *
41
42
  * Critical review points:
42
43
  *
43
- * - Mermaid diagrams MUST use double quotes for ALL labels
44
- * - No spaces allowed between brackets and quotes in Mermaid
45
- * - Requirements must be specific and measurable in natural language
46
- * - Focus on business requirements and user scenarios
47
- * - STRICTLY PROHIBITED: Reject if document contains database schemas or API
48
- * specifications
49
- * - Business model and authentication requirements must be described in
50
- * natural language
44
+ * - DO: Use double quotes for ALL labels in Mermaid diagrams
45
+ * - DO NOT: Use spaces between brackets and quotes in Mermaid
46
+ * - DO: Make requirements specific and measurable in natural language
47
+ * - DO: Focus on business requirements and user scenarios
48
+ * - DO NOT: Accept documents containing database schemas or API specifications
49
+ * - DO: Describe business model and authentication requirements in natural language
51
50
  */
52
51
  review: string;
53
52
  /**
@@ -67,10 +66,11 @@ export declare namespace IAutoBeAnalyzeReviewApplication {
67
66
  /**
68
67
  * The actual markdown document content that incorporates review feedback.
69
68
  *
70
- * ⚠️ CRITICAL: This field contains a COMPLETE MARKDOWN DOCUMENT that has
71
- * already incorporated the review criteria and plan requirements. This is
72
- * NOT raw input to be reviewed - it is the FINAL, PRODUCTION-READY DOCUMENT
73
- * that reflects all review feedback and is immediately usable.
69
+ * This field contains a COMPLETE MARKDOWN DOCUMENT that has already
70
+ * incorporated the review criteria and plan requirements.
71
+ *
72
+ * DO: Treat this as the final, production-ready document.
73
+ * DO NOT: Treat this as raw input to be reviewed.
74
74
  *
75
75
  * This content represents:
76
76
  * - A fully-formed markdown document (.md file)
@@ -89,7 +89,7 @@ export declare namespace IAutoBeAnalyzeReviewApplication {
89
89
  * - Appropriate level of detail for backend implementation
90
90
  * - Proper document linking (descriptive text, not raw filenames)
91
91
  *
92
- * IMPORTANT: The enhancer's output IS this document, not comments about it:
92
+ * The enhancer outputs the document itself:
93
93
  *
94
94
  * - If content is provided, it represents the actual document
95
95
  * - The enhancer outputs the enhanced version AS the document itself