@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.
- package/LICENSE +661 -661
- package/lib/constants/AutoBeTemplateFileConstant.d.ts +1 -1
- package/lib/factory/consentFunctionCall.js +4 -4
- package/lib/factory/createAutoBeContext.js +24 -24
- package/lib/factory/createAutoBeMessageContent.js +6 -6
- package/lib/index.mjs +41 -41
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.js +18 -18
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.js +13 -13
- package/lib/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.js +47 -47
- package/lib/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.js +66 -66
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.js +91 -91
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.js +46 -46
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.js +72 -72
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js +1 -1
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.js +5 -5
- package/lib/orchestrate/common/histories/transformPreliminaryHistory.js +44 -44
- package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js +44 -44
- package/lib/orchestrate/common/internal/fixPrelminaryApplication.js +22 -22
- package/lib/orchestrate/common/internal/validatePreliminary.js +116 -116
- package/lib/orchestrate/facade/createAutoBeFacadeController.js +3 -3
- package/lib/orchestrate/facade/structures/transformFacadeStateMessage.js +20 -20
- package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.js +34 -34
- package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.js +37 -37
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js +56 -56
- package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.js +26 -26
- package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.js +28 -28
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.js +11 -11
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js +38 -38
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js +29 -29
- package/lib/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.js +15 -15
- package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js +6 -6
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js +25 -25
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.js +67 -67
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.js +60 -60
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.js +83 -83
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js +29 -29
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js +74 -74
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.js +46 -46
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +9 -9
- package/lib/orchestrate/interface/orchestrateInterfaceOperation.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +4 -4
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js +5 -5
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js +1 -1
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.js +90 -90
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.js +6 -6
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.js +25 -25
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.js +71 -71
- package/lib/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.js +162 -162
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.js +11 -11
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.js +73 -73
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.js +35 -35
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.js +11 -11
- package/lib/orchestrate/interface/utils/AutoBeJsonSchemaFactory.js +4 -4
- package/lib/orchestrate/interface/utils/AutoBeJsonSchemaValidator.js +283 -283
- package/lib/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js +76 -76
- package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.js +76 -76
- package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.js +51 -51
- package/lib/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.js +54 -54
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js +83 -83
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js +6 -6
- package/lib/orchestrate/prisma/histories/transformPrismaGroupHistory.js +22 -22
- package/lib/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.js +41 -41
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js +39 -39
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.js +41 -41
- package/lib/orchestrate/prisma/orchestratePrismaAuthorization.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaGroup.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js +1 -1
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.js +23 -23
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.js +7 -7
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.js +5 -5
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.js +20 -20
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.js +13 -13
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.js +51 -51
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.js +25 -25
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js +28 -28
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js +14 -14
- package/lib/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.js +42 -42
- package/lib/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.js +27 -27
- package/lib/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.js +57 -57
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js +35 -35
- package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js +14 -14
- package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js +37 -37
- package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js.map +1 -1
- package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js +47 -47
- package/lib/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.js +27 -27
- package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js +51 -51
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCollectorPlan.js +11 -11
- package/lib/orchestrate/realize/orchestrateRealizeCollectorWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeOperationWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeTransformerPlan.js +11 -11
- package/lib/orchestrate/realize/orchestrateRealizeTransformerWrite.js +1 -1
- package/lib/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.js +41 -41
- package/lib/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.js +21 -21
- package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js +57 -57
- package/lib/orchestrate/realize/utils/getRealizeWriteInputType.js +3 -3
- package/lib/orchestrate/realize/utils/printErrorHints.js +5 -5
- package/lib/orchestrate/test/compile/getTestImportStatements.js +9 -9
- package/lib/orchestrate/test/histories/transformTestAuthorizeWriteHistory.js +38 -38
- package/lib/orchestrate/test/histories/transformTestGenerationWriteHistory.js +79 -79
- package/lib/orchestrate/test/histories/transformTestOperationWriteHistory.js +162 -162
- package/lib/orchestrate/test/histories/transformTestPrepareWriteHistory.js +54 -54
- package/lib/orchestrate/test/histories/transformTestScenarioHistory.js +31 -31
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js +27 -27
- package/lib/orchestrate/test/orchestrateTestScenario.js +1 -1
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js +1 -1
- package/lib/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.js +31 -31
- package/lib/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.js +23 -23
- package/lib/orchestrate/test/programmers/AutoBeTestOperationProgrammer.js +6 -6
- package/lib/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.js +34 -34
- package/lib/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.js +39 -39
- package/lib/utils/predicateStateMessage.js +19 -19
- package/lib/utils/validateEmptyCode.js +16 -16
- package/package.json +5 -5
- package/src/AutoBeAgent.ts +374 -374
- package/src/AutoBeAgentBase.ts +126 -126
- package/src/AutoBeMockAgent.ts +254 -254
- package/src/constants/AutoBeConfigConstant.ts +173 -173
- package/src/constants/AutoBeTemplateFileConstant.ts +1 -1
- package/src/context/AutoBeContext.ts +107 -107
- package/src/context/AutoBeState.ts +66 -66
- package/src/context/AutoBeTokenUsage.ts +307 -307
- package/src/context/AutoBeTokenUsageComponent.ts +227 -227
- package/src/describe/describe.ts +47 -47
- package/src/describe/image/histories/transformImageDescribeDraftHistories.ts +16 -16
- package/src/describe/image/orchestrateImageDescribeDraft.ts +200 -200
- package/src/describe/image/structures/IAutoBeImageDescribeDraftApplication.ts +92 -92
- package/src/describe/imageDescribe.ts +64 -64
- package/src/factory/consentFunctionCall.ts +141 -141
- package/src/factory/createAgenticaHistory.ts +71 -71
- package/src/factory/createAutoBeContext.ts +584 -584
- package/src/factory/createAutoBeMessageContent.ts +36 -36
- package/src/factory/createAutoBeState.ts +20 -20
- package/src/factory/getAutoBeGenerated.ts +317 -317
- package/src/factory/getAutoBeRealizeGenerated.ts +31 -31
- package/src/factory/getCriticalCompiler.ts +52 -52
- package/src/factory/index.ts +1 -1
- package/src/factory/mergeSystemMessages.ts +60 -60
- package/src/factory/supportFunctionCallFallback.ts +214 -214
- package/src/factory/supportMistral.ts +138 -138
- package/src/index.ts +16 -16
- package/src/orchestrate/analyze/fillTocDeterministic.ts +280 -280
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.ts +55 -55
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.ts +74 -74
- package/src/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.ts +179 -179
- package/src/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.ts +163 -163
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.ts +191 -191
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.ts +122 -122
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.ts +161 -161
- package/src/orchestrate/analyze/index.ts +7 -7
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +1693 -1693
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +267 -267
- package/src/orchestrate/analyze/orchestrateAnalyzeScenarioReview.ts +122 -122
- package/src/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.ts +146 -146
- package/src/orchestrate/analyze/orchestrateAnalyzeSectionReview.ts +154 -154
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteSection.ts +388 -388
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.ts +407 -407
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteUnit.ts +348 -348
- package/src/orchestrate/analyze/programmers/AutoBeAnalyzeProgrammer.ts +149 -149
- package/src/orchestrate/analyze/structures/FixedAnalyzeTemplate.ts +961 -961
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +141 -141
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.ts +96 -96
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.ts +160 -160
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.ts +192 -192
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.ts +142 -142
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.ts +123 -123
- package/src/orchestrate/analyze/utils/buildConstraintConsistencyReport.ts +813 -813
- package/src/orchestrate/analyze/utils/buildErrorCodeRegistry.ts +324 -324
- package/src/orchestrate/analyze/utils/buildHardValidators.ts +88 -88
- package/src/orchestrate/analyze/utils/detectInventedEntities.ts +87 -87
- package/src/orchestrate/analyze/utils/detectProseConstraintConflicts.ts +319 -319
- package/src/orchestrate/analyze/utils/repairSectionReviewUtils.ts +181 -181
- package/src/orchestrate/analyze/utils/repairUtils.ts +60 -60
- package/src/orchestrate/analyze/utils/validateScenarioBasics.ts +104 -104
- package/src/orchestrate/common/AutoBePreliminaryController.ts +400 -400
- package/src/orchestrate/common/histories/transformCommonCorrectCastingHistory.ts +32 -32
- package/src/orchestrate/common/histories/transformPreliminaryHistory.ts +742 -742
- package/src/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.ts +77 -77
- package/src/orchestrate/common/internal/complementPreliminaryCollection.ts +263 -263
- package/src/orchestrate/common/internal/convertToSectionEntries.ts +57 -57
- package/src/orchestrate/common/internal/createPreliminaryCollection.ts +76 -76
- package/src/orchestrate/common/internal/fixPrelminaryApplication.ts +346 -346
- package/src/orchestrate/common/internal/validatePreliminary.ts +671 -671
- package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +223 -223
- package/src/orchestrate/common/orchestratePreliminary.ts +610 -610
- package/src/orchestrate/common/structures/AutoBePreliminaryRequest.ts +42 -42
- package/src/orchestrate/common/structures/IAnalysisSectionEntry.ts +35 -35
- package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +72 -72
- package/src/orchestrate/common/structures/IAutoBeOrchestrateResult.ts +28 -28
- package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +52 -52
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.ts +34 -34
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.ts +31 -31
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +32 -32
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +31 -31
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.ts +28 -28
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.ts +88 -88
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.ts +102 -102
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.ts +105 -105
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.ts +32 -32
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.ts +32 -32
- package/src/orchestrate/facade/createAutoBeFacadeController.ts +118 -118
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplication.ts +139 -139
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationProps.ts +8 -8
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationResult.ts +9 -9
- package/src/orchestrate/facade/structures/transformFacadeStateMessage.ts +59 -59
- package/src/orchestrate/index.ts +5 -5
- package/src/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.ts +83 -83
- package/src/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.ts +78 -78
- package/src/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.ts +129 -129
- package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.ts +74 -74
- package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.ts +68 -68
- package/src/orchestrate/interface/histories/transformInterfaceCommonHistory.ts +64 -64
- package/src/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.ts +42 -42
- package/src/orchestrate/interface/histories/transformInterfaceGroupHistory.ts +103 -103
- package/src/orchestrate/interface/histories/transformInterfaceOperationHistory.ts +81 -81
- package/src/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.ts +53 -53
- package/src/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.ts +49 -49
- package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.ts +94 -94
- package/src/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.ts +122 -122
- package/src/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.ts +192 -192
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.ts +189 -189
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.ts +63 -63
- package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.ts +173 -173
- package/src/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.ts +88 -88
- package/src/orchestrate/interface/index.ts +6 -6
- package/src/orchestrate/interface/orchestrateInterface.ts +118 -118
- package/src/orchestrate/interface/orchestrateInterfaceActionEndpoint.ts +58 -58
- package/src/orchestrate/interface/orchestrateInterfaceAuthorization.ts +208 -208
- package/src/orchestrate/interface/orchestrateInterfaceBaseEndpoint.ts +55 -55
- package/src/orchestrate/interface/orchestrateInterfaceEndpoint.ts +67 -67
- package/src/orchestrate/interface/orchestrateInterfaceEndpointOverall.ts +80 -80
- package/src/orchestrate/interface/orchestrateInterfaceEndpointReview.ts +212 -212
- package/src/orchestrate/interface/orchestrateInterfaceEndpointWrite.ts +236 -236
- package/src/orchestrate/interface/orchestrateInterfaceGroup.ts +166 -166
- package/src/orchestrate/interface/orchestrateInterfaceOperation.ts +322 -322
- package/src/orchestrate/interface/orchestrateInterfaceOperationReview.ts +245 -245
- package/src/orchestrate/interface/orchestrateInterfacePrerequisite.ts +240 -240
- package/src/orchestrate/interface/orchestrateInterfaceSchema.ts +191 -191
- package/src/orchestrate/interface/orchestrateInterfaceSchemaCasting.ts +274 -274
- package/src/orchestrate/interface/orchestrateInterfaceSchemaComplement.ts +329 -329
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRefine.ts +292 -292
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +266 -266
- package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +310 -310
- package/src/orchestrate/interface/orchestrateInterfaceSchemaWrite.ts +283 -283
- package/src/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.ts +260 -260
- package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.ts +155 -155
- package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.ts +139 -139
- package/src/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.ts +277 -277
- package/src/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.ts +259 -259
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.ts +152 -152
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.ts +347 -347
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.ts +183 -183
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.ts +263 -263
- package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.ts +135 -135
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +128 -128
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.ts +133 -133
- package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +122 -122
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +178 -178
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.ts +175 -175
- package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +130 -130
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +121 -121
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.ts +153 -153
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.ts +123 -123
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.ts +181 -181
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.ts +45 -45
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.ts +108 -108
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaCollection.ts +42 -42
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaFactory.ts +714 -714
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaNamingConvention.ts +86 -86
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaValidator.ts +725 -725
- package/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.ts +219 -219
- package/src/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.ts +144 -144
- package/src/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.ts +104 -104
- package/src/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.ts +97 -97
- package/src/orchestrate/prisma/histories/transformPrismaComponentsHistory.ts +136 -136
- package/src/orchestrate/prisma/histories/transformPrismaCorrectHistory.ts +41 -41
- package/src/orchestrate/prisma/histories/transformPrismaGroupHistory.ts +63 -63
- package/src/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.ts +79 -79
- package/src/orchestrate/prisma/histories/transformPrismaSchemaHistory.ts +97 -97
- package/src/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.ts +126 -126
- package/src/orchestrate/prisma/index.ts +7 -7
- package/src/orchestrate/prisma/orchestratePrisma.ts +296 -296
- package/src/orchestrate/prisma/orchestratePrismaAuthorization.ts +173 -173
- package/src/orchestrate/prisma/orchestratePrismaAuthorizationReview.ts +183 -183
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +205 -205
- package/src/orchestrate/prisma/orchestratePrismaComponentReview.ts +205 -205
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +265 -265
- package/src/orchestrate/prisma/orchestratePrismaGroup.ts +121 -121
- package/src/orchestrate/prisma/orchestratePrismaGroupReview.ts +141 -141
- package/src/orchestrate/prisma/orchestratePrismaSchema.ts +218 -218
- package/src/orchestrate/prisma/orchestratePrismaSchemaReview.ts +220 -220
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.ts +86 -86
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.ts +103 -103
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.ts +80 -80
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.ts +168 -168
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.ts +63 -63
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.ts +210 -210
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseModelProgrammer.ts +57 -57
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.ts +92 -92
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.ts +147 -147
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.ts +153 -153
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.ts +142 -142
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.ts +151 -151
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.ts +157 -157
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.ts +117 -117
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.ts +154 -154
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.ts +144 -144
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.ts +138 -138
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.ts +89 -89
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.ts +45 -45
- package/src/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.ts +137 -137
- package/src/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.ts +64 -64
- package/src/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.ts +147 -147
- package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.ts +69 -69
- package/src/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.ts +94 -94
- package/src/orchestrate/realize/histories/transformRealizeOperationWriteHistory.ts +127 -127
- package/src/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.ts +147 -147
- package/src/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.ts +61 -61
- package/src/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.ts +133 -133
- package/src/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.ts +30 -30
- package/src/orchestrate/realize/index.ts +3 -3
- package/src/orchestrate/realize/internal/orchestrateRealizeCorrectCasting.ts +444 -444
- package/src/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.ts +449 -449
- package/src/orchestrate/realize/orchestrateRealize.ts +143 -143
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +207 -207
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationWrite.ts +209 -209
- package/src/orchestrate/realize/orchestrateRealizeCollector.ts +41 -41
- package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectCasting.ts +43 -43
- package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.ts +157 -157
- package/src/orchestrate/realize/orchestrateRealizeCollectorPlan.ts +264 -264
- package/src/orchestrate/realize/orchestrateRealizeCollectorWrite.ts +225 -225
- package/src/orchestrate/realize/orchestrateRealizeOperation.ts +48 -48
- package/src/orchestrate/realize/orchestrateRealizeOperationCorrectCasting.ts +69 -69
- package/src/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.ts +173 -173
- package/src/orchestrate/realize/orchestrateRealizeOperationWrite.ts +262 -262
- package/src/orchestrate/realize/orchestrateRealizeTransformer.ts +41 -41
- package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.ts +38 -38
- package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.ts +160 -160
- package/src/orchestrate/realize/orchestrateRealizeTransformerPlan.ts +254 -254
- package/src/orchestrate/realize/orchestrateRealizeTransformerWrite.ts +226 -226
- package/src/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.ts +424 -424
- package/src/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.ts +409 -409
- package/src/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.ts +451 -451
- package/src/orchestrate/realize/programmers/compileRealizeFiles.ts +65 -65
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +119 -119
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.ts +167 -167
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.ts +191 -191
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.ts +177 -177
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.ts +207 -207
- package/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.ts +11 -11
- package/src/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.ts +134 -134
- package/src/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.ts +138 -138
- package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.ts +32 -32
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.ts +248 -248
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.ts +150 -150
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.ts +278 -278
- package/src/orchestrate/realize/utils/AuthorizationFileSystem.ts +10 -10
- package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.ts +9 -9
- package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.ts +62 -62
- package/src/orchestrate/realize/utils/InternalFileSystem.ts +12 -12
- package/src/orchestrate/realize/utils/ProviderFileSystem.ts +4 -4
- package/src/orchestrate/realize/utils/filterDiagnostics.ts +25 -25
- package/src/orchestrate/realize/utils/generateTS2339Hints.ts +54 -54
- package/src/orchestrate/realize/utils/getRealizeWriteImportStatements.ts +42 -42
- package/src/orchestrate/realize/utils/getRealizeWriteInputType.ts +88 -88
- package/src/orchestrate/realize/utils/printErrorHints.ts +54 -54
- package/src/orchestrate/test/compile/getTestArtifacts.ts +124 -124
- package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +39 -39
- package/src/orchestrate/test/compile/getTestImportStatements.ts +27 -27
- package/src/orchestrate/test/experimental/orchestrateTestCorrect.ast +237 -237
- package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +322 -322
- package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +52 -52
- package/src/orchestrate/test/histories/transformTestAuthorizeWriteHistory.ts +80 -80
- package/src/orchestrate/test/histories/transformTestCorrectOverallHistory.ts +116 -116
- package/src/orchestrate/test/histories/transformTestGenerationWriteHistory.ts +118 -118
- package/src/orchestrate/test/histories/transformTestOperationWriteHistory.ts +287 -287
- package/src/orchestrate/test/histories/transformTestPrepareWriteHistory.ts +95 -95
- package/src/orchestrate/test/histories/transformTestScenarioHistory.ts +120 -120
- package/src/orchestrate/test/histories/transformTestScenarioReviewHistory.ts +99 -99
- package/src/orchestrate/test/histories/transformTestValidateEvent.ts +11 -11
- package/src/orchestrate/test/index.ts +5 -5
- package/src/orchestrate/test/internal/orchestrateTestCorrectCasting.ts +96 -96
- package/src/orchestrate/test/internal/orchestrateTestCorrectOverall.ts +219 -219
- package/src/orchestrate/test/internal/orchestrateTestCorrectRequest.ts +206 -206
- package/src/orchestrate/test/orchestrateTest.ts +161 -161
- package/src/orchestrate/test/orchestrateTestAuthorize.ts +125 -125
- package/src/orchestrate/test/orchestrateTestAuthorizeWrite.ts +263 -263
- package/src/orchestrate/test/orchestrateTestGenerate.ts +121 -121
- package/src/orchestrate/test/orchestrateTestGenerateWrite.ts +211 -211
- package/src/orchestrate/test/orchestrateTestOperation.ts +133 -133
- package/src/orchestrate/test/orchestrateTestOperationWrite.ts +221 -221
- package/src/orchestrate/test/orchestrateTestPrepare.ts +117 -117
- package/src/orchestrate/test/orchestrateTestPrepareWrite.ts +264 -264
- package/src/orchestrate/test/orchestrateTestScenario.ts +290 -290
- package/src/orchestrate/test/orchestrateTestScenarioReview.ts +262 -262
- package/src/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.ts +149 -149
- package/src/orchestrate/test/programmers/AutoBeTestFunctionProgrammer.ts +90 -90
- package/src/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.ts +170 -170
- package/src/orchestrate/test/programmers/AutoBeTestOperationProgrammer.ts +168 -168
- package/src/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.ts +261 -261
- package/src/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.ts +316 -316
- package/src/orchestrate/test/structures/IAutoBeTestArtifacts.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestAuthorizationWriteApplication.ts +113 -113
- package/src/orchestrate/test/structures/IAutoBeTestAuthorizeWriteResult.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestCorrectOverallApplication.ts +134 -134
- package/src/orchestrate/test/structures/IAutoBeTestCorrectRequestApplication.ts +152 -152
- package/src/orchestrate/test/structures/IAutoBeTestFunction.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestGenerateProcedure.ts +15 -15
- package/src/orchestrate/test/structures/IAutoBeTestGenerationWriteApplication.ts +145 -145
- package/src/orchestrate/test/structures/IAutoBeTestOperationProcedure.ts +17 -17
- package/src/orchestrate/test/structures/IAutoBeTestOperationWriteApplication.ts +162 -162
- package/src/orchestrate/test/structures/IAutoBeTestPrepareCorrectOverallApplication.ts +194 -194
- package/src/orchestrate/test/structures/IAutoBeTestPrepareProcedure.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestPrepareWriteApplication.ts +147 -147
- package/src/orchestrate/test/structures/IAutoBeTestProcedure.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +105 -105
- package/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationActor.ts +7 -7
- package/src/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.ts +133 -133
- package/src/orchestrate/test/utils/getPrerequisites.ts +51 -51
- package/src/orchestrate/test/utils/getReferenceIds.ts +26 -26
- package/src/orchestrate/test/utils/insertScriptToTestResult.ts +14 -14
- package/src/structures/IAutoBeConfig.ts +110 -110
- package/src/structures/IAutoBeOrchestrateHistory.ts +44 -44
- package/src/structures/IAutoBeProps.ts +102 -102
- package/src/structures/IAutoBeVendor.ts +113 -113
- package/src/utils/AutoBePreliminaryExhaustedError.ts +30 -30
- package/src/utils/AutoBeTimeoutError.ts +35 -35
- package/src/utils/EmbeddingProvider.ts +4 -4
- package/src/utils/LocalEmbeddingProvider.ts +145 -145
- package/src/utils/RAGRetrieval.ts +411 -411
- package/src/utils/TimedConversation.ts +125 -125
- package/src/utils/backoffRetry.ts +169 -169
- package/src/utils/divideArray.ts +35 -35
- package/src/utils/emplaceMap.ts +31 -31
- package/src/utils/executeCachedBatch.ts +67 -67
- package/src/utils/forceRetry.ts +15 -15
- package/src/utils/getEmbedder.ts +16 -16
- package/src/utils/parseTextFunctionCall.ts +437 -437
- package/src/utils/predicateStateMessage.ts +131 -131
- package/src/utils/validateEmptyCode.ts +73 -73
- package/src/utils/validateEnglishOnly.ts +224 -224
- package/README.md +0 -261
|
@@ -1,173 +1,173 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default configuration constants for AutoBE agent behavior.
|
|
3
|
-
*
|
|
4
|
-
* These values balance performance, cost, and reliability across the entire
|
|
5
|
-
* pipeline. Tuned through production usage to handle real-world LLM API
|
|
6
|
-
* characteristics (rate limits, latency, failure rates) while maintaining
|
|
7
|
-
* reasonable token costs and execution times.
|
|
8
|
-
*
|
|
9
|
-
* @author Samchon
|
|
10
|
-
*/
|
|
11
|
-
export const enum AutoBeConfigConstant {
|
|
12
|
-
/**
|
|
13
|
-
* Default retry attempts for LLM API failures and validation error
|
|
14
|
-
* corrections.
|
|
15
|
-
*
|
|
16
|
-
* Used when user doesn't specify retry count in config. Covers two critical
|
|
17
|
-
* failure modes: (1) transient API failures (rate limits, server errors,
|
|
18
|
-
* network timeouts) handled by `randomBackoffRetry`, and (2) AI
|
|
19
|
-
* hallucinations during function calling that produce invalid AST data.
|
|
20
|
-
*
|
|
21
|
-
* AI function calling frequently generates type-invalid AST or AST that
|
|
22
|
-
* violates semantic rules. Orchestrators loop up to `retry` times, providing
|
|
23
|
-
* validation feedback (from Typia runtime validation or AutoBE compiler
|
|
24
|
-
* diagnostics) back to the AI for correction. This iterative feedback loop
|
|
25
|
-
* transforms hallucinations into learning opportunities.
|
|
26
|
-
*
|
|
27
|
-
* Value of 5 provides sufficient attempts for complex validation scenarios
|
|
28
|
-
* while keeping latency reasonable. Most validation errors resolve within 2-3
|
|
29
|
-
* attempts, but complex schema corrections may need additional cycles.
|
|
30
|
-
* Permanent issues (fundamentally misunderstood requirements) still fail fast
|
|
31
|
-
* rather than wasting resources.
|
|
32
|
-
*/
|
|
33
|
-
VALIDATION_RETRY = 3,
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Retry attempts specifically for AutoBE compiler error correction loops.
|
|
37
|
-
*
|
|
38
|
-
* Used by compiler/diagnostic passes that iteratively refine generated code
|
|
39
|
-
* or AST based on compiler feedback (syntax errors, type errors, or invalid
|
|
40
|
-
* transformations). Unlike the general `VALIDATION_RETRY` constant, this is
|
|
41
|
-
* scoped to compilation and code-fix phases where each iteration tends to be
|
|
42
|
-
* more expensive and has diminishing returns after a few attempts.
|
|
43
|
-
*
|
|
44
|
-
* Value of 5 provides a reasonable number of correction cycles for general
|
|
45
|
-
* compiler issues. Most compiler issues are either resolved within the first
|
|
46
|
-
* couple of passes or indicate a fundamental mismatch that won't benefit from
|
|
47
|
-
* further attempts. For database schema corrections specifically, use
|
|
48
|
-
* `DATABASE_CORRECT_RETRY` which allows more iterations due to the cascading
|
|
49
|
-
* nature of schema errors.
|
|
50
|
-
*/
|
|
51
|
-
COMPILER_RETRY = 4,
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Retry attempts specifically for Prisma schema correction loops.
|
|
55
|
-
*
|
|
56
|
-
* Used by `orchestratePrismaCorrect` when iteratively fixing database schema
|
|
57
|
-
* compilation errors. Prisma schema correction is particularly challenging
|
|
58
|
-
* because errors often cascade (one fix reveals new errors) and require
|
|
59
|
-
* multiple passes to fully resolve complex relationship and constraint
|
|
60
|
-
* issues.
|
|
61
|
-
*
|
|
62
|
-
* Value of 20 is intentionally higher than `COMPILER_RETRY` because database
|
|
63
|
-
* schema corrections tend to be incremental - each iteration typically fixes
|
|
64
|
-
* one or two issues rather than resolving everything at once. The higher
|
|
65
|
-
* limit accommodates complex schemas with many inter-model relationships
|
|
66
|
-
* while still providing a reasonable bound to prevent infinite correction
|
|
67
|
-
* loops.
|
|
68
|
-
*/
|
|
69
|
-
DATABASE_CORRECT_RETRY = 20,
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Retry attempts for LLM function-calling execution flows.
|
|
73
|
-
*
|
|
74
|
-
* Applied when orchestrators invoke tools/functions through LLM
|
|
75
|
-
* function-calling interfaces (e.g., to resolve missing parameters, invalid
|
|
76
|
-
* argument shapes, or misaligned tool selections). Unlike the general `RETRY`
|
|
77
|
-
* constant (which also covers raw completion failures), this value is scoped
|
|
78
|
-
* to the tighter loop around function-call planning and argument repair.
|
|
79
|
-
*
|
|
80
|
-
* Value of 3 reflects the higher cost of each function-calling cycle (tool
|
|
81
|
-
* selection + argument generation + execution) compared to simple
|
|
82
|
-
* completions. Empirically, most function-call issues are corrected within
|
|
83
|
-
* 1–2 iterations once validation feedback is provided; additional attempts
|
|
84
|
-
* beyond 3 rarely improve success rates but notably increase latency and
|
|
85
|
-
* resource usage.
|
|
86
|
-
*/
|
|
87
|
-
FUNCTION_CALLING_RETRY = 3,
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Retry attempts for the Analyze Phase.
|
|
91
|
-
*
|
|
92
|
-
* Used when the Analyze Phase fails to write the module, unit, or section.
|
|
93
|
-
* Value of 15 provides generous retries for the Analyze Phase, which often
|
|
94
|
-
* needs multiple iterations due to the complexity of module/unit/section
|
|
95
|
-
* decomposition. Most issues resolve within a few passes, but the higher
|
|
96
|
-
* limit accommodates complex files requiring many correction cycles. The
|
|
97
|
-
* limit still prevents indefinite loops while allowing meaningful automatic
|
|
98
|
-
* correction.
|
|
99
|
-
*/
|
|
100
|
-
ANALYZE_RETRY = 15,
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Maximum consecutive error threshold for fast-fail during the Analyze
|
|
104
|
-
* Phase's hierarchical file processing.
|
|
105
|
-
*
|
|
106
|
-
* Used by `processFileHierarchical` in `orchestrateAnalyze` to detect
|
|
107
|
-
* persistent failure patterns within a single file's Module → Unit → Section
|
|
108
|
-
* pipeline. When errors occur consecutively without any successful sub-task
|
|
109
|
-
* in between, the counter increments. If it reaches this threshold the entire
|
|
110
|
-
* file processing is aborted immediately, preventing further wasted LLM calls
|
|
111
|
-
* on a file that is unlikely to recover.
|
|
112
|
-
*
|
|
113
|
-
* Value of 5 allows transient failures (rate limits, occasional
|
|
114
|
-
* hallucinations) to be tolerated while catching truly broken scenarios
|
|
115
|
-
* (e.g., fundamentally invalid file structure, persistent API outages) before
|
|
116
|
-
* they consume excessive resources.
|
|
117
|
-
*/
|
|
118
|
-
ANALYZE_CONSECUTIVE_ERROR = 5,
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Batch count for parallel operation processing.
|
|
122
|
-
*
|
|
123
|
-
* Controls how many batches `divideArray` creates when splitting large
|
|
124
|
-
* operation lists for concurrent processing. Value of 2 provides optimal
|
|
125
|
-
* balance: parallelizes work to reduce latency while keeping batch sizes
|
|
126
|
-
* large enough for effective prompt caching. Higher values increase
|
|
127
|
-
* parallelism but reduce cache hit rates.
|
|
128
|
-
*/
|
|
129
|
-
INTERFACE_CAPACITY = 1,
|
|
130
|
-
API_ERROR_RETRY = 3,
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Maximum iterations for RAG (Retrieval-Augmented Generation) loops.
|
|
134
|
-
*
|
|
135
|
-
* Limits how many times `AutoBePreliminaryController` can fetch additional
|
|
136
|
-
* context before forcing completion. Prevents infinite loops when LLM
|
|
137
|
-
* continuously requests more data without making progress. Value of 10
|
|
138
|
-
* accommodates complex scenarios requiring multiple context rounds while
|
|
139
|
-
* preventing runaway execution.
|
|
140
|
-
*/
|
|
141
|
-
RAG_LIMIT = 7,
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Default timeout for long-running operations in milliseconds (15 minutes).
|
|
145
|
-
*
|
|
146
|
-
* Prevents operations from hanging indefinitely when LLM APIs become
|
|
147
|
-
* unresponsive. Value of 20 minutes accommodates complex generation tasks
|
|
148
|
-
* (large projects with dozens of models/operations) while catching genuinely
|
|
149
|
-
* stuck requests. Override via config for specialized scenarios.
|
|
150
|
-
*/
|
|
151
|
-
TIMEOUT = 20 * 60 * 1000,
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Default concurrency limit for parallel LLM API calls.
|
|
155
|
-
*
|
|
156
|
-
* Controls maximum simultaneous requests in `executeCachedBatch` when vendor
|
|
157
|
-
* doesn't specify semaphore. Value of 16 balances throughput against API rate
|
|
158
|
-
* limits and memory usage. Too high causes rate limit errors and resource
|
|
159
|
-
* exhaustion; too low wastes potential parallelism.
|
|
160
|
-
*/
|
|
161
|
-
SEMAPHORE = 8,
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Maximum number of analysis section metadata rows shown per page.
|
|
165
|
-
*
|
|
166
|
-
* Controls how many rows appear in the "available sections" table sent to the
|
|
167
|
-
* LLM during preliminary context loading. When analysis produces many
|
|
168
|
-
* sections (e.g. 1,000+), sending the entire metadata table at once can
|
|
169
|
-
* exceed model context limits. Pagination shows only this many rows per RAG
|
|
170
|
-
* iteration, with the next batch appearing after each context request.
|
|
171
|
-
*/
|
|
172
|
-
ANALYSIS_PAGE_SIZE = 75,
|
|
173
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Default configuration constants for AutoBE agent behavior.
|
|
3
|
+
*
|
|
4
|
+
* These values balance performance, cost, and reliability across the entire
|
|
5
|
+
* pipeline. Tuned through production usage to handle real-world LLM API
|
|
6
|
+
* characteristics (rate limits, latency, failure rates) while maintaining
|
|
7
|
+
* reasonable token costs and execution times.
|
|
8
|
+
*
|
|
9
|
+
* @author Samchon
|
|
10
|
+
*/
|
|
11
|
+
export const enum AutoBeConfigConstant {
|
|
12
|
+
/**
|
|
13
|
+
* Default retry attempts for LLM API failures and validation error
|
|
14
|
+
* corrections.
|
|
15
|
+
*
|
|
16
|
+
* Used when user doesn't specify retry count in config. Covers two critical
|
|
17
|
+
* failure modes: (1) transient API failures (rate limits, server errors,
|
|
18
|
+
* network timeouts) handled by `randomBackoffRetry`, and (2) AI
|
|
19
|
+
* hallucinations during function calling that produce invalid AST data.
|
|
20
|
+
*
|
|
21
|
+
* AI function calling frequently generates type-invalid AST or AST that
|
|
22
|
+
* violates semantic rules. Orchestrators loop up to `retry` times, providing
|
|
23
|
+
* validation feedback (from Typia runtime validation or AutoBE compiler
|
|
24
|
+
* diagnostics) back to the AI for correction. This iterative feedback loop
|
|
25
|
+
* transforms hallucinations into learning opportunities.
|
|
26
|
+
*
|
|
27
|
+
* Value of 5 provides sufficient attempts for complex validation scenarios
|
|
28
|
+
* while keeping latency reasonable. Most validation errors resolve within 2-3
|
|
29
|
+
* attempts, but complex schema corrections may need additional cycles.
|
|
30
|
+
* Permanent issues (fundamentally misunderstood requirements) still fail fast
|
|
31
|
+
* rather than wasting resources.
|
|
32
|
+
*/
|
|
33
|
+
VALIDATION_RETRY = 3,
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Retry attempts specifically for AutoBE compiler error correction loops.
|
|
37
|
+
*
|
|
38
|
+
* Used by compiler/diagnostic passes that iteratively refine generated code
|
|
39
|
+
* or AST based on compiler feedback (syntax errors, type errors, or invalid
|
|
40
|
+
* transformations). Unlike the general `VALIDATION_RETRY` constant, this is
|
|
41
|
+
* scoped to compilation and code-fix phases where each iteration tends to be
|
|
42
|
+
* more expensive and has diminishing returns after a few attempts.
|
|
43
|
+
*
|
|
44
|
+
* Value of 5 provides a reasonable number of correction cycles for general
|
|
45
|
+
* compiler issues. Most compiler issues are either resolved within the first
|
|
46
|
+
* couple of passes or indicate a fundamental mismatch that won't benefit from
|
|
47
|
+
* further attempts. For database schema corrections specifically, use
|
|
48
|
+
* `DATABASE_CORRECT_RETRY` which allows more iterations due to the cascading
|
|
49
|
+
* nature of schema errors.
|
|
50
|
+
*/
|
|
51
|
+
COMPILER_RETRY = 4,
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Retry attempts specifically for Prisma schema correction loops.
|
|
55
|
+
*
|
|
56
|
+
* Used by `orchestratePrismaCorrect` when iteratively fixing database schema
|
|
57
|
+
* compilation errors. Prisma schema correction is particularly challenging
|
|
58
|
+
* because errors often cascade (one fix reveals new errors) and require
|
|
59
|
+
* multiple passes to fully resolve complex relationship and constraint
|
|
60
|
+
* issues.
|
|
61
|
+
*
|
|
62
|
+
* Value of 20 is intentionally higher than `COMPILER_RETRY` because database
|
|
63
|
+
* schema corrections tend to be incremental - each iteration typically fixes
|
|
64
|
+
* one or two issues rather than resolving everything at once. The higher
|
|
65
|
+
* limit accommodates complex schemas with many inter-model relationships
|
|
66
|
+
* while still providing a reasonable bound to prevent infinite correction
|
|
67
|
+
* loops.
|
|
68
|
+
*/
|
|
69
|
+
DATABASE_CORRECT_RETRY = 20,
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Retry attempts for LLM function-calling execution flows.
|
|
73
|
+
*
|
|
74
|
+
* Applied when orchestrators invoke tools/functions through LLM
|
|
75
|
+
* function-calling interfaces (e.g., to resolve missing parameters, invalid
|
|
76
|
+
* argument shapes, or misaligned tool selections). Unlike the general `RETRY`
|
|
77
|
+
* constant (which also covers raw completion failures), this value is scoped
|
|
78
|
+
* to the tighter loop around function-call planning and argument repair.
|
|
79
|
+
*
|
|
80
|
+
* Value of 3 reflects the higher cost of each function-calling cycle (tool
|
|
81
|
+
* selection + argument generation + execution) compared to simple
|
|
82
|
+
* completions. Empirically, most function-call issues are corrected within
|
|
83
|
+
* 1–2 iterations once validation feedback is provided; additional attempts
|
|
84
|
+
* beyond 3 rarely improve success rates but notably increase latency and
|
|
85
|
+
* resource usage.
|
|
86
|
+
*/
|
|
87
|
+
FUNCTION_CALLING_RETRY = 3,
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Retry attempts for the Analyze Phase.
|
|
91
|
+
*
|
|
92
|
+
* Used when the Analyze Phase fails to write the module, unit, or section.
|
|
93
|
+
* Value of 15 provides generous retries for the Analyze Phase, which often
|
|
94
|
+
* needs multiple iterations due to the complexity of module/unit/section
|
|
95
|
+
* decomposition. Most issues resolve within a few passes, but the higher
|
|
96
|
+
* limit accommodates complex files requiring many correction cycles. The
|
|
97
|
+
* limit still prevents indefinite loops while allowing meaningful automatic
|
|
98
|
+
* correction.
|
|
99
|
+
*/
|
|
100
|
+
ANALYZE_RETRY = 15,
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Maximum consecutive error threshold for fast-fail during the Analyze
|
|
104
|
+
* Phase's hierarchical file processing.
|
|
105
|
+
*
|
|
106
|
+
* Used by `processFileHierarchical` in `orchestrateAnalyze` to detect
|
|
107
|
+
* persistent failure patterns within a single file's Module → Unit → Section
|
|
108
|
+
* pipeline. When errors occur consecutively without any successful sub-task
|
|
109
|
+
* in between, the counter increments. If it reaches this threshold the entire
|
|
110
|
+
* file processing is aborted immediately, preventing further wasted LLM calls
|
|
111
|
+
* on a file that is unlikely to recover.
|
|
112
|
+
*
|
|
113
|
+
* Value of 5 allows transient failures (rate limits, occasional
|
|
114
|
+
* hallucinations) to be tolerated while catching truly broken scenarios
|
|
115
|
+
* (e.g., fundamentally invalid file structure, persistent API outages) before
|
|
116
|
+
* they consume excessive resources.
|
|
117
|
+
*/
|
|
118
|
+
ANALYZE_CONSECUTIVE_ERROR = 5,
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Batch count for parallel operation processing.
|
|
122
|
+
*
|
|
123
|
+
* Controls how many batches `divideArray` creates when splitting large
|
|
124
|
+
* operation lists for concurrent processing. Value of 2 provides optimal
|
|
125
|
+
* balance: parallelizes work to reduce latency while keeping batch sizes
|
|
126
|
+
* large enough for effective prompt caching. Higher values increase
|
|
127
|
+
* parallelism but reduce cache hit rates.
|
|
128
|
+
*/
|
|
129
|
+
INTERFACE_CAPACITY = 1,
|
|
130
|
+
API_ERROR_RETRY = 3,
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Maximum iterations for RAG (Retrieval-Augmented Generation) loops.
|
|
134
|
+
*
|
|
135
|
+
* Limits how many times `AutoBePreliminaryController` can fetch additional
|
|
136
|
+
* context before forcing completion. Prevents infinite loops when LLM
|
|
137
|
+
* continuously requests more data without making progress. Value of 10
|
|
138
|
+
* accommodates complex scenarios requiring multiple context rounds while
|
|
139
|
+
* preventing runaway execution.
|
|
140
|
+
*/
|
|
141
|
+
RAG_LIMIT = 7,
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Default timeout for long-running operations in milliseconds (15 minutes).
|
|
145
|
+
*
|
|
146
|
+
* Prevents operations from hanging indefinitely when LLM APIs become
|
|
147
|
+
* unresponsive. Value of 20 minutes accommodates complex generation tasks
|
|
148
|
+
* (large projects with dozens of models/operations) while catching genuinely
|
|
149
|
+
* stuck requests. Override via config for specialized scenarios.
|
|
150
|
+
*/
|
|
151
|
+
TIMEOUT = 20 * 60 * 1000,
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Default concurrency limit for parallel LLM API calls.
|
|
155
|
+
*
|
|
156
|
+
* Controls maximum simultaneous requests in `executeCachedBatch` when vendor
|
|
157
|
+
* doesn't specify semaphore. Value of 16 balances throughput against API rate
|
|
158
|
+
* limits and memory usage. Too high causes rate limit errors and resource
|
|
159
|
+
* exhaustion; too low wastes potential parallelism.
|
|
160
|
+
*/
|
|
161
|
+
SEMAPHORE = 8,
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Maximum number of analysis section metadata rows shown per page.
|
|
165
|
+
*
|
|
166
|
+
* Controls how many rows appear in the "available sections" table sent to the
|
|
167
|
+
* LLM during preliminary context loading. When analysis produces many
|
|
168
|
+
* sections (e.g. 1,000+), sending the entire metadata table at once can
|
|
169
|
+
* exceed model context limits. Pagination shows only this many rows per RAG
|
|
170
|
+
* iteration, with the next batch appearing after each context request.
|
|
171
|
+
*/
|
|
172
|
+
ANALYSIS_PAGE_SIZE = 75,
|
|
173
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/* eslint-disable no-template-curly-in-string */
|
|
2
2
|
export const enum AutoBeTemplateFileConstant {
|
|
3
|
-
"realize-of-postgres/src/MyGlobal.ts" = "import { PrismaPg } from \"@prisma/adapter-pg\";\
|
|
3
|
+
"realize-of-postgres/src/MyGlobal.ts" = "import { PrismaPg } from \"@prisma/adapter-pg\";\nimport { PrismaClient } from \"@prisma/sdk\";\nimport dotenv from \"dotenv\";\nimport dotenvExpand from \"dotenv-expand\";\nimport { Singleton } from \"tstl\";\nimport typia from \"typia\";\n\n/* eslint-disable */\nexport class MyGlobal {\n public static testing: boolean = false;\n\n public static get env(): MyGlobal.IEnvironments {\n return environments.get();\n }\n\n public static get prisma(): PrismaClient {\n return prisma.get();\n }\n}\n\nexport namespace MyGlobal {\n export interface IEnvironments {\n API_PORT: `${number}`;\n JWT_SECRET_KEY: string;\n\n POSTGRES_HOST: string;\n POSTGRES_PORT: `${number}`;\n POSTGRES_DATABASE: string;\n POSTGRES_SCHEMA: string;\n POSTGRES_USERNAME: string;\n POSTGRES_PASSWORD: string;\n POSTGRES_URL: string;\n }\n}\nconst environments = new Singleton(() => {\n const env = dotenv.config();\n dotenvExpand.expand(env);\n return typia.assert<MyGlobal.IEnvironments>(process.env);\n});\nconst prisma = new Singleton(\n () =>\n new PrismaClient({\n adapter: new PrismaPg(\n { connectionString: environments.get().POSTGRES_URL },\n { schema: environments.get().POSTGRES_SCHEMA },\n ),\n }),\n);",
|
|
4
4
|
}
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
import {
|
|
2
|
-
IAgenticaVendor,
|
|
3
|
-
IMicroAgenticaHistoryJson,
|
|
4
|
-
MicroAgentica,
|
|
5
|
-
MicroAgenticaHistory,
|
|
6
|
-
} from "@agentica/core";
|
|
7
|
-
import {
|
|
8
|
-
AutoBeAnalyzeHistory,
|
|
9
|
-
AutoBeAssistantMessageEvent,
|
|
10
|
-
AutoBeAssistantMessageHistory,
|
|
11
|
-
AutoBeDatabaseHistory,
|
|
12
|
-
AutoBeEvent,
|
|
13
|
-
AutoBeEventSource,
|
|
14
|
-
AutoBeFunctionCallingMetric,
|
|
15
|
-
AutoBeHistory,
|
|
16
|
-
AutoBeInterfaceHistory,
|
|
17
|
-
AutoBePhase,
|
|
18
|
-
AutoBeProcessAggregateCollection,
|
|
19
|
-
AutoBeRealizeHistory,
|
|
20
|
-
AutoBeTestHistory,
|
|
21
|
-
IAutoBeCompiler,
|
|
22
|
-
IAutoBeCompilerListener,
|
|
23
|
-
IAutoBeGetFilesOptions,
|
|
24
|
-
IAutoBeTokenUsageJson,
|
|
25
|
-
} from "@autobe/interface";
|
|
26
|
-
import { ILlmController } from "typia";
|
|
27
|
-
|
|
28
|
-
import { AutoBeState } from "./AutoBeState";
|
|
29
|
-
import { AutoBeTokenUsage } from "./AutoBeTokenUsage";
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Core execution context providing orchestrators access to configuration,
|
|
33
|
-
* state, compiler, events, and AI conversation.
|
|
34
|
-
*
|
|
35
|
-
* Follows Dependency Injection pattern for testability. State transitions are
|
|
36
|
-
* atomic, and event dispatch is type-safe with automatic WebSocket forwarding.
|
|
37
|
-
*
|
|
38
|
-
* Key methods:
|
|
39
|
-
*
|
|
40
|
-
* - `state()`: Current pipeline state with step counters
|
|
41
|
-
* - `compiler()`: Three-tier compilation infrastructure
|
|
42
|
-
* - `dispatch()`: Type-safe event emission with automatic state updates
|
|
43
|
-
* - `conversate()`: Creates MicroAgentica for LLM interactions
|
|
44
|
-
*
|
|
45
|
-
* @author Samchon
|
|
46
|
-
*/
|
|
47
|
-
export interface AutoBeContext {
|
|
48
|
-
// configuration
|
|
49
|
-
vendor: IAgenticaVendor;
|
|
50
|
-
locale: string;
|
|
51
|
-
retry: number;
|
|
52
|
-
|
|
53
|
-
// accessors
|
|
54
|
-
aggregates: AutoBeProcessAggregateCollection;
|
|
55
|
-
compilerListener: IAutoBeCompilerListener;
|
|
56
|
-
compiler: () => Promise<IAutoBeCompiler>;
|
|
57
|
-
files: (options: IAutoBeGetFilesOptions) => Promise<Record<string, string>>;
|
|
58
|
-
histories: () => Readonly<AutoBeHistory[]>;
|
|
59
|
-
state: () => Readonly<AutoBeState>;
|
|
60
|
-
usage: () => AutoBeTokenUsage;
|
|
61
|
-
getCurrentAggregates: (
|
|
62
|
-
phase: AutoBePhase,
|
|
63
|
-
) => AutoBeProcessAggregateCollection;
|
|
64
|
-
|
|
65
|
-
// events
|
|
66
|
-
dispatch: <Event extends Exclude<AutoBeEvent, AutoBeAssistantMessageEvent>>(
|
|
67
|
-
event: Event,
|
|
68
|
-
) => AutoBeContext.DispatchHistory<Event>;
|
|
69
|
-
assistantMessage: (
|
|
70
|
-
message: AutoBeAssistantMessageHistory,
|
|
71
|
-
) => AutoBeAssistantMessageHistory;
|
|
72
|
-
|
|
73
|
-
// factories
|
|
74
|
-
conversate(
|
|
75
|
-
props: AutoBeContext.IConversate,
|
|
76
|
-
closure?: (agent: MicroAgentica) => void,
|
|
77
|
-
): Promise<AutoBeContext.IResult>;
|
|
78
|
-
}
|
|
79
|
-
export namespace AutoBeContext {
|
|
80
|
-
export type DispatchHistory<
|
|
81
|
-
Event extends Exclude<AutoBeEvent, AutoBeAssistantMessageEvent>,
|
|
82
|
-
> = Event["type"] extends keyof DispatchHistoryMap
|
|
83
|
-
? DispatchHistoryMap[Event["type"]]
|
|
84
|
-
: null;
|
|
85
|
-
export type DispatchHistoryMap = {
|
|
86
|
-
assistantMessage: AutoBeAssistantMessageHistory;
|
|
87
|
-
analyzeComplete: AutoBeAnalyzeHistory;
|
|
88
|
-
databaseComplete: AutoBeDatabaseHistory;
|
|
89
|
-
interfaceComplete: AutoBeInterfaceHistory;
|
|
90
|
-
testComplete: AutoBeTestHistory;
|
|
91
|
-
realizeComplete: AutoBeRealizeHistory;
|
|
92
|
-
};
|
|
93
|
-
export interface IConversate {
|
|
94
|
-
source: AutoBeEventSource;
|
|
95
|
-
controller: ILlmController;
|
|
96
|
-
histories: Array<IMicroAgenticaHistoryJson>;
|
|
97
|
-
enforceFunctionCall: boolean;
|
|
98
|
-
userMessage: string;
|
|
99
|
-
promptCacheKey?: string;
|
|
100
|
-
retry?: number;
|
|
101
|
-
}
|
|
102
|
-
export interface IResult {
|
|
103
|
-
histories: MicroAgenticaHistory[];
|
|
104
|
-
tokenUsage: IAutoBeTokenUsageJson.IComponent;
|
|
105
|
-
metric: AutoBeFunctionCallingMetric;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
IAgenticaVendor,
|
|
3
|
+
IMicroAgenticaHistoryJson,
|
|
4
|
+
MicroAgentica,
|
|
5
|
+
MicroAgenticaHistory,
|
|
6
|
+
} from "@agentica/core";
|
|
7
|
+
import {
|
|
8
|
+
AutoBeAnalyzeHistory,
|
|
9
|
+
AutoBeAssistantMessageEvent,
|
|
10
|
+
AutoBeAssistantMessageHistory,
|
|
11
|
+
AutoBeDatabaseHistory,
|
|
12
|
+
AutoBeEvent,
|
|
13
|
+
AutoBeEventSource,
|
|
14
|
+
AutoBeFunctionCallingMetric,
|
|
15
|
+
AutoBeHistory,
|
|
16
|
+
AutoBeInterfaceHistory,
|
|
17
|
+
AutoBePhase,
|
|
18
|
+
AutoBeProcessAggregateCollection,
|
|
19
|
+
AutoBeRealizeHistory,
|
|
20
|
+
AutoBeTestHistory,
|
|
21
|
+
IAutoBeCompiler,
|
|
22
|
+
IAutoBeCompilerListener,
|
|
23
|
+
IAutoBeGetFilesOptions,
|
|
24
|
+
IAutoBeTokenUsageJson,
|
|
25
|
+
} from "@autobe/interface";
|
|
26
|
+
import { ILlmController } from "typia";
|
|
27
|
+
|
|
28
|
+
import { AutoBeState } from "./AutoBeState";
|
|
29
|
+
import { AutoBeTokenUsage } from "./AutoBeTokenUsage";
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Core execution context providing orchestrators access to configuration,
|
|
33
|
+
* state, compiler, events, and AI conversation.
|
|
34
|
+
*
|
|
35
|
+
* Follows Dependency Injection pattern for testability. State transitions are
|
|
36
|
+
* atomic, and event dispatch is type-safe with automatic WebSocket forwarding.
|
|
37
|
+
*
|
|
38
|
+
* Key methods:
|
|
39
|
+
*
|
|
40
|
+
* - `state()`: Current pipeline state with step counters
|
|
41
|
+
* - `compiler()`: Three-tier compilation infrastructure
|
|
42
|
+
* - `dispatch()`: Type-safe event emission with automatic state updates
|
|
43
|
+
* - `conversate()`: Creates MicroAgentica for LLM interactions
|
|
44
|
+
*
|
|
45
|
+
* @author Samchon
|
|
46
|
+
*/
|
|
47
|
+
export interface AutoBeContext {
|
|
48
|
+
// configuration
|
|
49
|
+
vendor: IAgenticaVendor;
|
|
50
|
+
locale: string;
|
|
51
|
+
retry: number;
|
|
52
|
+
|
|
53
|
+
// accessors
|
|
54
|
+
aggregates: AutoBeProcessAggregateCollection;
|
|
55
|
+
compilerListener: IAutoBeCompilerListener;
|
|
56
|
+
compiler: () => Promise<IAutoBeCompiler>;
|
|
57
|
+
files: (options: IAutoBeGetFilesOptions) => Promise<Record<string, string>>;
|
|
58
|
+
histories: () => Readonly<AutoBeHistory[]>;
|
|
59
|
+
state: () => Readonly<AutoBeState>;
|
|
60
|
+
usage: () => AutoBeTokenUsage;
|
|
61
|
+
getCurrentAggregates: (
|
|
62
|
+
phase: AutoBePhase,
|
|
63
|
+
) => AutoBeProcessAggregateCollection;
|
|
64
|
+
|
|
65
|
+
// events
|
|
66
|
+
dispatch: <Event extends Exclude<AutoBeEvent, AutoBeAssistantMessageEvent>>(
|
|
67
|
+
event: Event,
|
|
68
|
+
) => AutoBeContext.DispatchHistory<Event>;
|
|
69
|
+
assistantMessage: (
|
|
70
|
+
message: AutoBeAssistantMessageHistory,
|
|
71
|
+
) => AutoBeAssistantMessageHistory;
|
|
72
|
+
|
|
73
|
+
// factories
|
|
74
|
+
conversate(
|
|
75
|
+
props: AutoBeContext.IConversate,
|
|
76
|
+
closure?: (agent: MicroAgentica) => void,
|
|
77
|
+
): Promise<AutoBeContext.IResult>;
|
|
78
|
+
}
|
|
79
|
+
export namespace AutoBeContext {
|
|
80
|
+
export type DispatchHistory<
|
|
81
|
+
Event extends Exclude<AutoBeEvent, AutoBeAssistantMessageEvent>,
|
|
82
|
+
> = Event["type"] extends keyof DispatchHistoryMap
|
|
83
|
+
? DispatchHistoryMap[Event["type"]]
|
|
84
|
+
: null;
|
|
85
|
+
export type DispatchHistoryMap = {
|
|
86
|
+
assistantMessage: AutoBeAssistantMessageHistory;
|
|
87
|
+
analyzeComplete: AutoBeAnalyzeHistory;
|
|
88
|
+
databaseComplete: AutoBeDatabaseHistory;
|
|
89
|
+
interfaceComplete: AutoBeInterfaceHistory;
|
|
90
|
+
testComplete: AutoBeTestHistory;
|
|
91
|
+
realizeComplete: AutoBeRealizeHistory;
|
|
92
|
+
};
|
|
93
|
+
export interface IConversate {
|
|
94
|
+
source: AutoBeEventSource;
|
|
95
|
+
controller: ILlmController;
|
|
96
|
+
histories: Array<IMicroAgenticaHistoryJson>;
|
|
97
|
+
enforceFunctionCall: boolean;
|
|
98
|
+
userMessage: string;
|
|
99
|
+
promptCacheKey?: string;
|
|
100
|
+
retry?: number;
|
|
101
|
+
}
|
|
102
|
+
export interface IResult {
|
|
103
|
+
histories: MicroAgenticaHistory[];
|
|
104
|
+
tokenUsage: IAutoBeTokenUsageJson.IComponent;
|
|
105
|
+
metric: AutoBeFunctionCallingMetric;
|
|
106
|
+
}
|
|
107
|
+
}
|