@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
@@ -0,0 +1,294 @@
1
+ import { IAgenticaHistoryJson } from "@agentica/core";
2
+ import { AutoBeOpenApi } from "@autobe/interface";
3
+ import { StringUtil } from "@autobe/utils";
4
+ import { v7 } from "uuid";
5
+
6
+ export const transformRealizeWriteAuthorizationsHistories = (
7
+ operation: AutoBeOpenApi.IOperation,
8
+ payloads: Record<string, string>,
9
+ ): Array<IAgenticaHistoryJson.ISystemMessage> => {
10
+ // Login operation 가이드
11
+ const loginGuide =
12
+ operation.authorizationType === "login"
13
+ ? [
14
+ {
15
+ id: v7(),
16
+ created_at: new Date().toISOString(),
17
+ type: "systemMessage" as const,
18
+ text: StringUtil.trim`
19
+ # Authorization Type: Login
20
+
21
+ This is a **login** operation that authenticates users.
22
+
23
+ ## Implementation Guidelines for Login:
24
+
25
+ ### Login Operation Requirements
26
+ - This is a login endpoint that authenticates users
27
+ - Must validate credentials (username/email and password)
28
+ - Should return authentication tokens (access and refresh tokens)
29
+ - Must NOT require authentication decorator (this endpoint creates authentication)
30
+ - Should check if user exists and password matches
31
+
32
+ ### MANDATORY: Use MyGlobal.password for Password Verification
33
+
34
+ **CRITICAL**: You MUST use MyGlobal.password utilities for password verification to ensure consistency with the join operation:
35
+
36
+ \`\`\`typescript
37
+ // Example: Password verification in login
38
+ const isValid = await MyGlobal.password.verify(
39
+ body.password, // plain password from request
40
+ user.password_hash // hashed password from database
41
+ );
42
+
43
+ if (!isValid) {
44
+ throw new Error("Invalid credentials");
45
+ }
46
+ \`\`\`
47
+
48
+ ### JWT Token Generation
49
+
50
+ **NOTE**: The jsonwebtoken library is automatically imported as jwt. Use it to generate tokens with the EXACT payload structure:
51
+
52
+ **CRITICAL**: Use the predefined payload structures for consistency:
53
+
54
+ \`\`\`json
55
+ ${JSON.stringify(payloads)}
56
+ \`\`\`
57
+
58
+ // JWT is already imported: import jwt from "jsonwebtoken";
59
+
60
+ // Generate access token with the EXACT payload structure for the user type
61
+ // DO NOT use type annotations like: const payload: MemberPayload = {...}
62
+ // Just create the payload object directly
63
+
64
+ const accessToken = jwt.sign(
65
+ {
66
+ userId: user.id,
67
+ email: user.email,
68
+ // ... other required fields from the payload structure above
69
+ },
70
+ MyGlobal.env.JWT_SECRET_KEY,
71
+ {
72
+ expiresIn: '1h',
73
+ issuer: 'autobe' // MUST use 'autobe' as issuer
74
+ }
75
+ );
76
+
77
+ // Generate refresh token (optional)
78
+ const refreshToken = jwt.sign(
79
+ {
80
+ userId: user.id,
81
+ tokenType: 'refresh'
82
+ },
83
+ MyGlobal.env.JWT_SECRET_KEY,
84
+ {
85
+ expiresIn: '7d',
86
+ issuer: 'autobe' // MUST use 'autobe' as issuer
87
+ }
88
+ );
89
+
90
+ // Decode tokens if needed (e.g., for verification)
91
+ const decoded = jwt.verify(token, MyGlobal.env.JWT_SECRET_KEY, {
92
+ issuer: 'autobe' // Verify issuer is 'autobe'
93
+ });
94
+
95
+ **DO NOT**:
96
+ - Implement your own password hashing logic
97
+ - Use bcrypt, argon2, or any other hashing library directly
98
+ - Try to hash and compare manually
99
+
100
+ **IMPORTANT**: Since this is a login operation, it must be publicly accessible without authentication.
101
+ `,
102
+ },
103
+ ]
104
+ : [];
105
+
106
+ // Join (registration) operation 가이드
107
+ const joinGuide =
108
+ operation.authorizationType === "join"
109
+ ? [
110
+ {
111
+ id: v7(),
112
+ created_at: new Date().toISOString(),
113
+ type: "systemMessage" as const,
114
+ text: StringUtil.trim`
115
+ # Authorization Type: Join (Registration)
116
+
117
+ This is a **join** operation for user registration.
118
+
119
+ ## Implementation Guidelines for Join:
120
+
121
+ ### Join (Registration) Operation Requirements
122
+ - This is a user registration endpoint
123
+ - Must validate all required user information
124
+ - Should check for duplicate accounts (email, username, etc.)
125
+ - Must hash passwords before storing (NEVER store plain passwords)
126
+ - Should create a new user record in the database
127
+ - Must NOT require authentication decorator (public endpoint)
128
+
129
+ ### MANDATORY: Use MyGlobal.password for Password Hashing
130
+
131
+ **CRITICAL**: You MUST use MyGlobal.password utilities for password hashing to ensure consistency across all authentication operations:
132
+
133
+ \`\`\`typescript
134
+ // Example: Password hashing in join/registration
135
+ const hashedPassword = await MyGlobal.password.hash(body.password);
136
+
137
+ // Store the hashed password in database
138
+ await MyGlobal.prisma.users.create({
139
+ data: {
140
+ email: body.email,
141
+ password_hash: hashedPassword, // Store the hash, never plain password
142
+ // ... other fields
143
+ }
144
+ });
145
+ \`\`\`
146
+
147
+ **DO NOT**:
148
+ - Store plain passwords in the database
149
+ - Use bcrypt, argon2, or any other hashing library directly
150
+ - Implement your own hashing logic
151
+
152
+ ### JWT Token Generation After Registration
153
+
154
+ **NOTE**: The jsonwebtoken library is automatically imported as jwt. After successful registration, generate tokens with the EXACT payload structure:
155
+
156
+ **CRITICAL**: Use the predefined payload structures for consistency:
157
+
158
+ \`\`\`json
159
+ ${JSON.stringify(payloads)}
160
+ \`\`\`
161
+
162
+ // JWT is already imported: import jwt from "jsonwebtoken";
163
+
164
+ // After creating the user, generate tokens with EXACT payload structure
165
+ // DO NOT use type annotations like: const payload: UserPayload = {...}
166
+ // Just create the payload object directly in jwt.sign()
167
+
168
+ const accessToken = jwt.sign(
169
+ {
170
+ userId: newUser.id,
171
+ email: newUser.email,
172
+ // ... other required fields from the payload structure above
173
+ },
174
+ MyGlobal.env.JWT_SECRET_KEY,
175
+ {
176
+ expiresIn: '1h',
177
+ issuer: 'autobe' // MUST use 'autobe' as issuer
178
+ }
179
+ );
180
+
181
+ const refreshToken = jwt.sign(
182
+ {
183
+ userId: newUser.id,
184
+ tokenType: 'refresh'
185
+ },
186
+ MyGlobal.env.JWT_SECRET_KEY,
187
+ {
188
+ expiresIn: '7d',
189
+ issuer: 'autobe' // MUST use 'autobe' as issuer
190
+ }
191
+ );
192
+
193
+ **IMPORTANT**: Since this is a registration operation, it must be publicly accessible. Always hash passwords before storing.
194
+ `,
195
+ },
196
+ ]
197
+ : [];
198
+
199
+ // Refresh token operation 가이드
200
+ const refreshGuide =
201
+ operation.authorizationType === "refresh"
202
+ ? [
203
+ {
204
+ id: v7(),
205
+ created_at: new Date().toISOString(),
206
+ type: "systemMessage" as const,
207
+ text: StringUtil.trim`
208
+ # Authorization Type: Refresh Token
209
+
210
+ This is a **refresh** token operation for renewing expired access tokens.
211
+
212
+ ## Implementation Guidelines for Refresh:
213
+
214
+ ### Refresh Token Operation Requirements
215
+ - This endpoint refreshes expired access tokens
216
+ - Must validate the refresh token first
217
+ - Should check if refresh token is not expired or revoked
218
+ - Must generate a new access token with THE SAME payload structure
219
+ - May also rotate the refresh token for security
220
+ - Should handle invalid/expired refresh tokens gracefully
221
+ - Typically requires the refresh token in request body or headers
222
+ - Must NOT require standard authentication (uses refresh token instead)
223
+
224
+ ### CRITICAL: Refresh Token Implementation
225
+
226
+ **IMPORTANT**: When refreshing tokens, you MUST:
227
+ 1. Decode and verify the refresh token
228
+ 2. Extract the user information from the decoded token
229
+ 3. Generate a new access token with THE SAME payload structure as the original
230
+
231
+ **CRITICAL**: Use the predefined payload structures for consistency:
232
+
233
+ \`\`\`json
234
+ ${JSON.stringify(payloads)}
235
+ \`\`\`
236
+
237
+ // JWT is already imported: import jwt from "jsonwebtoken";
238
+
239
+ // Step 1: Verify and decode the refresh token
240
+ const decoded = jwt.verify(body.refreshToken, MyGlobal.env.JWT_SECRET_KEY, {
241
+ issuer: 'autobe'
242
+ });
243
+
244
+ // Step 2: Get user data (from decoded token or database)
245
+ const user = await MyGlobal.prisma.users.findUnique({
246
+ where: { id: decoded.userId }
247
+ });
248
+
249
+ if (!user) {
250
+ throw new Error("User not found");
251
+ }
252
+
253
+ // Step 3: Generate new access token with SAME payload structure as login/join
254
+ const newAccessToken = jwt.sign(
255
+ {
256
+ userId: user.id,
257
+ email: user.email,
258
+ // ... other required fields from the payload structure above
259
+ // MUST match the structure used in login/join operations
260
+ },
261
+ MyGlobal.env.JWT_SECRET_KEY,
262
+ {
263
+ expiresIn: '1h',
264
+ issuer: 'autobe'
265
+ }
266
+ );
267
+
268
+ // Optional: Rotate refresh token
269
+ const newRefreshToken = jwt.sign(
270
+ {
271
+ userId: user.id,
272
+ tokenType: 'refresh'
273
+ },
274
+ MyGlobal.env.JWT_SECRET_KEY,
275
+ {
276
+ expiresIn: '7d',
277
+ issuer: 'autobe'
278
+ }
279
+ );
280
+
281
+ **DO NOT**:
282
+ - Generate new access tokens with different payload structures
283
+ - Use random IDs like v4() in the payload
284
+ - Create tokens without verifying the refresh token first
285
+ - Use type annotations like: const payload: UserPayload = {...}
286
+
287
+ **IMPORTANT**: The new access token MUST have the same payload structure as the original token from login/join operations.
288
+ `,
289
+ },
290
+ ]
291
+ : [];
292
+
293
+ return [...loginGuide, ...joinGuide, ...refreshGuide];
294
+ };
@@ -1,20 +1,26 @@
1
1
  import { IAgenticaHistoryJson } from "@agentica/core";
