@autobe/agent 0.30.0-dev.20260315 → 0.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,307 +1,307 @@
1
- import { IAutoBeTokenUsageJson } from "@autobe/interface";
2
-
3
- import { AutoBeTokenUsageComponent } from "./AutoBeTokenUsageComponent";
4
-
5
- /**
6
- * Comprehensive token usage tracker for the AutoBe vibe coding system.
7
- *
8
- * This class provides centralized tracking and management of token consumption
9
- * across all AI agents in the automated development pipeline. It captures
10
- * detailed token usage statistics for each processing phase - from initial
11
- * requirements analysis through final implementation - enabling cost
12
- * monitoring, performance optimization, and resource utilization analysis.
13
- *
14
- * The token usage data includes both input tokens (with cache efficiency) and
15
- * output tokens (with generation type breakdowns), providing insights into AI
16
- * processing efficiency and helping optimize the balance between computational
17
- * costs and output quality.
18
- *
19
- * @author SunRabbit123
20
- */
21
- export class AutoBeTokenUsage implements IAutoBeTokenUsageJson {
22
- /**
23
- * Token usage for the facade agent orchestrating the entire pipeline.
24
- *
25
- * Tracks tokens consumed by the initial agent that coordinates and manages
26
- * the overall vibe coding process, including request parsing and response
27
- * orchestration.
28
- */
29
- public readonly facade: AutoBeTokenUsageComponent;
30
-
31
- /**
32
- * Token usage for the requirements analysis agent.
33
- *
34
- * Captures tokens used during the analysis phase where user requirements are
35
- * processed, understood, and transformed into structured specifications for
36
- * subsequent development phases.
37
- */
38
- public readonly analyze: AutoBeTokenUsageComponent;
39
-
40
- /**
41
- * Token usage for the Database schema generation agent.
42
- *
43
- * Records tokens consumed while designing and generating database schemas,
44
- * including entity relationships, field definitions, and database-specific
45
- * optimizations.
46
- */
47
- public readonly database: AutoBeTokenUsageComponent;
48
-
49
- /**
50
- * Token usage for the API interface specification agent.
51
- *
52
- * Tracks tokens used in creating OpenAPI/Swagger specifications, defining
53
- * endpoints, request/response structures, and API documentation.
54
- */
55
- public readonly interface: AutoBeTokenUsageComponent;
56
-
57
- /**
58
- * Token usage for the test code generation agent.
59
- *
60
- * Monitors tokens consumed during automated test creation, including scenario
61
- * planning, test case generation, and end-to-end test implementation.
62
- */
63
- public readonly test: AutoBeTokenUsageComponent;
64
-
65
- /**
66
- * Token usage for the implementation realization agent.
67
- *
68
- * Captures tokens used in the final implementation phase where actual
69
- * business logic, controllers, services, and integration code are generated.
70
- */
71
- public readonly realize: AutoBeTokenUsageComponent;
72
-
73
- /**
74
- * Aggregated token usage statistics across all agents.
75
- *
76
- * Provides a unified view of token consumption by combining data from all
77
- * processing phases in the vibe coding pipeline. This computed property
78
- * dynamically calculates the sum of all agent components (facade, analyze,
79
- * database, interface, test, realize) whenever accessed, ensuring the
80
- * aggregate always reflects the current state of token usage.
81
- *
82
- * The aggregation performs element-wise addition across all token metrics,
83
- * including total counts, input breakdowns with cache statistics, and output
84
- * categorizations by generation type. This comprehensive view enables overall
85
- * cost assessment and resource utilization analysis for the entire automated
86
- * development session.
87
- */
88
- public get aggregate(): IAutoBeTokenUsageJson.IComponent {
89
- return AutoBeTokenUsage.keys()
90
- .reduce(
91
- (acc, cur) => AutoBeTokenUsageComponent.plus(acc, this[cur]),
92
- new AutoBeTokenUsageComponent(),
93
- )
94
- .toJSON();
95
- }
96
-
97
- /* -----------------------------------------------------------
98
- CONSTRUCTORS
99
- ----------------------------------------------------------- */
100
- /**
101
- * Default Constructor.
102
- *
103
- * Creates a new token usage tracker with all agent phases initialized to
104
- * empty components. Each component starts with zero values for all token
105
- * counters, providing a clean slate for tracking token consumption from the
106
- * beginning of a vibe coding session.
107
- */
108
- public constructor();
109
-
110
- /**
111
- * Binding Constructor.
112
- *
113
- * Creates a new instance that shares component references with the provided
114
- * AutoBeTokenUsage instance. This establishes a bound relationship where both
115
- * instances point to the same component objects. Any modifications to token
116
- * counts through either instance will be reflected in both, enabling shared
117
- * tracking across different contexts.
118
- *
119
- * @param bind Existing AutoBeTokenUsage instance to bind to
120
- */
121
- public constructor(bind: AutoBeTokenUsage);
122
-
123
- /**
124
- * Initializer Constructor.
125
- *
126
- * Reconstructs a token usage tracker from serialized JSON data. Creates new
127
- * AutoBeTokenUsageComponent instances for each agent phase, initializing them
128
- * with the corresponding values from the JSON structure. This enables
129
- * restoration of token usage state from persisted data or transmission
130
- * between different parts of the system.
131
- *
132
- * @param props Token usage data in JSON format
133
- */
134
- public constructor(props?: Omit<IAutoBeTokenUsageJson, "aggregate">);
135
-
136
- public constructor(
137
- props?: AutoBeTokenUsage | IAutoBeTokenUsageJson | undefined,
138
- ) {
139
- if (props === undefined) {
140
- this.facade = new AutoBeTokenUsageComponent();
141
- this.analyze = new AutoBeTokenUsageComponent();
142
- this.database = new AutoBeTokenUsageComponent();
143
- this.interface = new AutoBeTokenUsageComponent();
144
- this.test = new AutoBeTokenUsageComponent();
145
- this.realize = new AutoBeTokenUsageComponent();
146
- return;
147
- } else if (props instanceof AutoBeTokenUsage) {
148
- this.facade = props.facade;
149
- this.analyze = props.analyze;
150
- this.database = props.database;
151
- this.interface = props.interface;
152
- this.test = props.test;
153
- this.realize = props.realize;
154
- } else {
155
- this.facade = new AutoBeTokenUsageComponent(props.facade);
156
- this.analyze = new AutoBeTokenUsageComponent(props.analyze);
157
- this.database = new AutoBeTokenUsageComponent(props.database);
158
- this.interface = new AutoBeTokenUsageComponent(props.interface);
159
- this.test = new AutoBeTokenUsageComponent(props.test);
160
- this.realize = new AutoBeTokenUsageComponent(props.realize);
161
- }
162
- }
163
-
164
- public assign(props: IAutoBeTokenUsageJson) {
165
- this.facade.assign(props.facade);
166
- this.analyze.assign(props.analyze);
167
- this.database.assign(props.database);
168
- this.interface.assign(props.interface);
169
- this.test.assign(props.test);
170
- this.realize.assign(props.realize);
171
- }
172
-
173
- /**
174
- * Serialize token usage data to JSON format.
175
- *
176
- * Converts the internal token usage representation to the standardized
177
- * IAutoBeTokenUsageJson format, suitable for persistence, transmission, or
178
- * external analysis. The serialized data maintains the complete structure
179
- * including all agent phases and detailed token breakdowns.
180
- *
181
- * @returns JSON representation of token usage statistics
182
- */
183
- public toJSON(): IAutoBeTokenUsageJson {
184
- return {
185
- aggregate: this.aggregate,
186
- facade: this.facade.toJSON(),
187
- analyze: this.analyze.toJSON(),
188
- database: this.database.toJSON(),
189
- interface: this.interface.toJSON(),
190
- test: this.test.toJSON(),
191
- realize: this.realize.toJSON(),
192
- };
193
- }
194
-
195
- /* -----------------------------------------------------------
196
- OPERATORS
197
- ----------------------------------------------------------- */
198
- /**
199
- * Record token usage for specific processing stages.
200
- *
201
- * Updates token consumption statistics for one or more agent phases based on
202
- * the provided usage data. This method allows selective recording of token
203
- * usage for specific stages, enabling fine-grained tracking during
204
- * multi-phase processing or when certain agents are invoked multiple times.
205
- *
206
- * @example
207
- * ```ts
208
- * tokenUsage.record(
209
- * { total: 150, input: { total: 100, cached: 20 }, output: { total: 50, ... } },
210
- * ['analyze', 'database']
211
- * );
212
- * ```;
213
- *
214
- * @param usage - Token usage component data to record
215
- * @param additionalStages - Array of stage names to update with the usage
216
- * data
217
- */
218
- public record(
219
- usage: IAutoBeTokenUsageJson.IComponent,
220
- additionalStages: (keyof Pick<
221
- IAutoBeTokenUsageJson,
222
- "facade" | "analyze" | "database" | "interface" | "test" | "realize"
223
- >)[] = [],
224
- ) {
225
- additionalStages.forEach((stage) => {
226
- this[stage].increment(usage);
227
- });
228
- }
229
-
230
- /**
231
- * Increment current token usage with data from another instance.
232
- *
233
- * Adds token usage statistics from another AutoBeTokenUsage instance to this
234
- * one, updating all agent phases simultaneously. This method is useful for
235
- * combining token usage from parallel processing, multiple runs, or when
236
- * aggregating statistics from distributed agent executions.
237
- *
238
- * @param usage - AutoBeTokenUsage instance to add to current statistics
239
- * @returns This instance for method chaining
240
- */
241
- public increment(usage: AutoBeTokenUsage) {
242
- AutoBeTokenUsage.keys().forEach((key) => {
243
- this[key].increment(usage[key]);
244
- });
245
- return this;
246
- }
247
-
248
- /** @internal */
249
- public decrement(usage: AutoBeTokenUsage) {
250
- AutoBeTokenUsage.keys().forEach((key) => {
251
- this[key].decrement(usage[key]);
252
- });
253
- return this;
254
- }
255
-
256
- /**
257
- * Create a new instance combining token usage from two sources.
258
- *
259
- * Performs element-wise addition of token usage statistics from two
260
- * AutoBeTokenUsage instances, creating a new instance with the combined
261
- * totals. This static method is useful for aggregating token usage across
262
- * multiple vibe coding sessions or when merging statistics from different
263
- * execution contexts.
264
- *
265
- * @param usageA - First token usage instance
266
- * @param usageB - Second token usage instance
267
- * @returns New instance with combined token usage statistics
268
- */
269
- public static plus(usageA: AutoBeTokenUsage, usageB: AutoBeTokenUsage) {
270
- return new AutoBeTokenUsage({
271
- facade: AutoBeTokenUsageComponent.plus(usageA.facade, usageB.facade),
272
- analyze: AutoBeTokenUsageComponent.plus(usageA.analyze, usageB.analyze),
273
- database: AutoBeTokenUsageComponent.plus(
274
- usageA.database,
275
- usageB.database,
276
- ),
277
- interface: AutoBeTokenUsageComponent.plus(
278
- usageA.interface,
279
- usageB.interface,
280
- ),
281
- test: AutoBeTokenUsageComponent.plus(usageA.test, usageB.test),
282
- realize: AutoBeTokenUsageComponent.plus(usageA.realize, usageB.realize),
283
- });
284
- }
285
-
286
- /**
287
- * Get all agent phase keys for iteration.
288
- *
289
- * Returns a readonly array of all agent phase names used in the vibe coding
290
- * system. This internal utility method ensures consistent iteration over all
291
- * token usage components when performing operations like aggregation or
292
- * serialization.
293
- *
294
- * @returns Readonly array of agent phase keys
295
- * @internal
296
- */
297
- private static keys() {
298
- return [
299
- "facade",
300
- "analyze",
301
- "database",
302
- "interface",
303
- "test",
304
- "realize",
305
- ] as const;
306
- }
307
- }
1
+ import { IAutoBeTokenUsageJson } from "@autobe/interface";
2
+
3
+ import { AutoBeTokenUsageComponent } from "./AutoBeTokenUsageComponent";
4
+
5
+ /**
6
+ * Comprehensive token usage tracker for the AutoBe vibe coding system.
7
+ *
8
+ * This class provides centralized tracking and management of token consumption
9
+ * across all AI agents in the automated development pipeline. It captures
10
+ * detailed token usage statistics for each processing phase - from initial
11
+ * requirements analysis through final implementation - enabling cost
12
+ * monitoring, performance optimization, and resource utilization analysis.
13
+ *
14
+ * The token usage data includes both input tokens (with cache efficiency) and
15
+ * output tokens (with generation type breakdowns), providing insights into AI
16
+ * processing efficiency and helping optimize the balance between computational
17
+ * costs and output quality.
18
+ *
19
+ * @author SunRabbit123
20
+ */
21
+ export class AutoBeTokenUsage implements IAutoBeTokenUsageJson {
22
+ /**
23
+ * Token usage for the facade agent orchestrating the entire pipeline.
24
+ *
25
+ * Tracks tokens consumed by the initial agent that coordinates and manages
26
+ * the overall vibe coding process, including request parsing and response
27
+ * orchestration.
28
+ */
29
+ public readonly facade: AutoBeTokenUsageComponent;
30
+
31
+ /**
32
+ * Token usage for the requirements analysis agent.
33
+ *
34
+ * Captures tokens used during the analysis phase where user requirements are
35
+ * processed, understood, and transformed into structured specifications for
36
+ * subsequent development phases.
37
+ */
38
+ public readonly analyze: AutoBeTokenUsageComponent;
39
+
40
+ /**
41
+ * Token usage for the Database schema generation agent.
42
+ *
43
+ * Records tokens consumed while designing and generating database schemas,
44
+ * including entity relationships, field definitions, and database-specific
45
+ * optimizations.
46
+ */
47
+ public readonly database: AutoBeTokenUsageComponent;
48
+
49
+ /**
50
+ * Token usage for the API interface specification agent.
51
+ *
52
+ * Tracks tokens used in creating OpenAPI/Swagger specifications, defining
53
+ * endpoints, request/response structures, and API documentation.
54
+ */
55
+ public readonly interface: AutoBeTokenUsageComponent;
56
+
57
+ /**
58
+ * Token usage for the test code generation agent.
59
+ *
60
+ * Monitors tokens consumed during automated test creation, including scenario
61
+ * planning, test case generation, and end-to-end test implementation.
62
+ */
63
+ public readonly test: AutoBeTokenUsageComponent;
64
+
65
+ /**
66
+ * Token usage for the implementation realization agent.
67
+ *
68
+ * Captures tokens used in the final implementation phase where actual
69
+ * business logic, controllers, services, and integration code are generated.
70
+ */
71
+ public readonly realize: AutoBeTokenUsageComponent;
72
+
73
+ /**
74
+ * Aggregated token usage statistics across all agents.
75
+ *
76
+ * Provides a unified view of token consumption by combining data from all
77
+ * processing phases in the vibe coding pipeline. This computed property
78
+ * dynamically calculates the sum of all agent components (facade, analyze,
79
+ * database, interface, test, realize) whenever accessed, ensuring the
80
+ * aggregate always reflects the current state of token usage.
81
+ *
82
+ * The aggregation performs element-wise addition across all token metrics,
83
+ * including total counts, input breakdowns with cache statistics, and output
84
+ * categorizations by generation type. This comprehensive view enables overall
85
+ * cost assessment and resource utilization analysis for the entire automated
86
+ * development session.
87
+ */
88
+ public get aggregate(): IAutoBeTokenUsageJson.IComponent {
89
+ return AutoBeTokenUsage.keys()
90
+ .reduce(
91
+ (acc, cur) => AutoBeTokenUsageComponent.plus(acc, this[cur]),
92
+ new AutoBeTokenUsageComponent(),
93
+ )
94
+ .toJSON();
95
+ }
96
+
97
+ /* -----------------------------------------------------------
98
+ CONSTRUCTORS
99
+ ----------------------------------------------------------- */
100
+ /**
101
+ * Default Constructor.
102
+ *
103
+ * Creates a new token usage tracker with all agent phases initialized to
104
+ * empty components. Each component starts with zero values for all token
105
+ * counters, providing a clean slate for tracking token consumption from the
106
+ * beginning of a vibe coding session.
107
+ */
108
+ public constructor();
109
+
110
+ /**
111
+ * Binding Constructor.
112
+ *
113
+ * Creates a new instance that shares component references with the provided
114
+ * AutoBeTokenUsage instance. This establishes a bound relationship where both
115
+ * instances point to the same component objects. Any modifications to token
116
+ * counts through either instance will be reflected in both, enabling shared
117
+ * tracking across different contexts.
118
+ *
119
+ * @param bind Existing AutoBeTokenUsage instance to bind to
120
+ */
121
+ public constructor(bind: AutoBeTokenUsage);
122
+
123
+ /**
124
+ * Initializer Constructor.
125
+ *
126
+ * Reconstructs a token usage tracker from serialized JSON data. Creates new
127
+ * AutoBeTokenUsageComponent instances for each agent phase, initializing them
128
+ * with the corresponding values from the JSON structure. This enables
129
+ * restoration of token usage state from persisted data or transmission
130
+ * between different parts of the system.
131
+ *
132
+ * @param props Token usage data in JSON format
133
+ */
134
+ public constructor(props?: Omit<IAutoBeTokenUsageJson, "aggregate">);
135
+
136
+ public constructor(
137
+ props?: AutoBeTokenUsage | IAutoBeTokenUsageJson | undefined,
138
+ ) {
139
+ if (props === undefined) {
140
+ this.facade = new AutoBeTokenUsageComponent();
141
+ this.analyze = new AutoBeTokenUsageComponent();
142
+ this.database = new AutoBeTokenUsageComponent();
143
+ this.interface = new AutoBeTokenUsageComponent();
144
+ this.test = new AutoBeTokenUsageComponent();
145
+ this.realize = new AutoBeTokenUsageComponent();
146
+ return;
147
+ } else if (props instanceof AutoBeTokenUsage) {
148
+ this.facade = props.facade;
149
+ this.analyze = props.analyze;
150
+ this.database = props.database;
151
+ this.interface = props.interface;
152
+ this.test = props.test;
153
+ this.realize = props.realize;
154
+ } else {
155
+ this.facade = new AutoBeTokenUsageComponent(props.facade);
156
+ this.analyze = new AutoBeTokenUsageComponent(props.analyze);
157
+ this.database = new AutoBeTokenUsageComponent(props.database);
158
+ this.interface = new AutoBeTokenUsageComponent(props.interface);
159
+ this.test = new AutoBeTokenUsageComponent(props.test);
160
+ this.realize = new AutoBeTokenUsageComponent(props.realize);
161
+ }
162
+ }
163
+
164
+ public assign(props: IAutoBeTokenUsageJson) {
165
+ this.facade.assign(props.facade);
166
+ this.analyze.assign(props.analyze);
167
+ this.database.assign(props.database);
168
+ this.interface.assign(props.interface);
169
+ this.test.assign(props.test);
170
+ this.realize.assign(props.realize);
171
+ }
172
+
173
+ /**
174
+ * Serialize token usage data to JSON format.
175
+ *
176
+ * Converts the internal token usage representation to the standardized
177
+ * IAutoBeTokenUsageJson format, suitable for persistence, transmission, or
178
+ * external analysis. The serialized data maintains the complete structure
179
+ * including all agent phases and detailed token breakdowns.
180
+ *
181
+ * @returns JSON representation of token usage statistics
182
+ */
183
+ public toJSON(): IAutoBeTokenUsageJson {
184
+ return {
185
+ aggregate: this.aggregate,
186
+ facade: this.facade.toJSON(),
187
+ analyze: this.analyze.toJSON(),
188
+ database: this.database.toJSON(),
189
+ interface: this.interface.toJSON(),
190
+ test: this.test.toJSON(),
191
+ realize: this.realize.toJSON(),
192
+ };
193
+ }
194
+
195
+ /* -----------------------------------------------------------
196
+ OPERATORS
197
+ ----------------------------------------------------------- */
198
+ /**
199
+ * Record token usage for specific processing stages.
200
+ *
201
+ * Updates token consumption statistics for one or more agent phases based on
202
+ * the provided usage data. This method allows selective recording of token
203
+ * usage for specific stages, enabling fine-grained tracking during
204
+ * multi-phase processing or when certain agents are invoked multiple times.
205
+ *
206
+ * @example
207
+ * ```ts
208
+ * tokenUsage.record(
209
+ * { total: 150, input: { total: 100, cached: 20 }, output: { total: 50, ... } },
210
+ * ['analyze', 'database']
211
+ * );
212
+ * ```;
213
+ *
214
+ * @param usage - Token usage component data to record
215
+ * @param additionalStages - Array of stage names to update with the usage
216
+ * data
217
+ */
218
+ public record(
219
+ usage: IAutoBeTokenUsageJson.IComponent,
220
+ additionalStages: (keyof Pick<
221
+ IAutoBeTokenUsageJson,
222
+ "facade" | "analyze" | "database" | "interface" | "test" | "realize"
223
+ >)[] = [],
224
+ ) {
225
+ additionalStages.forEach((stage) => {
226
+ this[stage].increment(usage);
227
+ });
228
+ }
229
+
230
+ /**
231
+ * Increment current token usage with data from another instance.
232
+ *
233
+ * Adds token usage statistics from another AutoBeTokenUsage instance to this
234
+ * one, updating all agent phases simultaneously. This method is useful for
235
+ * combining token usage from parallel processing, multiple runs, or when
236
+ * aggregating statistics from distributed agent executions.
237
+ *
238
+ * @param usage - AutoBeTokenUsage instance to add to current statistics
239
+ * @returns This instance for method chaining
240
+ */
241
+ public increment(usage: AutoBeTokenUsage) {
242
+ AutoBeTokenUsage.keys().forEach((key) => {
243
+ this[key].increment(usage[key]);
244
+ });
245
+ return this;
246
+ }
247
+
248
+ /** @internal */
249
+ public decrement(usage: AutoBeTokenUsage) {
250
+ AutoBeTokenUsage.keys().forEach((key) => {
251
+ this[key].decrement(usage[key]);
252
+ });
253
+ return this;
254
+ }
255
+
256
+ /**
257
+ * Create a new instance combining token usage from two sources.
258
+ *
259
+ * Performs element-wise addition of token usage statistics from two
260
+ * AutoBeTokenUsage instances, creating a new instance with the combined
261
+ * totals. This static method is useful for aggregating token usage across
262
+ * multiple vibe coding sessions or when merging statistics from different
263
+ * execution contexts.
264
+ *
265
+ * @param usageA - First token usage instance
266
+ * @param usageB - Second token usage instance
267
+ * @returns New instance with combined token usage statistics
268
+ */
269
+ public static plus(usageA: AutoBeTokenUsage, usageB: AutoBeTokenUsage) {
270
+ return new AutoBeTokenUsage({
271
+ facade: AutoBeTokenUsageComponent.plus(usageA.facade, usageB.facade),
272
+ analyze: AutoBeTokenUsageComponent.plus(usageA.analyze, usageB.analyze),
273
+ database: AutoBeTokenUsageComponent.plus(
274
+ usageA.database,
275
+ usageB.database,
276
+ ),
277
+ interface: AutoBeTokenUsageComponent.plus(
278
+ usageA.interface,
279
+ usageB.interface,
280
+ ),
281
+ test: AutoBeTokenUsageComponent.plus(usageA.test, usageB.test),
282
+ realize: AutoBeTokenUsageComponent.plus(usageA.realize, usageB.realize),
283
+ });
284
+ }
285
+
286
+ /**
287
+ * Get all agent phase keys for iteration.
288
+ *
289
+ * Returns a readonly array of all agent phase names used in the vibe coding
290
+ * system. This internal utility method ensures consistent iteration over all
291
+ * token usage components when performing operations like aggregation or
292
+ * serialization.
293
+ *
294
+ * @returns Readonly array of agent phase keys
295
+ * @internal
296
+ */
297
+ private static keys() {
298
+ return [
299
+ "facade",
300
+ "analyze",
301
+ "database",
302
+ "interface",
303
+ "test",
304
+ "realize",
305
+ ] as const;
306
+ }
307
+ }