@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,139 +1,139 @@
|
|
|
1
|
-
import { IAutoBeFacadeApplicationResult } from "./IAutoBeFacadeApplicationResult";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Application for AutoBE function calling.
|
|
5
|
-
*
|
|
6
|
-
* @author Samchon
|
|
7
|
-
*/
|
|
8
|
-
export interface IAutoBeFacadeApplication {
|
|
9
|
-
/**
|
|
10
|
-
* Run Analyze Agent.
|
|
11
|
-
*
|
|
12
|
-
* Executes the Analyze agent to process user requirements and generate a
|
|
13
|
-
* structured specification document. This agent analyzes all conversation
|
|
14
|
-
* history between users and AI, separates business logic from technical
|
|
15
|
-
* requirements, and establishes development priorities and scope.
|
|
16
|
-
*
|
|
17
|
-
* **IMPORTANT**: Only call this function when sufficient requirements have
|
|
18
|
-
* been discussed to generate a comprehensive specification. The context must
|
|
19
|
-
* contain enough detail about the system's purpose, core features, data
|
|
20
|
-
* models, and business rules. If requirements are unclear or incomplete,
|
|
21
|
-
* continue gathering information through conversation instead.
|
|
22
|
-
*
|
|
23
|
-
* The agent will automatically generate follow-up questions for any ambiguous
|
|
24
|
-
* requirements and continuously refine its understanding through iterative
|
|
25
|
-
* conversation. When executed after other agents have generated code, it can
|
|
26
|
-
* also interpret change requests in the context of existing implementations.
|
|
27
|
-
*/
|
|
28
|
-
analyze(): Promise<IAutoBeFacadeApplicationResult>;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Run database agent.
|
|
32
|
-
*
|
|
33
|
-
* Executes the Database agent to generate database schema files and ERD
|
|
34
|
-
* documentation. This agent reads the requirements specification created by
|
|
35
|
-
* the {@link analyze Analyze agent} and produces a complete database schema
|
|
36
|
-
* with comprehensive documentation for each entity and attribute.
|
|
37
|
-
*
|
|
38
|
-
* **PREREQUISITE**: Only call this function after the {@link analyze} function
|
|
39
|
-
* has been successfully executed and a requirements specification document
|
|
40
|
-
* has been generated. The Database agent depends on the structured
|
|
41
|
-
* requirements analysis to design the database schema properly. Without a
|
|
42
|
-
* completed requirements specification, this function should NOT be called.
|
|
43
|
-
*
|
|
44
|
-
* The agent will automatically validate the generated schema using the
|
|
45
|
-
* database schema compilation, self-correct any compilation errors through
|
|
46
|
-
* feedback loops, and generate ERD documentation using prisma-markdown. An
|
|
47
|
-
* internal review process ensures schema quality and optimization.
|
|
48
|
-
*/
|
|
49
|
-
database(props: {
|
|
50
|
-
/**
|
|
51
|
-
* Database design instructions from user conversation.
|
|
52
|
-
*
|
|
53
|
-
* Pass empty string "" if no database-specific instructions exist.
|
|
54
|
-
*/
|
|
55
|
-
instruction: string;
|
|
56
|
-
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Run interface agent.
|
|
60
|
-
*
|
|
61
|
-
* Executes the Interface agent to design and generate API interfaces. This
|
|
62
|
-
* agent creates OpenAPI schemas and TypeScript/NestJS code based on the
|
|
63
|
-
* requirements specification and ERD documentation from previous agents.
|
|
64
|
-
*
|
|
65
|
-
* The agent follows a sophisticated pipeline: first constructing formal
|
|
66
|
-
* OpenAPI Operation Schemas and JSON Schemas, then validating these schemas,
|
|
67
|
-
* and finally transforming them into NestJS controllers and DTOs. Each
|
|
68
|
-
* generated interface includes comprehensive JSDoc comments and undergoes
|
|
69
|
-
* internal review for consistency.
|
|
70
|
-
*/
|
|
71
|
-
interface(props: {
|
|
72
|
-
/**
|
|
73
|
-
* API design instructions from user conversation.
|
|
74
|
-
*
|
|
75
|
-
* Pass empty string "" if no API-specific instructions exist.
|
|
76
|
-
*/
|
|
77
|
-
instruction: string;
|
|
78
|
-
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Run test program agent.
|
|
82
|
-
*
|
|
83
|
-
* Executes the Test agent to generate comprehensive E2E test suites for all
|
|
84
|
-
* {@link interface API interfaces}. This agent synthesizes outputs from
|
|
85
|
-
* previous agents to create tests that validate both individual endpoints and
|
|
86
|
-
* their interactions.
|
|
87
|
-
*
|
|
88
|
-
* **PREREQUISITE**: Only call this function after the {@link interface}
|
|
89
|
-
* function has been successfully executed and API interfaces have been
|
|
90
|
-
* generated. The Test agent requires the completed API interface definitions,
|
|
91
|
-
* OpenAPI schemas, and TypeScript code to generate appropriate test
|
|
92
|
-
* scenarios. Without completed interface design, this function should NOT be
|
|
93
|
-
* called.
|
|
94
|
-
*
|
|
95
|
-
* The agent will analyze dependency relationships between API functions,
|
|
96
|
-
* structure integrated test scenarios with correct execution sequences, and
|
|
97
|
-
* enhance pre-generated test scaffolds with business logic validation.
|
|
98
|
-
* TypeScript compiler validation and internal review ensure test quality and
|
|
99
|
-
* optimal coverage.
|
|
100
|
-
*/
|
|
101
|
-
test(props: {
|
|
102
|
-
/**
|
|
103
|
-
* Testing strategy instructions from user conversation.
|
|
104
|
-
*
|
|
105
|
-
* Pass empty string "" if no test-specific instructions exist.
|
|
106
|
-
*/
|
|
107
|
-
instruction: string;
|
|
108
|
-
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Run realize agent.
|
|
112
|
-
*
|
|
113
|
-
* Executes the Realize agent to implement the actual business logic for each
|
|
114
|
-
* API endpoint. This agent synthesizes all outputs from previous agents to
|
|
115
|
-
* generate fully functional service provider code.
|
|
116
|
-
*
|
|
117
|
-
* **PREREQUISITE**: Only call this function after the {@link interface}
|
|
118
|
-
* function has been successfully executed and API interfaces have been
|
|
119
|
-
* generated. The Realize agent requires the completed API interface
|
|
120
|
-
* definitions to implement the corresponding service logic. It also benefits
|
|
121
|
-
* from having test code available for validation. Without completed interface
|
|
122
|
-
* design, this function should NOT be called.
|
|
123
|
-
*
|
|
124
|
-
* The agent will create service implementations with multiple validation
|
|
125
|
-
* layers: TypeScript compiler feedback, runtime validation through test
|
|
126
|
-
* execution, and quality optimization through internal review. The generated
|
|
127
|
-
* code handles database interactions through Database, implements security
|
|
128
|
-
* and validation checks, and processes business rules according to
|
|
129
|
-
* specifications.
|
|
130
|
-
*/
|
|
131
|
-
realize(props: {
|
|
132
|
-
/**
|
|
133
|
-
* Implementation instructions from user conversation.
|
|
134
|
-
*
|
|
135
|
-
* Pass empty string "" if no implementation-specific instructions exist.
|
|
136
|
-
*/
|
|
137
|
-
instruction: string;
|
|
138
|
-
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
139
|
-
}
|
|
1
|
+
import { IAutoBeFacadeApplicationResult } from "./IAutoBeFacadeApplicationResult";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Application for AutoBE function calling.
|
|
5
|
+
*
|
|
6
|
+
* @author Samchon
|
|
7
|
+
*/
|
|
8
|
+
export interface IAutoBeFacadeApplication {
|
|
9
|
+
/**
|
|
10
|
+
* Run Analyze Agent.
|
|
11
|
+
*
|
|
12
|
+
* Executes the Analyze agent to process user requirements and generate a
|
|
13
|
+
* structured specification document. This agent analyzes all conversation
|
|
14
|
+
* history between users and AI, separates business logic from technical
|
|
15
|
+
* requirements, and establishes development priorities and scope.
|
|
16
|
+
*
|
|
17
|
+
* **IMPORTANT**: Only call this function when sufficient requirements have
|
|
18
|
+
* been discussed to generate a comprehensive specification. The context must
|
|
19
|
+
* contain enough detail about the system's purpose, core features, data
|
|
20
|
+
* models, and business rules. If requirements are unclear or incomplete,
|
|
21
|
+
* continue gathering information through conversation instead.
|
|
22
|
+
*
|
|
23
|
+
* The agent will automatically generate follow-up questions for any ambiguous
|
|
24
|
+
* requirements and continuously refine its understanding through iterative
|
|
25
|
+
* conversation. When executed after other agents have generated code, it can
|
|
26
|
+
* also interpret change requests in the context of existing implementations.
|
|
27
|
+
*/
|
|
28
|
+
analyze(): Promise<IAutoBeFacadeApplicationResult>;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Run database agent.
|
|
32
|
+
*
|
|
33
|
+
* Executes the Database agent to generate database schema files and ERD
|
|
34
|
+
* documentation. This agent reads the requirements specification created by
|
|
35
|
+
* the {@link analyze Analyze agent} and produces a complete database schema
|
|
36
|
+
* with comprehensive documentation for each entity and attribute.
|
|
37
|
+
*
|
|
38
|
+
* **PREREQUISITE**: Only call this function after the {@link analyze} function
|
|
39
|
+
* has been successfully executed and a requirements specification document
|
|
40
|
+
* has been generated. The Database agent depends on the structured
|
|
41
|
+
* requirements analysis to design the database schema properly. Without a
|
|
42
|
+
* completed requirements specification, this function should NOT be called.
|
|
43
|
+
*
|
|
44
|
+
* The agent will automatically validate the generated schema using the
|
|
45
|
+
* database schema compilation, self-correct any compilation errors through
|
|
46
|
+
* feedback loops, and generate ERD documentation using prisma-markdown. An
|
|
47
|
+
* internal review process ensures schema quality and optimization.
|
|
48
|
+
*/
|
|
49
|
+
database(props: {
|
|
50
|
+
/**
|
|
51
|
+
* Database design instructions from user conversation.
|
|
52
|
+
*
|
|
53
|
+
* Pass empty string "" if no database-specific instructions exist.
|
|
54
|
+
*/
|
|
55
|
+
instruction: string;
|
|
56
|
+
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Run interface agent.
|
|
60
|
+
*
|
|
61
|
+
* Executes the Interface agent to design and generate API interfaces. This
|
|
62
|
+
* agent creates OpenAPI schemas and TypeScript/NestJS code based on the
|
|
63
|
+
* requirements specification and ERD documentation from previous agents.
|
|
64
|
+
*
|
|
65
|
+
* The agent follows a sophisticated pipeline: first constructing formal
|
|
66
|
+
* OpenAPI Operation Schemas and JSON Schemas, then validating these schemas,
|
|
67
|
+
* and finally transforming them into NestJS controllers and DTOs. Each
|
|
68
|
+
* generated interface includes comprehensive JSDoc comments and undergoes
|
|
69
|
+
* internal review for consistency.
|
|
70
|
+
*/
|
|
71
|
+
interface(props: {
|
|
72
|
+
/**
|
|
73
|
+
* API design instructions from user conversation.
|
|
74
|
+
*
|
|
75
|
+
* Pass empty string "" if no API-specific instructions exist.
|
|
76
|
+
*/
|
|
77
|
+
instruction: string;
|
|
78
|
+
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Run test program agent.
|
|
82
|
+
*
|
|
83
|
+
* Executes the Test agent to generate comprehensive E2E test suites for all
|
|
84
|
+
* {@link interface API interfaces}. This agent synthesizes outputs from
|
|
85
|
+
* previous agents to create tests that validate both individual endpoints and
|
|
86
|
+
* their interactions.
|
|
87
|
+
*
|
|
88
|
+
* **PREREQUISITE**: Only call this function after the {@link interface}
|
|
89
|
+
* function has been successfully executed and API interfaces have been
|
|
90
|
+
* generated. The Test agent requires the completed API interface definitions,
|
|
91
|
+
* OpenAPI schemas, and TypeScript code to generate appropriate test
|
|
92
|
+
* scenarios. Without completed interface design, this function should NOT be
|
|
93
|
+
* called.
|
|
94
|
+
*
|
|
95
|
+
* The agent will analyze dependency relationships between API functions,
|
|
96
|
+
* structure integrated test scenarios with correct execution sequences, and
|
|
97
|
+
* enhance pre-generated test scaffolds with business logic validation.
|
|
98
|
+
* TypeScript compiler validation and internal review ensure test quality and
|
|
99
|
+
* optimal coverage.
|
|
100
|
+
*/
|
|
101
|
+
test(props: {
|
|
102
|
+
/**
|
|
103
|
+
* Testing strategy instructions from user conversation.
|
|
104
|
+
*
|
|
105
|
+
* Pass empty string "" if no test-specific instructions exist.
|
|
106
|
+
*/
|
|
107
|
+
instruction: string;
|
|
108
|
+
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Run realize agent.
|
|
112
|
+
*
|
|
113
|
+
* Executes the Realize agent to implement the actual business logic for each
|
|
114
|
+
* API endpoint. This agent synthesizes all outputs from previous agents to
|
|
115
|
+
* generate fully functional service provider code.
|
|
116
|
+
*
|
|
117
|
+
* **PREREQUISITE**: Only call this function after the {@link interface}
|
|
118
|
+
* function has been successfully executed and API interfaces have been
|
|
119
|
+
* generated. The Realize agent requires the completed API interface
|
|
120
|
+
* definitions to implement the corresponding service logic. It also benefits
|
|
121
|
+
* from having test code available for validation. Without completed interface
|
|
122
|
+
* design, this function should NOT be called.
|
|
123
|
+
*
|
|
124
|
+
* The agent will create service implementations with multiple validation
|
|
125
|
+
* layers: TypeScript compiler feedback, runtime validation through test
|
|
126
|
+
* execution, and quality optimization through internal review. The generated
|
|
127
|
+
* code handles database interactions through Database, implements security
|
|
128
|
+
* and validation checks, and processes business rules according to
|
|
129
|
+
* specifications.
|
|
130
|
+
*/
|
|
131
|
+
realize(props: {
|
|
132
|
+
/**
|
|
133
|
+
* Implementation instructions from user conversation.
|
|
134
|
+
*
|
|
135
|
+
* Pass empty string "" if no implementation-specific instructions exist.
|
|
136
|
+
*/
|
|
137
|
+
instruction: string;
|
|
138
|
+
}): Promise<IAutoBeFacadeApplicationResult>;
|
|
139
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export interface IAutoBeFacadeApplicationProps {
|
|
2
|
-
/**
|
|
3
|
-
* Instructions for each agent phase redefined by AI from user's utterance.
|
|
4
|
-
* Contains specific guidance for analyze/database/interface/test/realize
|
|
5
|
-
* agents.
|
|
6
|
-
*/
|
|
7
|
-
instruction: string;
|
|
8
|
-
}
|
|
1
|
+
export interface IAutoBeFacadeApplicationProps {
|
|
2
|
+
/**
|
|
3
|
+
* Instructions for each agent phase redefined by AI from user's utterance.
|
|
4
|
+
* Contains specific guidance for analyze/database/interface/test/realize
|
|
5
|
+
* agents.
|
|
6
|
+
*/
|
|
7
|
+
instruction: string;
|
|
8
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export interface IAutoBeFacadeApplicationResult {
|
|
2
|
-
type:
|
|
3
|
-
| "success"
|
|
4
|
-
| "failure"
|
|
5
|
-
| "exception"
|
|
6
|
-
| "in-progress"
|
|
7
|
-
| "prerequisites-not-satisfied";
|
|
8
|
-
description: string;
|
|
9
|
-
}
|
|
1
|
+
export interface IAutoBeFacadeApplicationResult {
|
|
2
|
+
type:
|
|
3
|
+
| "success"
|
|
4
|
+
| "failure"
|
|
5
|
+
| "exception"
|
|
6
|
+
| "in-progress"
|
|
7
|
+
| "prerequisites-not-satisfied";
|
|
8
|
+
description: string;
|
|
9
|
+
}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { StringUtil } from "@autobe/utils";
|
|
2
|
-
|
|
3
|
-
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
4
|
-
import { AutoBeState } from "../../../context/AutoBeState";
|
|
5
|
-
|
|
6
|
-
export function transformFacadeStateMessage(state: AutoBeState): string {
|
|
7
|
-
const currentState: ICurrentState = getCurrentState(state);
|
|
8
|
-
return AutoBeSystemPromptConstant.AGENTICA_FACADE.replace(
|
|
9
|
-
"{% STATE %}",
|
|
10
|
-
StringUtil.trim`
|
|
11
|
-
## Current State
|
|
12
|
-
|
|
13
|
-
The current execution status of each functional agent is shown below.
|
|
14
|
-
Each agent can be in one of three states: "none" (never executed),
|
|
15
|
-
"up-to-date" (successfully executed with current output),
|
|
16
|
-
or "out-of-date" (previously executed but needs updating due to
|
|
17
|
-
changes in earlier stages).
|
|
18
|
-
|
|
19
|
-
An agent cannot be executed if any of its prerequisite agents have
|
|
20
|
-
a status of "none" or "out-of-date". In such cases, you must complete or
|
|
21
|
-
update the earlier stages first. Additionally, re-executing an "up-to-date"
|
|
22
|
-
agent will cause all subsequent agents to become "out-of-date", as they
|
|
23
|
-
depend on the updated output.
|
|
24
|
-
|
|
25
|
-
- analyze: ${currentState.analyze}
|
|
26
|
-
- database: ${currentState.database}
|
|
27
|
-
- interface: ${currentState.interface}
|
|
28
|
-
- test: ${currentState.test}
|
|
29
|
-
- realize: ${currentState.realize}
|
|
30
|
-
`,
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function getCurrentState(state: AutoBeState): ICurrentState {
|
|
35
|
-
const value = (
|
|
36
|
-
obj: {
|
|
37
|
-
step: number;
|
|
38
|
-
} | null,
|
|
39
|
-
) => {
|
|
40
|
-
if (state.analyze === null || obj === null) return "none";
|
|
41
|
-
else if (state.analyze.step === obj.step) return "up-to-date";
|
|
42
|
-
else return "out-of-date";
|
|
43
|
-
};
|
|
44
|
-
return {
|
|
45
|
-
analyze: state.analyze === null ? "none" : "up-to-date",
|
|
46
|
-
database: value(state.database),
|
|
47
|
-
interface: value(state.interface),
|
|
48
|
-
test: value(state.test),
|
|
49
|
-
realize: value(state.realize),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
interface ICurrentState {
|
|
54
|
-
analyze: "up-to-date" | "none";
|
|
55
|
-
database: "up-to-date" | "out-of-date" | "none";
|
|
56
|
-
interface: "up-to-date" | "out-of-date" | "none";
|
|
57
|
-
test: "up-to-date" | "out-of-date" | "none";
|
|
58
|
-
realize: "up-to-date" | "out-of-date" | "none";
|
|
59
|
-
}
|
|
1
|
+
import { StringUtil } from "@autobe/utils";
|
|
2
|
+
|
|
3
|
+
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
4
|
+
import { AutoBeState } from "../../../context/AutoBeState";
|
|
5
|
+
|
|
6
|
+
export function transformFacadeStateMessage(state: AutoBeState): string {
|
|
7
|
+
const currentState: ICurrentState = getCurrentState(state);
|
|
8
|
+
return AutoBeSystemPromptConstant.AGENTICA_FACADE.replace(
|
|
9
|
+
"{% STATE %}",
|
|
10
|
+
StringUtil.trim`
|
|
11
|
+
## Current State
|
|
12
|
+
|
|
13
|
+
The current execution status of each functional agent is shown below.
|
|
14
|
+
Each agent can be in one of three states: "none" (never executed),
|
|
15
|
+
"up-to-date" (successfully executed with current output),
|
|
16
|
+
or "out-of-date" (previously executed but needs updating due to
|
|
17
|
+
changes in earlier stages).
|
|
18
|
+
|
|
19
|
+
An agent cannot be executed if any of its prerequisite agents have
|
|
20
|
+
a status of "none" or "out-of-date". In such cases, you must complete or
|
|
21
|
+
update the earlier stages first. Additionally, re-executing an "up-to-date"
|
|
22
|
+
agent will cause all subsequent agents to become "out-of-date", as they
|
|
23
|
+
depend on the updated output.
|
|
24
|
+
|
|
25
|
+
- analyze: ${currentState.analyze}
|
|
26
|
+
- database: ${currentState.database}
|
|
27
|
+
- interface: ${currentState.interface}
|
|
28
|
+
- test: ${currentState.test}
|
|
29
|
+
- realize: ${currentState.realize}
|
|
30
|
+
`,
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function getCurrentState(state: AutoBeState): ICurrentState {
|
|
35
|
+
const value = (
|
|
36
|
+
obj: {
|
|
37
|
+
step: number;
|
|
38
|
+
} | null,
|
|
39
|
+
) => {
|
|
40
|
+
if (state.analyze === null || obj === null) return "none";
|
|
41
|
+
else if (state.analyze.step === obj.step) return "up-to-date";
|
|
42
|
+
else return "out-of-date";
|
|
43
|
+
};
|
|
44
|
+
return {
|
|
45
|
+
analyze: state.analyze === null ? "none" : "up-to-date",
|
|
46
|
+
database: value(state.database),
|
|
47
|
+
interface: value(state.interface),
|
|
48
|
+
test: value(state.test),
|
|
49
|
+
realize: value(state.realize),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
interface ICurrentState {
|
|
54
|
+
analyze: "up-to-date" | "none";
|
|
55
|
+
database: "up-to-date" | "out-of-date" | "none";
|
|
56
|
+
interface: "up-to-date" | "out-of-date" | "none";
|
|
57
|
+
test: "up-to-date" | "out-of-date" | "none";
|
|
58
|
+
realize: "up-to-date" | "out-of-date" | "none";
|
|
59
|
+
}
|
package/src/orchestrate/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from "./analyze/index";
|
|
2
|
-
export * from "./prisma/index";
|
|
3
|
-
export * from "./interface/index";
|
|
4
|
-
export * from "./test/index";
|
|
5
|
-
export * from "./realize/index";
|
|
1
|
+
export * from "./analyze/index";
|
|
2
|
+
export * from "./prisma/index";
|
|
3
|
+
export * from "./interface/index";
|
|
4
|
+
export * from "./test/index";
|
|
5
|
+
export * from "./realize/index";
|
package/src/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.ts
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AutoBeInterfaceEndpointDesign,
|
|
3
|
-
AutoBeInterfaceGroup,
|
|
4
|
-
AutoBeOpenApi,
|
|
5
|
-
} from "@autobe/interface";
|
|
6
|
-
import { StringUtil } from "@autobe/utils";
|
|
7
|
-
import { v7 } from "uuid";
|
|
8
|
-
|
|
9
|
-
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
10
|
-
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
11
|
-
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
12
|
-
import { transformInterfaceEndpointAuthorizationSection } from "./transformInterfaceEndpointAuthorizationSection";
|
|
13
|
-
|
|
14
|
-
export const transformInterfaceActionEndpointReviewHistory = (props: {
|
|
15
|
-
preliminary: AutoBePreliminaryController<
|
|
16
|
-
| "analysisSections"
|
|
17
|
-
| "databaseSchemas"
|
|
18
|
-
| "previousAnalysisSections"
|
|
19
|
-
| "previousDatabaseSchemas"
|
|
20
|
-
| "previousInterfaceOperations"
|
|
21
|
-
>;
|
|
22
|
-
designs: AutoBeInterfaceEndpointDesign[];
|
|
23
|
-
baseEndpoints: AutoBeOpenApi.IEndpoint[];
|
|
24
|
-
group: AutoBeInterfaceGroup;
|
|
25
|
-
authorizeOperations: AutoBeOpenApi.IOperation[];
|
|
26
|
-
}): IAutoBeOrchestrateHistory => ({
|
|
27
|
-
histories: [
|
|
28
|
-
{
|
|
29
|
-
type: "systemMessage",
|
|
30
|
-
id: v7(),
|
|
31
|
-
created_at: new Date().toISOString(),
|
|
32
|
-
text: AutoBeSystemPromptConstant.INTERFACE_ACTION_ENDPOINT_WRITE,
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
type: "systemMessage",
|
|
36
|
-
id: v7(),
|
|
37
|
-
created_at: new Date().toISOString(),
|
|
38
|
-
text: AutoBeSystemPromptConstant.INTERFACE_ACTION_ENDPOINT_REVIEW,
|
|
39
|
-
},
|
|
40
|
-
...props.preliminary.getHistories(),
|
|
41
|
-
{
|
|
42
|
-
id: v7(),
|
|
43
|
-
type: "assistantMessage",
|
|
44
|
-
text: StringUtil.trim`
|
|
45
|
-
## Base CRUD Endpoints (Reference - Already Exist)
|
|
46
|
-
|
|
47
|
-
These base CRUD endpoints already exist. For reference only:
|
|
48
|
-
|
|
49
|
-
\`\`\`json
|
|
50
|
-
${JSON.stringify(props.baseEndpoints)}
|
|
51
|
-
\`\`\`
|
|
52
|
-
|
|
53
|
-
## Target Group
|
|
54
|
-
|
|
55
|
-
You are reviewing endpoints for the **${props.group.name}** group.
|
|
56
|
-
|
|
57
|
-
- **Description**: ${props.group.description}
|
|
58
|
-
- **Related Database Schemas**: ${props.group.databaseSchemas.join(", ")}
|
|
59
|
-
|
|
60
|
-
${transformInterfaceEndpointAuthorizationSection(props.authorizeOperations)}
|
|
61
|
-
|
|
62
|
-
## Action Endpoint Designs for Review (YOUR TASK)
|
|
63
|
-
|
|
64
|
-
⚠️ CRITICAL: You MUST provide a revision for EVERY endpoint listed below.
|
|
65
|
-
|
|
66
|
-
- Use **keep** to approve endpoints that are correct
|
|
67
|
-
- Use **update** to fix endpoints with issues
|
|
68
|
-
- Use **erase** to remove invalid endpoints
|
|
69
|
-
- Use **create** to add missing endpoints
|
|
70
|
-
|
|
71
|
-
DO NOT omit any endpoint. DO NOT reference endpoints not listed here.
|
|
72
|
-
|
|
73
|
-
\`\`\`json
|
|
74
|
-
${JSON.stringify(props.designs)}
|
|
75
|
-
\`\`\`
|
|
76
|
-
|
|
77
|
-
Review according to the criteria in the system prompt. Call \`process()\` with \`type: "complete"\` containing all \`revises\`.
|
|
78
|
-
`,
|
|
79
|
-
created_at: new Date().toISOString(),
|
|
80
|
-
},
|
|
81
|
-
],
|
|
82
|
-
userMessage: `Review the action endpoints for the ${props.group.name} group and fix any issues found.`,
|
|
83
|
-
});
|
|
1
|
+
import {
|
|
2
|
+
AutoBeInterfaceEndpointDesign,
|
|
3
|
+
AutoBeInterfaceGroup,
|
|
4
|
+
AutoBeOpenApi,
|
|
5
|
+
} from "@autobe/interface";
|
|
6
|
+
import { StringUtil } from "@autobe/utils";
|
|
7
|
+
import { v7 } from "uuid";
|
|
8
|
+
|
|
9
|
+
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
10
|
+
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
11
|
+
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
12
|
+
import { transformInterfaceEndpointAuthorizationSection } from "./transformInterfaceEndpointAuthorizationSection";
|
|
13
|
+
|
|
14
|
+
export const transformInterfaceActionEndpointReviewHistory = (props: {
|
|
15
|
+
preliminary: AutoBePreliminaryController<
|
|
16
|
+
| "analysisSections"
|
|
17
|
+
| "databaseSchemas"
|
|
18
|
+
| "previousAnalysisSections"
|
|
19
|
+
| "previousDatabaseSchemas"
|
|
20
|
+
| "previousInterfaceOperations"
|
|
21
|
+
>;
|
|
22
|
+
designs: AutoBeInterfaceEndpointDesign[];
|
|
23
|
+
baseEndpoints: AutoBeOpenApi.IEndpoint[];
|
|
24
|
+
group: AutoBeInterfaceGroup;
|
|
25
|
+
authorizeOperations: AutoBeOpenApi.IOperation[];
|
|
26
|
+
}): IAutoBeOrchestrateHistory => ({
|
|
27
|
+
histories: [
|
|
28
|
+
{
|
|
29
|
+
type: "systemMessage",
|
|
30
|
+
id: v7(),
|
|
31
|
+
created_at: new Date().toISOString(),
|
|
32
|
+
text: AutoBeSystemPromptConstant.INTERFACE_ACTION_ENDPOINT_WRITE,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
type: "systemMessage",
|
|
36
|
+
id: v7(),
|
|
37
|
+
created_at: new Date().toISOString(),
|
|
38
|
+
text: AutoBeSystemPromptConstant.INTERFACE_ACTION_ENDPOINT_REVIEW,
|
|
39
|
+
},
|
|
40
|
+
...props.preliminary.getHistories(),
|
|
41
|
+
{
|
|
42
|
+
id: v7(),
|
|
43
|
+
type: "assistantMessage",
|
|
44
|
+
text: StringUtil.trim`
|
|
45
|
+
## Base CRUD Endpoints (Reference - Already Exist)
|
|
46
|
+
|
|
47
|
+
These base CRUD endpoints already exist. For reference only:
|
|
48
|
+
|
|
49
|
+
\`\`\`json
|
|
50
|
+
${JSON.stringify(props.baseEndpoints)}
|
|
51
|
+
\`\`\`
|
|
52
|
+
|
|
53
|
+
## Target Group
|
|
54
|
+
|
|
55
|
+
You are reviewing endpoints for the **${props.group.name}** group.
|
|
56
|
+
|
|
57
|
+
- **Description**: ${props.group.description}
|
|
58
|
+
- **Related Database Schemas**: ${props.group.databaseSchemas.join(", ")}
|
|
59
|
+
|
|
60
|
+
${transformInterfaceEndpointAuthorizationSection(props.authorizeOperations)}
|
|
61
|
+
|
|
62
|
+
## Action Endpoint Designs for Review (YOUR TASK)
|
|
63
|
+
|
|
64
|
+
⚠️ CRITICAL: You MUST provide a revision for EVERY endpoint listed below.
|
|
65
|
+
|
|
66
|
+
- Use **keep** to approve endpoints that are correct
|
|
67
|
+
- Use **update** to fix endpoints with issues
|
|
68
|
+
- Use **erase** to remove invalid endpoints
|
|
69
|
+
- Use **create** to add missing endpoints
|
|
70
|
+
|
|
71
|
+
DO NOT omit any endpoint. DO NOT reference endpoints not listed here.
|
|
72
|
+
|
|
73
|
+
\`\`\`json
|
|
74
|
+
${JSON.stringify(props.designs)}
|
|
75
|
+
\`\`\`
|
|
76
|
+
|
|
77
|
+
Review according to the criteria in the system prompt. Call \`process()\` with \`type: "complete"\` containing all \`revises\`.
|
|
78
|
+
`,
|
|
79
|
+
created_at: new Date().toISOString(),
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
userMessage: `Review the action endpoints for the ${props.group.name} group and fix any issues found.`,
|
|
83
|
+
});
|