2
2
  import { AutoBeRealizeAuthorization } from "@autobe/interface";
3
- import { v4 } from "uuid";
3
+ import { StringUtil } from "@autobe/utils";
4
+ import { v7 } from "uuid";
4
5
 
5
6
  import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
6
7
  import { AutoBeState } from "../../../context/AutoBeState";
7
8
  import { IAutoBeTestScenarioArtifacts } from "../../test/structures/IAutoBeTestScenarioArtifacts";
8
9
  import { IAutoBeRealizeScenarioApplication } from "../structures/IAutoBeRealizeScenarioApplication";
10
+ import { transformRealizeWriteAuthorizationsHistories } from "./transformRealizeWriteAuthorizationsHistories";
9
11
 
10
- export const transformRealizeWriteHistories = (props: {
11
- state: AutoBeState;
12
- scenario: IAutoBeRealizeScenarioApplication.IProps;
13
- artifacts: IAutoBeTestScenarioArtifacts;
14
- authorization: AutoBeRealizeAuthorization | null;
15
- }): Array<
12
+ export const transformRealizeWriteHistories = (
13
+ props: IProps,
14
+ ): Array<
16
15
  IAgenticaHistoryJson.IAssistantMessage | IAgenticaHistoryJson.ISystemMessage
17
16
  > => {
17
+ const payloads = Object.fromEntries(
18
+ props.totalAuthorizations.map((el) => [
19
+ el.payload.location,
20
+ el.payload.content,
21
+ ]),
22
+ );
23
+
18
24
  const [operation] = props.artifacts.document.operations;
19
25
 
20
26
  const propsFields: string[] = [];
@@ -42,13 +48,16 @@ export const transformRealizeWriteHistories = (props: {
42
48
 
43
49
  const input =
44
50
  propsFields.length > 0
45
- ? `props: {\n${propsFields.map((field) => ` ${field}`).join("\n")}\n}`
51
+ ? StringUtil.trim`
52
+ props: {
53
+ ${propsFields.map((field) => ` ${field},`).join("\n")}
54
+ }`
46
55
  : `// No props parameter needed - function should have no parameters`;
47
56
 
48
57
  if (props.state.analyze === null)
49
58
  return [
50
59
  {
51
- id: v4(),
60
+ id: v7(),
52
61
  created_at: new Date().toISOString(),
53
62
  type: "systemMessage",
54
63
  text: [
@@ -61,7 +70,7 @@ export const transformRealizeWriteHistories = (props: {
61
70
  else if (props.state.prisma === null)
62
71
  return [
63
72
  {
64
- id: v4(),
73
+ id: v7(),
65
74
  created_at: new Date().toISOString(),
66
75
  type: "systemMessage",
67
76
  text: [
@@ -74,7 +83,7 @@ export const transformRealizeWriteHistories = (props: {
74
83
  else if (props.state.analyze.step !== props.state.prisma.step)
75
84
  return [
76
85
  {
77
- id: v4(),
86
+ id: v7(),
78
87
  created_at: new Date().toISOString(),
79
88
  type: "systemMessage",
80
89
  text: [
@@ -88,7 +97,7 @@ export const transformRealizeWriteHistories = (props: {
88
97
  else if (props.state.prisma.compiled.type !== "success")
89
98
  return [
90
99
  {
91
- id: v4(),
100
+ id: v7(),
92
101
  created_at: new Date().toISOString(),
93
102
  type: "systemMessage",
94
103
  text: [
@@ -102,7 +111,7 @@ export const transformRealizeWriteHistories = (props: {
102
111
  else if (props.state.interface === null)
103
112
  return [
104
113
  {
105
- id: v4(),
114
+ id: v7(),
106
115
  created_at: new Date().toISOString(),
107
116
  type: "systemMessage",
108
117
  text: [
@@ -113,18 +122,24 @@ export const transformRealizeWriteHistories = (props: {
113
122
  },
114
123
  ];
115
124
 
125
+ // Get authorization-specific histories if authorizationType is set
126
+ const authorizationHistories = operation.authorizationType
127
+ ? transformRealizeWriteAuthorizationsHistories(operation, payloads)
128
+ : [];
129
+
116
130
  return [
117
131
  {
118
- id: v4(),
132
+ id: v7(),
119
133
  created_at: new Date().toISOString(),
120
134
  type: "systemMessage",
121
- text: AutoBeSystemPromptConstant.REALIZE_CODER_TOTAL,
135
+ text: AutoBeSystemPromptConstant.REALIZE_WRITE_TOTAL,
122
136
  },
137
+ ...authorizationHistories,
123
138
  {
124
- id: v4(),
139
+ id: v7(),
125
140
  created_at: new Date().toISOString(),
126
141
  type: "systemMessage",
127
- text: AutoBeSystemPromptConstant.REALIZE_CODER_ARTIFACT.replaceAll(
142
+ text: AutoBeSystemPromptConstant.REALIZE_WRITE_ARTIFACT.replaceAll(
128
143
  `{prisma_schemas}`,
129
144
  JSON.stringify(props.state.prisma.schemas),
130
145
  )
@@ -132,53 +147,43 @@ export const transformRealizeWriteHistories = (props: {
132
147
  .replaceAll(`{artifacts_dto}`, JSON.stringify(props.artifacts.dto))
133
148
  .replaceAll(`{input}`, input),
134
149
  },
135
-
136
150
  {
137
- id: v4(),
151
+ id: v7(),
138
152
  created_at: new Date().toISOString(),
139
153
  type: "systemMessage",
140
- text: [
141
- "Write new code based on the following operation.",
142
- "```json",
143
- JSON.stringify(props.scenario),
144
- "```",
145
- ].join("\n"),
154
+ text: StringUtil.trim`
155
+ Write new code based on the following operation.
156
+
157
+ \`\`\`json
158
+ ${JSON.stringify(props.scenario)}
159
+ \`\`\`
160
+ `,
146
161
  },
147
162
  {
148
- id: v4(),
163
+ id: v7(),
149
164
  created_at: new Date().toISOString(),
150
165
  type: "assistantMessage",
151
- text: [
152
- `I understand your request.`,
153
- ``,
154
- `To summarize:`,
155
- `- I must **never use the native \`Date\` type** in any code or type definitions.`,
156
- `- Instead, all date and datetime values must be handled as \`string & tags.Format<'date-time'>\`.`,
157
- `- This rule is **strict** and applies everywhere, including domain types, API inputs/outputs, and Prisma models.`,
158
- `- Even if a library or tool returns a \`Date\`, I must convert it to the correct string format before use.`,
159
- ``,
160
- `Especially regarding the \`Date\` type: I understand that using it can lead to type inconsistency and runtime issues, so I will completely avoid it in all circumstances.`,
161
- ``,
162
- `I'll make sure to follow all these rules strictly. Lets proceed with this in mind.`,
163
- ].join("\n"),
164
- },
165
- {
166
- id: v4(),
167
- created_at: new Date().toISOString(),
168
- type: "assistantMessage",
169
- text: [
170
- `I understand your request.`,
171
- ``,
172
- `To summarize:`,
173
- `- I must **never use the native \`Date\` type** in any code or type definitions.`,
174
- `- Instead, all date and datetime values must be handled as \`string & tags.Format<'date-time'>\`.`,
175
- `- This rule is **strict** and applies everywhere, including domain types, API inputs/outputs, and Prisma models.`,
176
- `- Even if a library or tool returns a \`Date\`, I must convert it to the correct string format before use.`,
177
- ``,
178
- `Especially regarding the \`Date\` type: I understand that using it can lead to type inconsistency and runtime issues, so I will completely avoid it in all circumstances.`,
179
- ``,
180
- `I'll make sure to follow all these rules strictly. Let’s proceed with this in mind.`,
181
- ].join("\n"),
166
+ text: StringUtil.trim`
167
+ I understand your request.
168
+
169
+ To summarize:
170
+ - I must **never use the native \`Date\` type** in any code or type definitions.
171
+ - Instead, all date and datetime values must be handled as \`string & tags.Format<'date-time'>\`.
172
+ - This rule is **strict** and applies everywhere, including domain types, API inputs/outputs, and Prisma models.
173
+ - Even if a library or tool returns a \`Date\`, I must convert it to the correct string format before use.
174
+
175
+ Especially regarding the \`Date\` type: I understand that using it can lead to type inconsistency and runtime issues, so I will completely avoid it in all circumstances.
176
+
177
+ I'll make sure to follow all these rules strictly. Let's proceed with this in mind.
178
+ `,
182
179
  },
183
180
  ];
184
181
  };
182
+
183
+ interface IProps {
184
+ state: AutoBeState;
185
+ scenario: IAutoBeRealizeScenarioApplication.IProps;
186
+ artifacts: IAutoBeTestScenarioArtifacts;
187
+ authorization: AutoBeRealizeAuthorization | null;
188
+ totalAuthorizations: AutoBeRealizeAuthorization[];
189
+ }
@@ -0,0 +1,71 @@
1
+ import {
2
+ AutoBeRealizeAuthorization,
3
+ AutoBeRealizeFunction,
4
+ AutoBeRealizeValidateEvent,
5
+ IAutoBeCompiler,
6
+ IAutoBeTypeScriptCompileResult,
7
+ } from "@autobe/interface";
8
+ import { ILlmSchema } from "@samchon/openapi";
9
+ import { v7 } from "uuid";
10
+
11
+ import { AutoBeContext } from "../../../context/AutoBeContext";
12
+
13
+ export async function compileRealizeFiles<Model extends ILlmSchema.Model>(
14
+ ctx: AutoBeContext<Model>,
15
+ props: {
16
+ authorizations: AutoBeRealizeAuthorization[];
17
+ functions: AutoBeRealizeFunction[];
18
+ },
19
+ ): Promise<IAutoBeTypeScriptCompileResult> {
20
+ const prisma = ctx.state().prisma?.compiled;
21
+ const payloads: Record<string, string> = Object.fromEntries(
22
+ props.authorizations.map((el) => [el.payload.location, el.payload.content]),
23
+ );
24
+ const compiler: IAutoBeCompiler = await ctx.compiler();
25
+ const templateFiles: Record<string, string> =
26
+ await compiler.realize.getTemplate();
27
+ const nodeModules: Record<string, string> =
28
+ prisma?.type === "success" ? prisma.nodeModules : {};
29
+
30
+ const filterTsFiles = (location: string) =>
31
+ location.startsWith("src/") && location.endsWith(".ts");
32
+
33
+ const files: Record<string, string> = {
34
+ ...nodeModules,
35
+ ...payloads,
36
+ ...Object.fromEntries(
37
+ Object.entries(await ctx.files({ dbms: "sqlite" })).filter(([key]) =>
38
+ filterTsFiles(key),
39
+ ),
40
+ ),
41
+ ...Object.fromEntries(
42
+ Object.entries(templateFiles).filter(([key]) => filterTsFiles(key)),
43
+ ),
44
+ ...Object.fromEntries(
45
+ props.functions.map((el) => [el.location, el.content]),
46
+ ),
47
+ };
48
+
49
+ const compiled: IAutoBeTypeScriptCompileResult =
50
+ await compiler.typescript.compile({
51
+ files: files,
52
+ });
53
+ if (compiled.type === "success") {
54
+ return compiled;
55
+ }
56
+
57
+ const event: AutoBeRealizeValidateEvent = {
58
+ type: "realizeValidate",
59
+ id: v7(),
60
+ result: compiled,
61
+ files: Object.fromEntries(
62
+ compiled.type === "failure"
63
+ ? compiled.diagnostics.map((d) => [d.file, d.code])
64
+ : [],
65
+ ),
66
+ step: ctx.state().analyze?.step ?? 0,
67
+ created_at: new Date().toISOString(),
68
+ };
69
+ ctx.dispatch(event);
70
+ return compiled;
71
+ }