@autobe/agent 0.30.0-dev.20260315 → 0.30.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 (466) hide show
  1. package/LICENSE +661 -661
  2. package/lib/constants/AutoBeTemplateFileConstant.d.ts +1 -1
  3. package/lib/factory/consentFunctionCall.js +4 -4
  4. package/lib/factory/createAutoBeContext.js +24 -24
  5. package/lib/factory/createAutoBeMessageContent.js +6 -6
  6. package/lib/index.mjs +41 -41
  7. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.js +18 -18
  8. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.js +13 -13
  9. package/lib/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.js +47 -47
  10. package/lib/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.js +66 -66
  11. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.js +91 -91
  12. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.js +46 -46
  13. package/lib/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.js +72 -72
  14. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +1 -1
  15. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js +1 -1
  16. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js +1 -1
  17. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js +1 -1
  18. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js +1 -1
  19. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js +1 -1
  20. package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.js +5 -5
  21. package/lib/orchestrate/common/histories/transformPreliminaryHistory.js +44 -44
  22. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js +44 -44
  23. package/lib/orchestrate/common/internal/fixPrelminaryApplication.js +22 -22
  24. package/lib/orchestrate/common/internal/validatePreliminary.js +116 -116
  25. package/lib/orchestrate/facade/createAutoBeFacadeController.js +3 -3
  26. package/lib/orchestrate/facade/structures/transformFacadeStateMessage.js +20 -20
  27. package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.js +34 -34
  28. package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.js +37 -37
  29. package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js +56 -56
  30. package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.js +26 -26
  31. package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.js +28 -28
  32. package/lib/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.js +11 -11
  33. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js +38 -38
  34. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js +29 -29
  35. package/lib/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.js +15 -15
  36. package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js +6 -6
  37. package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js +25 -25
  38. package/lib/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.js +67 -67
  39. package/lib/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.js +60 -60
  40. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.js +83 -83
  41. package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js +29 -29
  42. package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js +74 -74
  43. package/lib/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.js +46 -46
  44. package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js +1 -1
  45. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +1 -1
  46. package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js +1 -1
  47. package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +9 -9
  48. package/lib/orchestrate/interface/orchestrateInterfaceOperation.js +1 -1
  49. package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js +1 -1
  50. package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +4 -4
  51. package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js +1 -1
  52. package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js +5 -5
  53. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js +1 -1
  54. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1 -1
  55. package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js +1 -1
  56. package/lib/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.js +90 -90
  57. package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.js +6 -6
  58. package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.js +25 -25
  59. package/lib/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.js +71 -71
  60. package/lib/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.js +162 -162
  61. package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.js +11 -11
  62. package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.js +73 -73
  63. package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.js +35 -35
  64. package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.js +11 -11
  65. package/lib/orchestrate/interface/utils/AutoBeJsonSchemaFactory.js +4 -4
  66. package/lib/orchestrate/interface/utils/AutoBeJsonSchemaValidator.js +283 -283
  67. package/lib/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js +76 -76
  68. package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.js +76 -76
  69. package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.js +51 -51
  70. package/lib/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.js +54 -54
  71. package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js +83 -83
  72. package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js +6 -6
  73. package/lib/orchestrate/prisma/histories/transformPrismaGroupHistory.js +22 -22
  74. package/lib/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.js +41 -41
  75. package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js +39 -39
  76. package/lib/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.js +41 -41
  77. package/lib/orchestrate/prisma/orchestratePrismaAuthorization.js +1 -1
  78. package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js +1 -1
  79. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +1 -1
  80. package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js +1 -1
  81. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1 -1
  82. package/lib/orchestrate/prisma/orchestratePrismaGroup.js +1 -1
  83. package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js +1 -1
  84. package/lib/orchestrate/prisma/orchestratePrismaSchema.js +1 -1
  85. package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js +1 -1
  86. package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.js +23 -23
  87. package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.js +7 -7
  88. package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.js +5 -5
  89. package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.js +20 -20
  90. package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.js +13 -13
  91. package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.js +51 -51
  92. package/lib/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.js +25 -25
  93. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js +28 -28
  94. package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js +14 -14
  95. package/lib/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.js +42 -42
  96. package/lib/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.js +27 -27
  97. package/lib/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.js +57 -57
  98. package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js +35 -35
  99. package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js +14 -14
  100. package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js +37 -37
  101. package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js.map +1 -1
  102. package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js +47 -47
  103. package/lib/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.js +27 -27
  104. package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js +51 -51
  105. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +1 -1
  106. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +1 -1
  107. package/lib/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.js +1 -1
  108. package/lib/orchestrate/realize/orchestrateRealizeCollectorPlan.js +11 -11
  109. package/lib/orchestrate/realize/orchestrateRealizeCollectorWrite.js +1 -1
  110. package/lib/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.js +1 -1
  111. package/lib/orchestrate/realize/orchestrateRealizeOperationWrite.js +1 -1
  112. package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.js +1 -1
  113. package/lib/orchestrate/realize/orchestrateRealizeTransformerPlan.js +11 -11
  114. package/lib/orchestrate/realize/orchestrateRealizeTransformerWrite.js +1 -1
  115. package/lib/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.js +41 -41
  116. package/lib/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.js +21 -21
  117. package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js +57 -57
  118. package/lib/orchestrate/realize/utils/getRealizeWriteInputType.js +3 -3
  119. package/lib/orchestrate/realize/utils/printErrorHints.js +5 -5
  120. package/lib/orchestrate/test/compile/getTestImportStatements.js +9 -9
  121. package/lib/orchestrate/test/histories/transformTestAuthorizeWriteHistory.js +38 -38
  122. package/lib/orchestrate/test/histories/transformTestGenerationWriteHistory.js +79 -79
  123. package/lib/orchestrate/test/histories/transformTestOperationWriteHistory.js +162 -162
  124. package/lib/orchestrate/test/histories/transformTestPrepareWriteHistory.js +54 -54
  125. package/lib/orchestrate/test/histories/transformTestScenarioHistory.js +31 -31
  126. package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js +27 -27
  127. package/lib/orchestrate/test/orchestrateTestScenario.js +1 -1
  128. package/lib/orchestrate/test/orchestrateTestScenarioReview.js +1 -1
  129. package/lib/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.js +31 -31
  130. package/lib/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.js +23 -23
  131. package/lib/orchestrate/test/programmers/AutoBeTestOperationProgrammer.js +6 -6
  132. package/lib/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.js +34 -34
  133. package/lib/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.js +39 -39
  134. package/lib/utils/predicateStateMessage.js +19 -19
  135. package/lib/utils/validateEmptyCode.js +16 -16
  136. package/package.json +5 -5
  137. package/src/AutoBeAgent.ts +374 -374
  138. package/src/AutoBeAgentBase.ts +126 -126
  139. package/src/AutoBeMockAgent.ts +254 -254
  140. package/src/constants/AutoBeConfigConstant.ts +173 -173
  141. package/src/constants/AutoBeTemplateFileConstant.ts +1 -1
  142. package/src/context/AutoBeContext.ts +107 -107
  143. package/src/context/AutoBeState.ts +66 -66
  144. package/src/context/AutoBeTokenUsage.ts +307 -307
  145. package/src/context/AutoBeTokenUsageComponent.ts +227 -227
  146. package/src/describe/describe.ts +47 -47
  147. package/src/describe/image/histories/transformImageDescribeDraftHistories.ts +16 -16
  148. package/src/describe/image/orchestrateImageDescribeDraft.ts +200 -200
  149. package/src/describe/image/structures/IAutoBeImageDescribeDraftApplication.ts +92 -92
  150. package/src/describe/imageDescribe.ts +64 -64
  151. package/src/factory/consentFunctionCall.ts +141 -141
  152. package/src/factory/createAgenticaHistory.ts +71 -71
  153. package/src/factory/createAutoBeContext.ts +584 -584
  154. package/src/factory/createAutoBeMessageContent.ts +36 -36
  155. package/src/factory/createAutoBeState.ts +20 -20
  156. package/src/factory/getAutoBeGenerated.ts +317 -317
  157. package/src/factory/getAutoBeRealizeGenerated.ts +31 -31
  158. package/src/factory/getCriticalCompiler.ts +52 -52
  159. package/src/factory/index.ts +1 -1
  160. package/src/factory/mergeSystemMessages.ts +60 -60
  161. package/src/factory/supportFunctionCallFallback.ts +214 -214
  162. package/src/factory/supportMistral.ts +138 -138
  163. package/src/index.ts +16 -16
  164. package/src/orchestrate/analyze/fillTocDeterministic.ts +280 -280
  165. package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.ts +55 -55
  166. package/src/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.ts +74 -74
  167. package/src/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.ts +179 -179
  168. package/src/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.ts +163 -163
  169. package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.ts +191 -191
  170. package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.ts +122 -122
  171. package/src/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.ts +161 -161
  172. package/src/orchestrate/analyze/index.ts +7 -7
  173. package/src/orchestrate/analyze/orchestrateAnalyze.ts +1693 -1693
  174. package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +267 -267
  175. package/src/orchestrate/analyze/orchestrateAnalyzeScenarioReview.ts +122 -122
  176. package/src/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.ts +146 -146
  177. package/src/orchestrate/analyze/orchestrateAnalyzeSectionReview.ts +154 -154
  178. package/src/orchestrate/analyze/orchestrateAnalyzeWriteSection.ts +388 -388
  179. package/src/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.ts +407 -407
  180. package/src/orchestrate/analyze/orchestrateAnalyzeWriteUnit.ts +348 -348
  181. package/src/orchestrate/analyze/programmers/AutoBeAnalyzeProgrammer.ts +149 -149
  182. package/src/orchestrate/analyze/structures/FixedAnalyzeTemplate.ts +961 -961
  183. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +141 -141
  184. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.ts +96 -96
  185. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.ts +160 -160
  186. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.ts +192 -192
  187. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.ts +142 -142
  188. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.ts +123 -123
  189. package/src/orchestrate/analyze/utils/buildConstraintConsistencyReport.ts +813 -813
  190. package/src/orchestrate/analyze/utils/buildErrorCodeRegistry.ts +324 -324
  191. package/src/orchestrate/analyze/utils/buildHardValidators.ts +88 -88
  192. package/src/orchestrate/analyze/utils/detectInventedEntities.ts +87 -87
  193. package/src/orchestrate/analyze/utils/detectProseConstraintConflicts.ts +319 -319
  194. package/src/orchestrate/analyze/utils/repairSectionReviewUtils.ts +181 -181
  195. package/src/orchestrate/analyze/utils/repairUtils.ts +60 -60
  196. package/src/orchestrate/analyze/utils/validateScenarioBasics.ts +104 -104
  197. package/src/orchestrate/common/AutoBePreliminaryController.ts +400 -400
  198. package/src/orchestrate/common/histories/transformCommonCorrectCastingHistory.ts +32 -32
  199. package/src/orchestrate/common/histories/transformPreliminaryHistory.ts +742 -742
  200. package/src/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.ts +77 -77
  201. package/src/orchestrate/common/internal/complementPreliminaryCollection.ts +263 -263
  202. package/src/orchestrate/common/internal/convertToSectionEntries.ts +57 -57
  203. package/src/orchestrate/common/internal/createPreliminaryCollection.ts +76 -76
  204. package/src/orchestrate/common/internal/fixPrelminaryApplication.ts +346 -346
  205. package/src/orchestrate/common/internal/validatePreliminary.ts +671 -671
  206. package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +223 -223
  207. package/src/orchestrate/common/orchestratePreliminary.ts +610 -610
  208. package/src/orchestrate/common/structures/AutoBePreliminaryRequest.ts +42 -42
  209. package/src/orchestrate/common/structures/IAnalysisSectionEntry.ts +35 -35
  210. package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +72 -72
  211. package/src/orchestrate/common/structures/IAutoBeOrchestrateResult.ts +28 -28
  212. package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +52 -52
  213. package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.ts +34 -34
  214. package/src/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.ts +31 -31
  215. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +32 -32
  216. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +31 -31
  217. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.ts +28 -28
  218. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.ts +88 -88
  219. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.ts +102 -102
  220. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.ts +105 -105
  221. package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.ts +32 -32
  222. package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.ts +32 -32
  223. package/src/orchestrate/facade/createAutoBeFacadeController.ts +118 -118
  224. package/src/orchestrate/facade/histories/IAutoBeFacadeApplication.ts +139 -139
  225. package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationProps.ts +8 -8
  226. package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationResult.ts +9 -9
  227. package/src/orchestrate/facade/structures/transformFacadeStateMessage.ts +59 -59
  228. package/src/orchestrate/index.ts +5 -5
  229. package/src/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.ts +83 -83
  230. package/src/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.ts +78 -78
  231. package/src/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.ts +129 -129
  232. package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.ts +74 -74
  233. package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.ts +68 -68
  234. package/src/orchestrate/interface/histories/transformInterfaceCommonHistory.ts +64 -64
  235. package/src/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.ts +42 -42
  236. package/src/orchestrate/interface/histories/transformInterfaceGroupHistory.ts +103 -103
  237. package/src/orchestrate/interface/histories/transformInterfaceOperationHistory.ts +81 -81
  238. package/src/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.ts +53 -53
  239. package/src/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.ts +49 -49
  240. package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.ts +94 -94
  241. package/src/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.ts +122 -122
  242. package/src/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.ts +192 -192
  243. package/src/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.ts +189 -189
  244. package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.ts +63 -63
  245. package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.ts +173 -173
  246. package/src/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.ts +88 -88
  247. package/src/orchestrate/interface/index.ts +6 -6
  248. package/src/orchestrate/interface/orchestrateInterface.ts +118 -118
  249. package/src/orchestrate/interface/orchestrateInterfaceActionEndpoint.ts +58 -58
  250. package/src/orchestrate/interface/orchestrateInterfaceAuthorization.ts +208 -208
  251. package/src/orchestrate/interface/orchestrateInterfaceBaseEndpoint.ts +55 -55
  252. package/src/orchestrate/interface/orchestrateInterfaceEndpoint.ts +67 -67
  253. package/src/orchestrate/interface/orchestrateInterfaceEndpointOverall.ts +80 -80
  254. package/src/orchestrate/interface/orchestrateInterfaceEndpointReview.ts +212 -212
  255. package/src/orchestrate/interface/orchestrateInterfaceEndpointWrite.ts +236 -236
  256. package/src/orchestrate/interface/orchestrateInterfaceGroup.ts +166 -166
  257. package/src/orchestrate/interface/orchestrateInterfaceOperation.ts +322 -322
  258. package/src/orchestrate/interface/orchestrateInterfaceOperationReview.ts +245 -245
  259. package/src/orchestrate/interface/orchestrateInterfacePrerequisite.ts +240 -240
  260. package/src/orchestrate/interface/orchestrateInterfaceSchema.ts +191 -191
  261. package/src/orchestrate/interface/orchestrateInterfaceSchemaCasting.ts +274 -274
  262. package/src/orchestrate/interface/orchestrateInterfaceSchemaComplement.ts +329 -329
  263. package/src/orchestrate/interface/orchestrateInterfaceSchemaRefine.ts +292 -292
  264. package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +266 -266
  265. package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +310 -310
  266. package/src/orchestrate/interface/orchestrateInterfaceSchemaWrite.ts +283 -283
  267. package/src/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.ts +260 -260
  268. package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.ts +155 -155
  269. package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.ts +139 -139
  270. package/src/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.ts +277 -277
  271. package/src/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.ts +259 -259
  272. package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.ts +152 -152
  273. package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.ts +347 -347
  274. package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.ts +183 -183
  275. package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.ts +263 -263
  276. package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.ts +135 -135
  277. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +128 -128
  278. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.ts +133 -133
  279. package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +122 -122
  280. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +178 -178
  281. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.ts +175 -175
  282. package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +130 -130
  283. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +121 -121
  284. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.ts +153 -153
  285. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.ts +123 -123
  286. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.ts +181 -181
  287. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.ts +45 -45
  288. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.ts +108 -108
  289. package/src/orchestrate/interface/utils/AutoBeJsonSchemaCollection.ts +42 -42
  290. package/src/orchestrate/interface/utils/AutoBeJsonSchemaFactory.ts +714 -714
  291. package/src/orchestrate/interface/utils/AutoBeJsonSchemaNamingConvention.ts +86 -86
  292. package/src/orchestrate/interface/utils/AutoBeJsonSchemaValidator.ts +725 -725
  293. package/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.ts +219 -219
  294. package/src/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.ts +144 -144
  295. package/src/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.ts +104 -104
  296. package/src/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.ts +97 -97
  297. package/src/orchestrate/prisma/histories/transformPrismaComponentsHistory.ts +136 -136
  298. package/src/orchestrate/prisma/histories/transformPrismaCorrectHistory.ts +41 -41
  299. package/src/orchestrate/prisma/histories/transformPrismaGroupHistory.ts +63 -63
  300. package/src/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.ts +79 -79
  301. package/src/orchestrate/prisma/histories/transformPrismaSchemaHistory.ts +97 -97
  302. package/src/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.ts +126 -126
  303. package/src/orchestrate/prisma/index.ts +7 -7
  304. package/src/orchestrate/prisma/orchestratePrisma.ts +296 -296
  305. package/src/orchestrate/prisma/orchestratePrismaAuthorization.ts +173 -173
  306. package/src/orchestrate/prisma/orchestratePrismaAuthorizationReview.ts +183 -183
  307. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +205 -205
  308. package/src/orchestrate/prisma/orchestratePrismaComponentReview.ts +205 -205
  309. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +265 -265
  310. package/src/orchestrate/prisma/orchestratePrismaGroup.ts +121 -121
  311. package/src/orchestrate/prisma/orchestratePrismaGroupReview.ts +141 -141
  312. package/src/orchestrate/prisma/orchestratePrismaSchema.ts +218 -218
  313. package/src/orchestrate/prisma/orchestratePrismaSchemaReview.ts +220 -220
  314. package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.ts +86 -86
  315. package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.ts +103 -103
  316. package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.ts +80 -80
  317. package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.ts +168 -168
  318. package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.ts +63 -63
  319. package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.ts +210 -210
  320. package/src/orchestrate/prisma/programmers/AutoBeDatabaseModelProgrammer.ts +57 -57
  321. package/src/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.ts +92 -92
  322. package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.ts +147 -147
  323. package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.ts +153 -153
  324. package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.ts +142 -142
  325. package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.ts +151 -151
  326. package/src/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.ts +157 -157
  327. package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.ts +117 -117
  328. package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.ts +154 -154
  329. package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.ts +144 -144
  330. package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.ts +138 -138
  331. package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.ts +89 -89
  332. package/src/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.ts +45 -45
  333. package/src/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.ts +137 -137
  334. package/src/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.ts +64 -64
  335. package/src/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.ts +147 -147
  336. package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.ts +69 -69
  337. package/src/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.ts +94 -94
  338. package/src/orchestrate/realize/histories/transformRealizeOperationWriteHistory.ts +127 -127
  339. package/src/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.ts +147 -147
  340. package/src/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.ts +61 -61
  341. package/src/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.ts +133 -133
  342. package/src/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.ts +30 -30
  343. package/src/orchestrate/realize/index.ts +3 -3
  344. package/src/orchestrate/realize/internal/orchestrateRealizeCorrectCasting.ts +444 -444
  345. package/src/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.ts +449 -449
  346. package/src/orchestrate/realize/orchestrateRealize.ts +143 -143
  347. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +207 -207
  348. package/src/orchestrate/realize/orchestrateRealizeAuthorizationWrite.ts +209 -209
  349. package/src/orchestrate/realize/orchestrateRealizeCollector.ts +41 -41
  350. package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectCasting.ts +43 -43
  351. package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.ts +157 -157
  352. package/src/orchestrate/realize/orchestrateRealizeCollectorPlan.ts +264 -264
  353. package/src/orchestrate/realize/orchestrateRealizeCollectorWrite.ts +225 -225
  354. package/src/orchestrate/realize/orchestrateRealizeOperation.ts +48 -48
  355. package/src/orchestrate/realize/orchestrateRealizeOperationCorrectCasting.ts +69 -69
  356. package/src/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.ts +173 -173
  357. package/src/orchestrate/realize/orchestrateRealizeOperationWrite.ts +262 -262
  358. package/src/orchestrate/realize/orchestrateRealizeTransformer.ts +41 -41
  359. package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.ts +38 -38
  360. package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.ts +160 -160
  361. package/src/orchestrate/realize/orchestrateRealizeTransformerPlan.ts +254 -254
  362. package/src/orchestrate/realize/orchestrateRealizeTransformerWrite.ts +226 -226
  363. package/src/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.ts +424 -424
  364. package/src/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.ts +409 -409
  365. package/src/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.ts +451 -451
  366. package/src/orchestrate/realize/programmers/compileRealizeFiles.ts +65 -65
  367. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +119 -119
  368. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.ts +167 -167
  369. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.ts +191 -191
  370. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.ts +177 -177
  371. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.ts +207 -207
  372. package/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.ts +11 -11
  373. package/src/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.ts +134 -134
  374. package/src/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.ts +138 -138
  375. package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.ts +32 -32
  376. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.ts +248 -248
  377. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.ts +150 -150
  378. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.ts +278 -278
  379. package/src/orchestrate/realize/utils/AuthorizationFileSystem.ts +10 -10
  380. package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.ts +9 -9
  381. package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.ts +62 -62
  382. package/src/orchestrate/realize/utils/InternalFileSystem.ts +12 -12
  383. package/src/orchestrate/realize/utils/ProviderFileSystem.ts +4 -4
  384. package/src/orchestrate/realize/utils/filterDiagnostics.ts +25 -25
  385. package/src/orchestrate/realize/utils/generateTS2339Hints.ts +54 -54
  386. package/src/orchestrate/realize/utils/getRealizeWriteImportStatements.ts +42 -42
  387. package/src/orchestrate/realize/utils/getRealizeWriteInputType.ts +88 -88
  388. package/src/orchestrate/realize/utils/printErrorHints.ts +54 -54
  389. package/src/orchestrate/test/compile/getTestArtifacts.ts +124 -124
  390. package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +39 -39
  391. package/src/orchestrate/test/compile/getTestImportStatements.ts +27 -27
  392. package/src/orchestrate/test/experimental/orchestrateTestCorrect.ast +237 -237
  393. package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +322 -322
  394. package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +52 -52
  395. package/src/orchestrate/test/histories/transformTestAuthorizeWriteHistory.ts +80 -80
  396. package/src/orchestrate/test/histories/transformTestCorrectOverallHistory.ts +116 -116
  397. package/src/orchestrate/test/histories/transformTestGenerationWriteHistory.ts +118 -118
  398. package/src/orchestrate/test/histories/transformTestOperationWriteHistory.ts +287 -287
  399. package/src/orchestrate/test/histories/transformTestPrepareWriteHistory.ts +95 -95
  400. package/src/orchestrate/test/histories/transformTestScenarioHistory.ts +120 -120
  401. package/src/orchestrate/test/histories/transformTestScenarioReviewHistory.ts +99 -99
  402. package/src/orchestrate/test/histories/transformTestValidateEvent.ts +11 -11
  403. package/src/orchestrate/test/index.ts +5 -5
  404. package/src/orchestrate/test/internal/orchestrateTestCorrectCasting.ts +96 -96
  405. package/src/orchestrate/test/internal/orchestrateTestCorrectOverall.ts +219 -219
  406. package/src/orchestrate/test/internal/orchestrateTestCorrectRequest.ts +206 -206
  407. package/src/orchestrate/test/orchestrateTest.ts +161 -161
  408. package/src/orchestrate/test/orchestrateTestAuthorize.ts +125 -125
  409. package/src/orchestrate/test/orchestrateTestAuthorizeWrite.ts +263 -263
  410. package/src/orchestrate/test/orchestrateTestGenerate.ts +121 -121
  411. package/src/orchestrate/test/orchestrateTestGenerateWrite.ts +211 -211
  412. package/src/orchestrate/test/orchestrateTestOperation.ts +133 -133
  413. package/src/orchestrate/test/orchestrateTestOperationWrite.ts +221 -221
  414. package/src/orchestrate/test/orchestrateTestPrepare.ts +117 -117
  415. package/src/orchestrate/test/orchestrateTestPrepareWrite.ts +264 -264
  416. package/src/orchestrate/test/orchestrateTestScenario.ts +290 -290
  417. package/src/orchestrate/test/orchestrateTestScenarioReview.ts +262 -262
  418. package/src/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.ts +149 -149
  419. package/src/orchestrate/test/programmers/AutoBeTestFunctionProgrammer.ts +90 -90
  420. package/src/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.ts +170 -170
  421. package/src/orchestrate/test/programmers/AutoBeTestOperationProgrammer.ts +168 -168
  422. package/src/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.ts +261 -261
  423. package/src/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.ts +316 -316
  424. package/src/orchestrate/test/structures/IAutoBeTestArtifacts.ts +8 -8
  425. package/src/orchestrate/test/structures/IAutoBeTestAuthorizationWriteApplication.ts +113 -113
  426. package/src/orchestrate/test/structures/IAutoBeTestAuthorizeWriteResult.ts +10 -10
  427. package/src/orchestrate/test/structures/IAutoBeTestCorrectOverallApplication.ts +134 -134
  428. package/src/orchestrate/test/structures/IAutoBeTestCorrectRequestApplication.ts +152 -152
  429. package/src/orchestrate/test/structures/IAutoBeTestFunction.ts +10 -10
  430. package/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.ts +10 -10
  431. package/src/orchestrate/test/structures/IAutoBeTestGenerateProcedure.ts +15 -15
  432. package/src/orchestrate/test/structures/IAutoBeTestGenerationWriteApplication.ts +145 -145
  433. package/src/orchestrate/test/structures/IAutoBeTestOperationProcedure.ts +17 -17
  434. package/src/orchestrate/test/structures/IAutoBeTestOperationWriteApplication.ts +162 -162
  435. package/src/orchestrate/test/structures/IAutoBeTestPrepareCorrectOverallApplication.ts +194 -194
  436. package/src/orchestrate/test/structures/IAutoBeTestPrepareProcedure.ts +8 -8
  437. package/src/orchestrate/test/structures/IAutoBeTestPrepareWriteApplication.ts +147 -147
  438. package/src/orchestrate/test/structures/IAutoBeTestProcedure.ts +10 -10
  439. package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +105 -105
  440. package/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.ts +8 -8
  441. package/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationActor.ts +7 -7
  442. package/src/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.ts +133 -133
  443. package/src/orchestrate/test/utils/getPrerequisites.ts +51 -51
  444. package/src/orchestrate/test/utils/getReferenceIds.ts +26 -26
  445. package/src/orchestrate/test/utils/insertScriptToTestResult.ts +14 -14
  446. package/src/structures/IAutoBeConfig.ts +110 -110
  447. package/src/structures/IAutoBeOrchestrateHistory.ts +44 -44
  448. package/src/structures/IAutoBeProps.ts +102 -102
  449. package/src/structures/IAutoBeVendor.ts +113 -113
  450. package/src/utils/AutoBePreliminaryExhaustedError.ts +30 -30
  451. package/src/utils/AutoBeTimeoutError.ts +35 -35
  452. package/src/utils/EmbeddingProvider.ts +4 -4
  453. package/src/utils/LocalEmbeddingProvider.ts +145 -145
  454. package/src/utils/RAGRetrieval.ts +411 -411
  455. package/src/utils/TimedConversation.ts +125 -125
  456. package/src/utils/backoffRetry.ts +169 -169
  457. package/src/utils/divideArray.ts +35 -35
  458. package/src/utils/emplaceMap.ts +31 -31
  459. package/src/utils/executeCachedBatch.ts +67 -67
  460. package/src/utils/forceRetry.ts +15 -15
  461. package/src/utils/getEmbedder.ts +16 -16
  462. package/src/utils/parseTextFunctionCall.ts +437 -437
  463. package/src/utils/predicateStateMessage.ts +131 -131
  464. package/src/utils/validateEmptyCode.ts +73 -73
  465. package/src/utils/validateEnglishOnly.ts +224 -224
  466. package/README.md +0 -261
@@ -1,113 +1,113 @@
1
- import OpenAI from "openai";
2
-
3
- /**
4
- * Interface representing AI vendor configuration for the AutoBeAgent.
5
- *
6
- * Defines the connection parameters and settings required to integrate with AI
7
- * service providers that power the vibe coding pipeline. While utilizing the
8
- * OpenAI SDK as the connection interface, this configuration supports various
9
- * LLM vendors beyond OpenAI through flexible endpoint and authentication
10
- * configuration, enabling integration with Claude, DeepSeek, Meta Llama, and
11
- * other providers that follow OpenAI-compatible API patterns.
12
- *
13
- * The vendor configuration determines the AI capabilities available throughout
14
- * the entire automated development workflow, from requirements analysis and
15
- * database design through API specification, testing, and final implementation.
16
- * Different vendors may offer varying performance characteristics, cost
17
- * structures, and feature support that can be optimized for specific vibe
18
- * coding needs.
19
- *
20
- * Concurrent request management is built-in to prevent API rate limiting and
21
- * optimize resource utilization across multiple development phases and parallel
22
- * operations within the vibe coding pipeline.
23
- *
24
- * @author Samchon
25
- */
26
- export interface IAutoBeVendor {
27
- /**
28
- * OpenAI SDK instance configured for the target AI vendor.
29
- *
30
- * Provides the API connection interface used by the AutoBeAgent to
31
- * communicate with AI services. While this uses the OpenAI SDK, it can be
32
- * configured to connect with various LLM providers by setting the appropriate
33
- * `baseURL` and authentication credentials. The SDK serves as a universal
34
- * connector that abstracts the underlying API communication protocols.
35
- *
36
- * For non-OpenAI vendors, configure the SDK with the vendor's API endpoint
37
- * and authentication requirements to enable seamless integration with the
38
- * vibe coding system.
39
- */
40
- api: OpenAI;
41
-
42
- /**
43
- * Specific model identifier to use for AI operations.
44
- *
45
- * Specifies the exact model name or identifier that should be used for vibe
46
- * coding tasks. Supports both official OpenAI chat models and custom model
47
- * identifiers for third-party hosting services, cloud providers, or
48
- * alternative LLM vendors. The model choice significantly impacts the
49
- * quality, performance, and cost of the automated development process.
50
- *
51
- * Examples include "gpt-4", "gpt-3.5-turbo" for OpenAI, or vendor-specific
52
- * identifiers like "claude-3-sonnet", "deepseek-chat-v3", "llama3.3-70b" when
53
- * using alternative providers through compatible APIs.
54
- */
55
- model: OpenAI.ChatModel | ({} & string);
56
-
57
- /**
58
- * Optional request configuration for API calls.
59
- *
60
- * Additional request options that will be applied to all API calls made
61
- * through the OpenAI SDK. This can include custom headers, timeouts, retry
62
- * policies, or other HTTP client configuration that may be required for
63
- * specific vendor integrations or enterprise environments.
64
- *
65
- * These options provide fine-grained control over the API communication
66
- * behavior and can be used to optimize performance or meet specific
67
- * infrastructure requirements.
68
- */
69
- options?: OpenAI.RequestOptions | undefined;
70
-
71
- /**
72
- * Maximum number of concurrent API requests allowed.
73
- *
74
- * Controls the concurrency level for AI API calls to prevent rate limiting,
75
- * manage resource consumption, and optimize system performance. The vibe
76
- * coding pipeline may make multiple parallel requests during development
77
- * phases, and this setting ensures controlled resource utilization.
78
- *
79
- * A reasonable default provides balanced performance while respecting typical
80
- * API rate limits. Lower values reduce resource consumption but may slow
81
- * development progress, while higher values can improve performance but risk
82
- * hitting rate limits or overwhelming the AI service.
83
- *
84
- * Set to undefined to disable concurrency limiting, allowing unlimited
85
- * parallel requests (use with caution based on your API limits and
86
- * infrastructure capacity).
87
- *
88
- * @default 16
89
- */
90
- semaphore?: number | undefined;
91
-
92
- /**
93
- * Indicates whether this vendor/model supports explicit tool choice control.
94
- *
95
- * When set to `true`, the agent may pass the `tool_choice` parameter with a
96
- * value of `"required"` (or other explicit values) for models that implement
97
- * OpenAI-style tool calling. This allows the agent to force the model to call
98
- * one of the provided tools when appropriate.
99
- *
100
- * When set to `false`, the agent will avoid sending `tool_choice` in a way
101
- * that forces tool invocation, and will instead rely on the model's default
102
- * behavior or omit tool-choice configuration entirely. This should be used
103
- * for vendors or models that do not understand, partially implement, or are
104
- * unstable with the `tool_choice` parameter.
105
- *
106
- * This flag is necessary so that a single agent implementation can work
107
- * across multiple vendors and models with differing levels of tool-calling
108
- * support, without causing API errors or unexpected behavior.
109
- *
110
- * @default true
111
- */
112
- useToolChoice?: boolean;
113
- }
1
+ import OpenAI from "openai";
2
+
3
+ /**
4
+ * Interface representing AI vendor configuration for the AutoBeAgent.
5
+ *
6
+ * Defines the connection parameters and settings required to integrate with AI
7
+ * service providers that power the vibe coding pipeline. While utilizing the
8
+ * OpenAI SDK as the connection interface, this configuration supports various
9
+ * LLM vendors beyond OpenAI through flexible endpoint and authentication
10
+ * configuration, enabling integration with Claude, DeepSeek, Meta Llama, and
11
+ * other providers that follow OpenAI-compatible API patterns.
12
+ *
13
+ * The vendor configuration determines the AI capabilities available throughout
14
+ * the entire automated development workflow, from requirements analysis and
15
+ * database design through API specification, testing, and final implementation.
16
+ * Different vendors may offer varying performance characteristics, cost
17
+ * structures, and feature support that can be optimized for specific vibe
18
+ * coding needs.
19
+ *
20
+ * Concurrent request management is built-in to prevent API rate limiting and
21
+ * optimize resource utilization across multiple development phases and parallel
22
+ * operations within the vibe coding pipeline.
23
+ *
24
+ * @author Samchon
25
+ */
26
+ export interface IAutoBeVendor {
27
+ /**
28
+ * OpenAI SDK instance configured for the target AI vendor.
29
+ *
30
+ * Provides the API connection interface used by the AutoBeAgent to
31
+ * communicate with AI services. While this uses the OpenAI SDK, it can be
32
+ * configured to connect with various LLM providers by setting the appropriate
33
+ * `baseURL` and authentication credentials. The SDK serves as a universal
34
+ * connector that abstracts the underlying API communication protocols.
35
+ *
36
+ * For non-OpenAI vendors, configure the SDK with the vendor's API endpoint
37
+ * and authentication requirements to enable seamless integration with the
38
+ * vibe coding system.
39
+ */
40
+ api: OpenAI;
41
+
42
+ /**
43
+ * Specific model identifier to use for AI operations.
44
+ *
45
+ * Specifies the exact model name or identifier that should be used for vibe
46
+ * coding tasks. Supports both official OpenAI chat models and custom model
47
+ * identifiers for third-party hosting services, cloud providers, or
48
+ * alternative LLM vendors. The model choice significantly impacts the
49
+ * quality, performance, and cost of the automated development process.
50
+ *
51
+ * Examples include "gpt-4", "gpt-3.5-turbo" for OpenAI, or vendor-specific
52
+ * identifiers like "claude-3-sonnet", "deepseek-chat-v3", "llama3.3-70b" when
53
+ * using alternative providers through compatible APIs.
54
+ */
55
+ model: OpenAI.ChatModel | ({} & string);
56
+
57
+ /**
58
+ * Optional request configuration for API calls.
59
+ *
60
+ * Additional request options that will be applied to all API calls made
61
+ * through the OpenAI SDK. This can include custom headers, timeouts, retry
62
+ * policies, or other HTTP client configuration that may be required for
63
+ * specific vendor integrations or enterprise environments.
64
+ *
65
+ * These options provide fine-grained control over the API communication
66
+ * behavior and can be used to optimize performance or meet specific
67
+ * infrastructure requirements.
68
+ */
69
+ options?: OpenAI.RequestOptions | undefined;
70
+
71
+ /**
72
+ * Maximum number of concurrent API requests allowed.
73
+ *
74
+ * Controls the concurrency level for AI API calls to prevent rate limiting,
75
+ * manage resource consumption, and optimize system performance. The vibe
76
+ * coding pipeline may make multiple parallel requests during development
77
+ * phases, and this setting ensures controlled resource utilization.
78
+ *
79
+ * A reasonable default provides balanced performance while respecting typical
80
+ * API rate limits. Lower values reduce resource consumption but may slow
81
+ * development progress, while higher values can improve performance but risk
82
+ * hitting rate limits or overwhelming the AI service.
83
+ *
84
+ * Set to undefined to disable concurrency limiting, allowing unlimited
85
+ * parallel requests (use with caution based on your API limits and
86
+ * infrastructure capacity).
87
+ *
88
+ * @default 16
89
+ */
90
+ semaphore?: number | undefined;
91
+
92
+ /**
93
+ * Indicates whether this vendor/model supports explicit tool choice control.
94
+ *
95
+ * When set to `true`, the agent may pass the `tool_choice` parameter with a
96
+ * value of `"required"` (or other explicit values) for models that implement
97
+ * OpenAI-style tool calling. This allows the agent to force the model to call
98
+ * one of the provided tools when appropriate.
99
+ *
100
+ * When set to `false`, the agent will avoid sending `tool_choice` in a way
101
+ * that forces tool invocation, and will instead rely on the model's default
102
+ * behavior or omit tool-choice configuration entirely. This should be used
103
+ * for vendors or models that do not understand, partially implement, or are
104
+ * unstable with the `tool_choice` parameter.
105
+ *
106
+ * This flag is necessary so that a single agent implementation can work
107
+ * across multiple vendors and models with differing levels of tool-calling
108
+ * support, without causing API errors or unexpected behavior.
109
+ *
110
+ * @default true
111
+ */
112
+ useToolChoice?: boolean;
113
+ }
@@ -1,30 +1,30 @@
1
- /**
2
- * Custom error indicating RAG loop exhausted all retry attempts.
3
- *
4
- * Thrown by `AutoBePreliminaryController.orchestrate()` when the LLM repeatedly
5
- * requests more data without ever calling `complete`, exceeding
6
- * `AutoBeConfigConstant.RAG_LIMIT` iterations.
7
- *
8
- * Caught alongside `AutoBeTimeoutError` in orchestration pipelines to trigger
9
- * force-pass behavior instead of crashing the entire process.
10
- *
11
- * @author Samchon
12
- */
13
- export class AutoBePreliminaryExhaustedError extends Error {
14
- public constructor(message?: string) {
15
- super(
16
- message ?? "Preliminary process exceeded the maximum number of retries.",
17
- );
18
-
19
- const proto = new.target.prototype;
20
- if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
21
- else {
22
- // biome-ignore lint: intended
23
- (this as any).__proto__ = proto;
24
- }
25
- }
26
-
27
- public get name(): string {
28
- return this.constructor.name;
29
- }
30
- }
1
+ /**
2
+ * Custom error indicating RAG loop exhausted all retry attempts.
3
+ *
4
+ * Thrown by `AutoBePreliminaryController.orchestrate()` when the LLM repeatedly
5
+ * requests more data without ever calling `complete`, exceeding
6
+ * `AutoBeConfigConstant.RAG_LIMIT` iterations.
7
+ *
8
+ * Caught alongside `AutoBeTimeoutError` in orchestration pipelines to trigger
9
+ * force-pass behavior instead of crashing the entire process.
10
+ *
11
+ * @author Samchon
12
+ */
13
+ export class AutoBePreliminaryExhaustedError extends Error {
14
+ public constructor(message?: string) {
15
+ super(
16
+ message ?? "Preliminary process exceeded the maximum number of retries.",
17
+ );
18
+
19
+ const proto = new.target.prototype;
20
+ if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
21
+ else {
22
+ // biome-ignore lint: intended
23
+ (this as any).__proto__ = proto;
24
+ }
25
+ }
26
+
27
+ public get name(): string {
28
+ return this.constructor.name;
29
+ }
30
+ }
@@ -1,35 +1,35 @@
1
- /**
2
- * Custom error indicating LLM conversation exceeded configured timeout limit.
3
- *
4
- * Used by `TimedConversation` to wrap conversation operations with timeout
5
- * enforcement. When LLM response takes too long, this error is thrown to
6
- * distinguish timeout failures from other error types.
7
- *
8
- * The distinction is critical for retry logic: timeout errors are NOT retried
9
- * (immediate failure) while other errors can be retried. This prevents wasting
10
- * resources on conversations that are fundamentally too slow.
11
- *
12
- * @author Samchon
13
- */
14
- export class AutoBeTimeoutError extends Error {
15
- /**
16
- * Creates timeout error with descriptive message.
17
- *
18
- * @param message Error description including timeout duration
19
- */
20
- public constructor(message: string) {
21
- super(message);
22
-
23
- const proto = new.target.prototype;
24
- if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
25
- else {
26
- // biome-ignore lint: intended
27
- (this as any).__proto__ = proto;
28
- }
29
- }
30
-
31
- /** Returns error class name for identification. */
32
- public get name(): string {
33
- return this.constructor.name;
34
- }
35
- }
1
+ /**
2
+ * Custom error indicating LLM conversation exceeded configured timeout limit.
3
+ *
4
+ * Used by `TimedConversation` to wrap conversation operations with timeout
5
+ * enforcement. When LLM response takes too long, this error is thrown to
6
+ * distinguish timeout failures from other error types.
7
+ *
8
+ * The distinction is critical for retry logic: timeout errors are NOT retried
9
+ * (immediate failure) while other errors can be retried. This prevents wasting
10
+ * resources on conversations that are fundamentally too slow.
11
+ *
12
+ * @author Samchon
13
+ */
14
+ export class AutoBeTimeoutError extends Error {
15
+ /**
16
+ * Creates timeout error with descriptive message.
17
+ *
18
+ * @param message Error description including timeout duration
19
+ */
20
+ public constructor(message: string) {
21
+ super(message);
22
+
23
+ const proto = new.target.prototype;
24
+ if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
25
+ else {
26
+ // biome-ignore lint: intended
27
+ (this as any).__proto__ = proto;
28
+ }
29
+ }
30
+
31
+ /** Returns error class name for identification. */
32
+ public get name(): string {
33
+ return this.constructor.name;
34
+ }
35
+ }
@@ -1,4 +1,4 @@
1
- export interface EmbeddingProvider {
2
- embed(texts: string[]): Promise<number[][]>;
3
- dim?: number;
4
- }
1
+ export interface EmbeddingProvider {
2
+ embed(texts: string[]): Promise<number[][]>;
3
+ dim?: number;
4
+ }
@@ -1,145 +1,145 @@
1
- import { TransformersEnvironment } from "@huggingface/transformers/types/env";
2
- import { createHash } from "node:crypto";
3
- import typia from "typia";
4
-
5
- import type { EmbeddingProvider } from "./EmbeddingProvider";
6
-
7
- interface TensorLike {
8
- tolist?: () => unknown;
9
- data?: ArrayLike<number>;
10
- dims?: number[];
11
- shape?: number[];
12
- }
13
-
14
- type FeatureExtractionPipeline = (
15
- inputs: string[] | string,
16
- options?: {
17
- pooling?: "none" | "mean" | "max";
18
- normalize?: boolean;
19
- },
20
- ) => Promise<unknown>;
21
-
22
- export class LocalEmbeddingProvider implements EmbeddingProvider {
23
- public dim?: number;
24
-
25
- private extractorPromise: Promise<FeatureExtractionPipeline>;
26
- private cache = new Map<string, number[]>();
27
-
28
- constructor(
29
- private readonly options: {
30
- modelIdOrPath: string;
31
-
32
- cacheDir?: string;
33
-
34
- quantized?: boolean;
35
-
36
- batchSize?: number;
37
-
38
- enableCache?: boolean;
39
- },
40
- ) {
41
- this.extractorPromise = this.init();
42
- }
43
-
44
- async embed(texts: string[]): Promise<number[][]> {
45
- if (texts.length === 0) return [];
46
-
47
- const extractor = await this.extractorPromise;
48
- const batchSize = this.options.batchSize ?? 32;
49
- const useCache = this.options.enableCache ?? true;
50
-
51
- const out: number[][] = new Array(texts.length);
52
- const misses: { idx: number; text: string; key: string }[] = [];
53
-
54
- for (let i = 0; i < texts.length; i++) {
55
- const t = texts[i] ?? "";
56
- const key = hashText(t);
57
- const hit = useCache ? this.cache.get(key) : undefined;
58
- if (hit) out[i] = hit;
59
- else misses.push({ idx: i, text: t, key });
60
- }
61
-
62
- for (let i = 0; i < misses.length; i += batchSize) {
63
- const chunk = misses.slice(i, i + batchSize);
64
- const chunkTexts = chunk.map((c) => c.text);
65
-
66
- const result = await extractor(chunkTexts, {
67
- pooling: "mean",
68
- normalize: true,
69
- });
70
- const vecs = toVectors(result);
71
-
72
- if (vecs.length !== chunk.length) {
73
- throw new Error(
74
- `[LocalEmbeddingProvider] batch mismatch: in=${chunk.length}, out=${vecs.length}`,
75
- );
76
- }
77
-
78
- if (!this.dim && vecs[0]) this.dim = vecs[0].length;
79
-
80
- for (let j = 0; j < chunk.length; j++) {
81
- const v = vecs[j]!;
82
- const { idx, key } = chunk[j]!;
83
- out[idx] = v;
84
- if (useCache) this.cache.set(key, v);
85
- }
86
- }
87
-
88
- for (let i = 0; i < out.length; i++) {
89
- if (!out[i])
90
- throw new Error(`[LocalEmbeddingProvider] missing vector at i=${i}`);
91
- }
92
-
93
- return out;
94
- }
95
-
96
- private async init(): Promise<FeatureExtractionPipeline> {
97
- const t = await import("@huggingface/transformers");
98
- const env: TransformersEnvironment = t.env;
99
- if (env && this.options.cacheDir) env.cacheDir = this.options.cacheDir;
100
-
101
- const pipeline = await t.pipeline(
102
- "feature-extraction",
103
- this.options.modelIdOrPath,
104
- {
105
- dtype: this.options.quantized === false ? "fp32" : "q8",
106
- },
107
- );
108
-
109
- return pipeline as FeatureExtractionPipeline;
110
- }
111
- }
112
-
113
- function hashText(text: string): string {
114
- return createHash("sha256").update(text).digest("hex");
115
- }
116
-
117
- function toVectors(result: unknown): number[][] {
118
- if (typia.is<number[][]>(result)) {
119
- return result;
120
- }
121
- if (typia.is<number[]>(result)) {
122
- return [result];
123
- }
124
-
125
- if (typia.is<TensorLike>(result)) {
126
- if (typeof result.tolist === "function") {
127
- const arr = result.tolist();
128
- if (typia.is<number[][]>(arr)) return arr;
129
- if (typia.is<number[]>(arr)) return [arr];
130
- }
131
-
132
- const data: number[] = Array.from(result.data ?? []);
133
- const dims: number[] = Array.from(result.dims ?? result.shape ?? []);
134
-
135
- if (dims.length === 2) {
136
- const [B, D] = dims;
137
- const out: number[][] = [];
138
- for (let b = 0; b < B; b++) out.push(data.slice(b * D, (b + 1) * D));
139
- return out;
140
- }
141
- if (dims.length === 1) return [data];
142
- }
143
-
144
- throw new Error("[LocalEmbeddingProvider] unsupported embedding output");
145
- }
1
+ import { TransformersEnvironment } from "@huggingface/transformers/types/env";
2
+ import { createHash } from "node:crypto";
3
+ import typia from "typia";
4
+
5
+ import type { EmbeddingProvider } from "./EmbeddingProvider";
6
+
7
+ interface TensorLike {
8
+ tolist?: () => unknown;
9
+ data?: ArrayLike<number>;
10
+ dims?: number[];
11
+ shape?: number[];
12
+ }
13
+
14
+ type FeatureExtractionPipeline = (
15
+ inputs: string[] | string,
16
+ options?: {
17
+ pooling?: "none" | "mean" | "max";
18
+ normalize?: boolean;
19
+ },
20
+ ) => Promise<unknown>;
21
+
22
+ export class LocalEmbeddingProvider implements EmbeddingProvider {
23
+ public dim?: number;
24
+
25
+ private extractorPromise: Promise<FeatureExtractionPipeline>;
26
+ private cache = new Map<string, number[]>();
27
+
28
+ constructor(
29
+ private readonly options: {
30
+ modelIdOrPath: string;
31
+
32
+ cacheDir?: string;
33
+
34
+ quantized?: boolean;
35
+
36
+ batchSize?: number;
37
+
38
+ enableCache?: boolean;
39
+ },
40
+ ) {
41
+ this.extractorPromise = this.init();
42
+ }
43
+
44
+ async embed(texts: string[]): Promise<number[][]> {
45
+ if (texts.length === 0) return [];
46
+
47
+ const extractor = await this.extractorPromise;
48
+ const batchSize = this.options.batchSize ?? 32;
49
+ const useCache = this.options.enableCache ?? true;
50
+
51
+ const out: number[][] = new Array(texts.length);
52
+ const misses: { idx: number; text: string; key: string }[] = [];
53
+
54
+ for (let i = 0; i < texts.length; i++) {
55
+ const t = texts[i] ?? "";
56
+ const key = hashText(t);
57
+ const hit = useCache ? this.cache.get(key) : undefined;
58
+ if (hit) out[i] = hit;
59
+ else misses.push({ idx: i, text: t, key });
60
+ }
61
+
62
+ for (let i = 0; i < misses.length; i += batchSize) {
63
+ const chunk = misses.slice(i, i + batchSize);
64
+ const chunkTexts = chunk.map((c) => c.text);
65
+
66
+ const result = await extractor(chunkTexts, {
67
+ pooling: "mean",
68
+ normalize: true,
69
+ });
70
+ const vecs = toVectors(result);
71
+
72
+ if (vecs.length !== chunk.length) {
73
+ throw new Error(
74
+ `[LocalEmbeddingProvider] batch mismatch: in=${chunk.length}, out=${vecs.length}`,
75
+ );
76
+ }
77
+
78
+ if (!this.dim && vecs[0]) this.dim = vecs[0].length;
79
+
80
+ for (let j = 0; j < chunk.length; j++) {
81
+ const v = vecs[j]!;
82
+ const { idx, key } = chunk[j]!;
83
+ out[idx] = v;
84
+ if (useCache) this.cache.set(key, v);
85
+ }
86
+ }
87
+
88
+ for (let i = 0; i < out.length; i++) {
89
+ if (!out[i])
90
+ throw new Error(`[LocalEmbeddingProvider] missing vector at i=${i}`);
91
+ }
92
+
93
+ return out;
94
+ }
95
+
96
+ private async init(): Promise<FeatureExtractionPipeline> {
97
+ const t = await import("@huggingface/transformers");
98
+ const env: TransformersEnvironment = t.env;
99
+ if (env && this.options.cacheDir) env.cacheDir = this.options.cacheDir;
100
+
101
+ const pipeline = await t.pipeline(
102
+ "feature-extraction",
103
+ this.options.modelIdOrPath,
104
+ {
105
+ dtype: this.options.quantized === false ? "fp32" : "q8",
106
+ },
107
+ );
108
+
109
+ return pipeline as FeatureExtractionPipeline;
110
+ }
111
+ }
112
+
113
+ function hashText(text: string): string {
114
+ return createHash("sha256").update(text).digest("hex");
115
+ }
116
+
117
+ function toVectors(result: unknown): number[][] {
118
+ if (typia.is<number[][]>(result)) {
119
+ return result;
120
+ }
121
+ if (typia.is<number[]>(result)) {
122
+ return [result];
123
+ }
124
+
125
+ if (typia.is<TensorLike>(result)) {
126
+ if (typeof result.tolist === "function") {
127
+ const arr = result.tolist();
128
+ if (typia.is<number[][]>(arr)) return arr;
129
+ if (typia.is<number[]>(arr)) return [arr];
130
+ }
131
+
132
+ const data: number[] = Array.from(result.data ?? []);
133
+ const dims: number[] = Array.from(result.dims ?? result.shape ?? []);
134
+
135
+ if (dims.length === 2) {
136
+ const [B, D] = dims;
137
+ const out: number[][] = [];
138
+ for (let b = 0; b < B; b++) out.push(data.slice(b * D, (b + 1) * D));
139
+ return out;
140
+ }
141
+ if (dims.length === 1) return [data];
142
+ }
143
+
144
+ throw new Error("[LocalEmbeddingProvider] unsupported embedding output");
145
+ }