@autobe/agent 0.30.0-dev.20260315 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,95 +1,95 @@
|
|
|
1
|
-
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
-
import { StringUtil } from "@autobe/utils";
|
|
3
|
-
import { v7 } from "uuid";
|
|
4
|
-
|
|
5
|
-
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
-
import { AutoBeContext } from "../../../context/AutoBeContext";
|
|
7
|
-
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
8
|
-
import { getTestExternalDeclarations } from "../compile/getTestExternalDeclarations";
|
|
9
|
-
import { AutoBeTestPrepareProgrammer } from "../programmers/AutoBeTestPrepareProgrammer";
|
|
10
|
-
|
|
11
|
-
export async function transformTestPrepareWriteHistory(
|
|
12
|
-
ctx: AutoBeContext,
|
|
13
|
-
props: {
|
|
14
|
-
typeName: string;
|
|
15
|
-
schema: AutoBeOpenApi.IJsonSchema.IObject;
|
|
16
|
-
document: AutoBeOpenApi.IDocument;
|
|
17
|
-
instruction: string;
|
|
18
|
-
},
|
|
19
|
-
): Promise<IAutoBeOrchestrateHistory> {
|
|
20
|
-
const dto: Record<string, string> =
|
|
21
|
-
await AutoBeTestPrepareProgrammer.writeStructures(ctx, props.typeName);
|
|
22
|
-
return {
|
|
23
|
-
histories: [
|
|
24
|
-
{
|
|
25
|
-
id: v7(),
|
|
26
|
-
type: "systemMessage",
|
|
27
|
-
created_at: new Date().toISOString(),
|
|
28
|
-
text: AutoBeSystemPromptConstant.TEST_PREPARE_WRITE,
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
id: v7(),
|
|
32
|
-
type: "assistantMessage",
|
|
33
|
-
created_at: new Date().toISOString(),
|
|
34
|
-
text: StringUtil.trim`
|
|
35
|
-
Here is the list of input material composition.
|
|
36
|
-
|
|
37
|
-
Generate a resource preparation function based on the following information.
|
|
38
|
-
|
|
39
|
-
## Instructions
|
|
40
|
-
|
|
41
|
-
The following instructions were extracted from the user's requirements
|
|
42
|
-
and conversations. These instructions may contain specific guidance about
|
|
43
|
-
how generation functions should be implemented, including authentication
|
|
44
|
-
patterns, error handling approaches, and data transformation strategies.
|
|
45
|
-
|
|
46
|
-
Follow these instructions when implementing the generation function.
|
|
47
|
-
Carefully distinguish between:
|
|
48
|
-
|
|
49
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
50
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
${props.instruction}
|
|
54
|
-
|
|
55
|
-
## Function Name
|
|
56
|
-
|
|
57
|
-
You have to make ${AutoBeTestPrepareProgrammer.getFunctionName(props.typeName)} function.
|
|
58
|
-
|
|
59
|
-
## DTO Types
|
|
60
|
-
|
|
61
|
-
Here is the list of DTO types relevant with the ${props.typeName} type:
|
|
62
|
-
|
|
63
|
-
\`\`\`json
|
|
64
|
-
${JSON.stringify(dto)}
|
|
65
|
-
\`\`\`
|
|
66
|
-
|
|
67
|
-
### Properties
|
|
68
|
-
|
|
69
|
-
When you composing ${props.typeName} typed data, you have check those properties:
|
|
70
|
-
|
|
71
|
-
${Object.keys(props.schema.properties)
|
|
72
|
-
.map((s) => `- ${s}`)
|
|
73
|
-
.join("\n")}
|
|
74
|
-
|
|
75
|
-
## External Definitions
|
|
76
|
-
|
|
77
|
-
Here is the external declaration files (d.ts) you can reference.
|
|
78
|
-
|
|
79
|
-
\`\`\`json
|
|
80
|
-
${JSON.stringify(await getTestExternalDeclarations(ctx))}
|
|
81
|
-
\`\`\`
|
|
82
|
-
|
|
83
|
-
## Template Code
|
|
84
|
-
|
|
85
|
-
Here is the template code you have to implement.
|
|
86
|
-
|
|
87
|
-
Reference the template code, and fill the proper code to each property.
|
|
88
|
-
|
|
89
|
-
${AutoBeTestPrepareProgrammer.writeTemplateCode(props)}
|
|
90
|
-
`,
|
|
91
|
-
},
|
|
92
|
-
],
|
|
93
|
-
userMessage: "Generate the test data preparation function for this DTO.",
|
|
94
|
-
};
|
|
95
|
-
}
|
|
1
|
+
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
+
import { StringUtil } from "@autobe/utils";
|
|
3
|
+
import { v7 } from "uuid";
|
|
4
|
+
|
|
5
|
+
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
+
import { AutoBeContext } from "../../../context/AutoBeContext";
|
|
7
|
+
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
8
|
+
import { getTestExternalDeclarations } from "../compile/getTestExternalDeclarations";
|
|
9
|
+
import { AutoBeTestPrepareProgrammer } from "../programmers/AutoBeTestPrepareProgrammer";
|
|
10
|
+
|
|
11
|
+
export async function transformTestPrepareWriteHistory(
|
|
12
|
+
ctx: AutoBeContext,
|
|
13
|
+
props: {
|
|
14
|
+
typeName: string;
|
|
15
|
+
schema: AutoBeOpenApi.IJsonSchema.IObject;
|
|
16
|
+
document: AutoBeOpenApi.IDocument;
|
|
17
|
+
instruction: string;
|
|
18
|
+
},
|
|
19
|
+
): Promise<IAutoBeOrchestrateHistory> {
|
|
20
|
+
const dto: Record<string, string> =
|
|
21
|
+
await AutoBeTestPrepareProgrammer.writeStructures(ctx, props.typeName);
|
|
22
|
+
return {
|
|
23
|
+
histories: [
|
|
24
|
+
{
|
|
25
|
+
id: v7(),
|
|
26
|
+
type: "systemMessage",
|
|
27
|
+
created_at: new Date().toISOString(),
|
|
28
|
+
text: AutoBeSystemPromptConstant.TEST_PREPARE_WRITE,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: v7(),
|
|
32
|
+
type: "assistantMessage",
|
|
33
|
+
created_at: new Date().toISOString(),
|
|
34
|
+
text: StringUtil.trim`
|
|
35
|
+
Here is the list of input material composition.
|
|
36
|
+
|
|
37
|
+
Generate a resource preparation function based on the following information.
|
|
38
|
+
|
|
39
|
+
## Instructions
|
|
40
|
+
|
|
41
|
+
The following instructions were extracted from the user's requirements
|
|
42
|
+
and conversations. These instructions may contain specific guidance about
|
|
43
|
+
how generation functions should be implemented, including authentication
|
|
44
|
+
patterns, error handling approaches, and data transformation strategies.
|
|
45
|
+
|
|
46
|
+
Follow these instructions when implementing the generation function.
|
|
47
|
+
Carefully distinguish between:
|
|
48
|
+
|
|
49
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
50
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
${props.instruction}
|
|
54
|
+
|
|
55
|
+
## Function Name
|
|
56
|
+
|
|
57
|
+
You have to make ${AutoBeTestPrepareProgrammer.getFunctionName(props.typeName)} function.
|
|
58
|
+
|
|
59
|
+
## DTO Types
|
|
60
|
+
|
|
61
|
+
Here is the list of DTO types relevant with the ${props.typeName} type:
|
|
62
|
+
|
|
63
|
+
\`\`\`json
|
|
64
|
+
${JSON.stringify(dto)}
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
### Properties
|
|
68
|
+
|
|
69
|
+
When you composing ${props.typeName} typed data, you have check those properties:
|
|
70
|
+
|
|
71
|
+
${Object.keys(props.schema.properties)
|
|
72
|
+
.map((s) => `- ${s}`)
|
|
73
|
+
.join("\n")}
|
|
74
|
+
|
|
75
|
+
## External Definitions
|
|
76
|
+
|
|
77
|
+
Here is the external declaration files (d.ts) you can reference.
|
|
78
|
+
|
|
79
|
+
\`\`\`json
|
|
80
|
+
${JSON.stringify(await getTestExternalDeclarations(ctx))}
|
|
81
|
+
\`\`\`
|
|
82
|
+
|
|
83
|
+
## Template Code
|
|
84
|
+
|
|
85
|
+
Here is the template code you have to implement.
|
|
86
|
+
|
|
87
|
+
Reference the template code, and fill the proper code to each property.
|
|
88
|
+
|
|
89
|
+
${AutoBeTestPrepareProgrammer.writeTemplateCode(props)}
|
|
90
|
+
`,
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
userMessage: "Generate the test data preparation function for this DTO.",
|
|
94
|
+
};
|
|
95
|
+
}
|
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
import { AutoBeInterfaceAuthorization, AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
-
import { MapUtil, StringUtil } from "@autobe/utils";
|
|
3
|
-
import { v7 } from "uuid";
|
|
4
|
-
|
|
5
|
-
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
-
import { AutoBeState } from "../../../context/AutoBeState";
|
|
7
|
-
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
8
|
-
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
9
|
-
import { IAutoBeTestScenarioAuthorizationActor } from "../structures/IAutoBeTestScenarioAuthorizationActor";
|
|
10
|
-
import { getPrerequisites } from "../utils/getPrerequisites";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Transform test scenario generation context into conversational history.
|
|
14
|
-
*
|
|
15
|
-
* Following the InterfacePrerequisite pattern:
|
|
16
|
-
*
|
|
17
|
-
* - Provides system prompts
|
|
18
|
-
* - Provides preliminary data histories
|
|
19
|
-
* - Provides single target operation
|
|
20
|
-
* - Provides prerequisites for the operation
|
|
21
|
-
* - Provides authorization actors
|
|
22
|
-
*
|
|
23
|
-
* @param props - Configuration for history transformation
|
|
24
|
-
* @returns Complete conversation history ready for LLM agent processing
|
|
25
|
-
*/
|
|
26
|
-
export const transformTestScenarioHistory = (props: {
|
|
27
|
-
state: AutoBeState;
|
|
28
|
-
operation: AutoBeOpenApi.IOperation;
|
|
29
|
-
preliminary: AutoBePreliminaryController<
|
|
30
|
-
"analysisSections" | "interfaceOperations" | "interfaceSchemas"
|
|
31
|
-
>;
|
|
32
|
-
instruction: string;
|
|
33
|
-
}): IAutoBeOrchestrateHistory => {
|
|
34
|
-
const document: AutoBeOpenApi.IDocument = props.state.interface!.document!;
|
|
35
|
-
const authorizations: AutoBeInterfaceAuthorization[] =
|
|
36
|
-
props.state.interface?.authorizations ?? [];
|
|
37
|
-
const authorizationActors: Map<
|
|
38
|
-
string,
|
|
39
|
-
IAutoBeTestScenarioAuthorizationActor
|
|
40
|
-
> = new Map();
|
|
41
|
-
|
|
42
|
-
for (const authorization of authorizations) {
|
|
43
|
-
for (const op of authorization.operations) {
|
|
44
|
-
if (op.authorizationType === null) continue;
|
|
45
|
-
const value: IAutoBeTestScenarioAuthorizationActor = MapUtil.take(
|
|
46
|
-
authorizationActors,
|
|
47
|
-
authorization.name,
|
|
48
|
-
() => ({
|
|
49
|
-
name: authorization.name,
|
|
50
|
-
join: null,
|
|
51
|
-
login: null,
|
|
52
|
-
}),
|
|
53
|
-
);
|
|
54
|
-
if (op.authorizationType === "join") value.join = op;
|
|
55
|
-
else if (op.authorizationType === "login") value.login = op;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Find authorization actor for this operation
|
|
60
|
-
const operationAuthorizationActors = Array.from(
|
|
61
|
-
authorizationActors.values(),
|
|
62
|
-
).filter((actor) => actor.name === props.operation.authorizationActor);
|
|
63
|
-
|
|
64
|
-
return {
|
|
65
|
-
histories: [
|
|
66
|
-
{
|
|
67
|
-
id: v7(),
|
|
68
|
-
created_at: new Date().toISOString(),
|
|
69
|
-
type: "systemMessage",
|
|
70
|
-
text: AutoBeSystemPromptConstant.TEST_SCENARIO,
|
|
71
|
-
},
|
|
72
|
-
...props.preliminary.getHistories(),
|
|
73
|
-
{
|
|
74
|
-
id: v7(),
|
|
75
|
-
created_at: new Date().toISOString(),
|
|
76
|
-
type: "assistantMessage",
|
|
77
|
-
text: StringUtil.trim`
|
|
78
|
-
## Instructions
|
|
79
|
-
|
|
80
|
-
The following e2e-test-specific instructions were extracted from
|
|
81
|
-
the user's requirements and conversations. These instructions focus
|
|
82
|
-
exclusively on test-related aspects such as test coverage priorities,
|
|
83
|
-
specific edge cases to validate, business logic verification strategies,
|
|
84
|
-
and critical user workflows that must be tested.
|
|
85
|
-
|
|
86
|
-
Follow these instructions when generating test scenario.
|
|
87
|
-
Carefully distinguish between:
|
|
88
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
89
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
90
|
-
|
|
91
|
-
When instructions contain direct specifications or explicit design decisions,
|
|
92
|
-
follow them precisely even if you believe you have better alternatives.
|
|
93
|
-
|
|
94
|
-
${props.instruction}
|
|
95
|
-
|
|
96
|
-
## Target Operation
|
|
97
|
-
|
|
98
|
-
Single operation requiring test scenario generation.
|
|
99
|
-
|
|
100
|
-
Generate 1-3 focused test scenarios for this operation that validate
|
|
101
|
-
the most critical business workflows. Focus on primary success paths
|
|
102
|
-
and important edge cases.
|
|
103
|
-
|
|
104
|
-
\`\`\`json
|
|
105
|
-
${JSON.stringify({
|
|
106
|
-
operation: props.operation,
|
|
107
|
-
prerequisites: getPrerequisites({
|
|
108
|
-
endpoint: props.operation,
|
|
109
|
-
document,
|
|
110
|
-
}),
|
|
111
|
-
authorizationActors: operationAuthorizationActors,
|
|
112
|
-
})}
|
|
113
|
-
\`\`\`
|
|
114
|
-
|
|
115
|
-
`,
|
|
116
|
-
},
|
|
117
|
-
],
|
|
118
|
-
userMessage: "Design test scenarios for the target operation please",
|
|
119
|
-
};
|
|
120
|
-
};
|
|
1
|
+
import { AutoBeInterfaceAuthorization, AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
+
import { MapUtil, StringUtil } from "@autobe/utils";
|
|
3
|
+
import { v7 } from "uuid";
|
|
4
|
+
|
|
5
|
+
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
+
import { AutoBeState } from "../../../context/AutoBeState";
|
|
7
|
+
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
8
|
+
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
9
|
+
import { IAutoBeTestScenarioAuthorizationActor } from "../structures/IAutoBeTestScenarioAuthorizationActor";
|
|
10
|
+
import { getPrerequisites } from "../utils/getPrerequisites";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Transform test scenario generation context into conversational history.
|
|
14
|
+
*
|
|
15
|
+
* Following the InterfacePrerequisite pattern:
|
|
16
|
+
*
|
|
17
|
+
* - Provides system prompts
|
|
18
|
+
* - Provides preliminary data histories
|
|
19
|
+
* - Provides single target operation
|
|
20
|
+
* - Provides prerequisites for the operation
|
|
21
|
+
* - Provides authorization actors
|
|
22
|
+
*
|
|
23
|
+
* @param props - Configuration for history transformation
|
|
24
|
+
* @returns Complete conversation history ready for LLM agent processing
|
|
25
|
+
*/
|
|
26
|
+
export const transformTestScenarioHistory = (props: {
|
|
27
|
+
state: AutoBeState;
|
|
28
|
+
operation: AutoBeOpenApi.IOperation;
|
|
29
|
+
preliminary: AutoBePreliminaryController<
|
|
30
|
+
"analysisSections" | "interfaceOperations" | "interfaceSchemas"
|
|
31
|
+
>;
|
|
32
|
+
instruction: string;
|
|
33
|
+
}): IAutoBeOrchestrateHistory => {
|
|
34
|
+
const document: AutoBeOpenApi.IDocument = props.state.interface!.document!;
|
|
35
|
+
const authorizations: AutoBeInterfaceAuthorization[] =
|
|
36
|
+
props.state.interface?.authorizations ?? [];
|
|
37
|
+
const authorizationActors: Map<
|
|
38
|
+
string,
|
|
39
|
+
IAutoBeTestScenarioAuthorizationActor
|
|
40
|
+
> = new Map();
|
|
41
|
+
|
|
42
|
+
for (const authorization of authorizations) {
|
|
43
|
+
for (const op of authorization.operations) {
|
|
44
|
+
if (op.authorizationType === null) continue;
|
|
45
|
+
const value: IAutoBeTestScenarioAuthorizationActor = MapUtil.take(
|
|
46
|
+
authorizationActors,
|
|
47
|
+
authorization.name,
|
|
48
|
+
() => ({
|
|
49
|
+
name: authorization.name,
|
|
50
|
+
join: null,
|
|
51
|
+
login: null,
|
|
52
|
+
}),
|
|
53
|
+
);
|
|
54
|
+
if (op.authorizationType === "join") value.join = op;
|
|
55
|
+
else if (op.authorizationType === "login") value.login = op;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Find authorization actor for this operation
|
|
60
|
+
const operationAuthorizationActors = Array.from(
|
|
61
|
+
authorizationActors.values(),
|
|
62
|
+
).filter((actor) => actor.name === props.operation.authorizationActor);
|
|
63
|
+
|
|
64
|
+
return {
|
|
65
|
+
histories: [
|
|
66
|
+
{
|
|
67
|
+
id: v7(),
|
|
68
|
+
created_at: new Date().toISOString(),
|
|
69
|
+
type: "systemMessage",
|
|
70
|
+
text: AutoBeSystemPromptConstant.TEST_SCENARIO,
|
|
71
|
+
},
|
|
72
|
+
...props.preliminary.getHistories(),
|
|
73
|
+
{
|
|
74
|
+
id: v7(),
|
|
75
|
+
created_at: new Date().toISOString(),
|
|
76
|
+
type: "assistantMessage",
|
|
77
|
+
text: StringUtil.trim`
|
|
78
|
+
## Instructions
|
|
79
|
+
|
|
80
|
+
The following e2e-test-specific instructions were extracted from
|
|
81
|
+
the user's requirements and conversations. These instructions focus
|
|
82
|
+
exclusively on test-related aspects such as test coverage priorities,
|
|
83
|
+
specific edge cases to validate, business logic verification strategies,
|
|
84
|
+
and critical user workflows that must be tested.
|
|
85
|
+
|
|
86
|
+
Follow these instructions when generating test scenario.
|
|
87
|
+
Carefully distinguish between:
|
|
88
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
89
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
90
|
+
|
|
91
|
+
When instructions contain direct specifications or explicit design decisions,
|
|
92
|
+
follow them precisely even if you believe you have better alternatives.
|
|
93
|
+
|
|
94
|
+
${props.instruction}
|
|
95
|
+
|
|
96
|
+
## Target Operation
|
|
97
|
+
|
|
98
|
+
Single operation requiring test scenario generation.
|
|
99
|
+
|
|
100
|
+
Generate 1-3 focused test scenarios for this operation that validate
|
|
101
|
+
the most critical business workflows. Focus on primary success paths
|
|
102
|
+
and important edge cases.
|
|
103
|
+
|
|
104
|
+
\`\`\`json
|
|
105
|
+
${JSON.stringify({
|
|
106
|
+
operation: props.operation,
|
|
107
|
+
prerequisites: getPrerequisites({
|
|
108
|
+
endpoint: props.operation,
|
|
109
|
+
document,
|
|
110
|
+
}),
|
|
111
|
+
authorizationActors: operationAuthorizationActors,
|
|
112
|
+
})}
|
|
113
|
+
\`\`\`
|
|
114
|
+
|
|
115
|
+
`,
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
userMessage: "Design test scenarios for the target operation please",
|
|
119
|
+
};
|
|
120
|
+
};
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
import { AutoBeOpenApi, AutoBeTestScenario } from "@autobe/interface";
|
|
2
|
-
import { StringUtil } from "@autobe/utils";
|
|
3
|
-
import { v7 } from "uuid";
|
|
4
|
-
|
|
5
|
-
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
-
import { AutoBeState } from "../../../context/AutoBeState";
|
|
7
|
-
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
8
|
-
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
9
|
-
import { getPrerequisites } from "../utils/getPrerequisites";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Transform test scenario review context into conversational history.
|
|
13
|
-
*
|
|
14
|
-
* Creates the complete conversation history for reviewing a single test
|
|
15
|
-
* scenario, including system prompts, user instructions, and the scenario to be
|
|
16
|
-
* reviewed.
|
|
17
|
-
*
|
|
18
|
-
* @param props - Configuration for history transformation
|
|
19
|
-
* @param props.state - Current AutoBe state containing interface document
|
|
20
|
-
* @param props.instruction - E2E-test-specific instructions from user
|
|
21
|
-
* requirements
|
|
22
|
-
* @param props.scenario - Single test scenario to review and potentially
|
|
23
|
-
* improve
|
|
24
|
-
* @param props.preliminary - Controller for RAG-based preliminary data requests
|
|
25
|
-
* @returns Complete conversation history ready for LLM agent processing
|
|
26
|
-
*/
|
|
27
|
-
export function transformTestScenarioReviewHistory(props: {
|
|
28
|
-
state: AutoBeState;
|
|
29
|
-
instruction: string;
|
|
30
|
-
scenario: AutoBeTestScenario;
|
|
31
|
-
preliminary: AutoBePreliminaryController<
|
|
32
|
-
"analysisSections" | "interfaceOperations" | "interfaceSchemas"
|
|
33
|
-
>;
|
|
34
|
-
}): IAutoBeOrchestrateHistory {
|
|
35
|
-
const document: AutoBeOpenApi.IDocument | undefined =
|
|
36
|
-
props.state.interface?.document;
|
|
37
|
-
if (document === undefined) {
|
|
38
|
-
throw new Error(
|
|
39
|
-
"Cannot review test scenarios because there are no operations.",
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
return {
|
|
43
|
-
histories: [
|
|
44
|
-
{
|
|
45
|
-
id: v7(),
|
|
46
|
-
created_at: new Date().toISOString(),
|
|
47
|
-
type: "systemMessage",
|
|
48
|
-
text: AutoBeSystemPromptConstant.TEST_SCENARIO,
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
id: v7(),
|
|
52
|
-
created_at: new Date().toISOString(),
|
|
53
|
-
type: "systemMessage",
|
|
54
|
-
text: AutoBeSystemPromptConstant.TEST_SCENARIO_REVIEW,
|
|
55
|
-
},
|
|
56
|
-
...props.preliminary.getHistories(),
|
|
57
|
-
{
|
|
58
|
-
id: v7(),
|
|
59
|
-
created_at: new Date().toISOString(),
|
|
60
|
-
type: "assistantMessage",
|
|
61
|
-
text: StringUtil.trim`
|
|
62
|
-
## Instructions
|
|
63
|
-
|
|
64
|
-
The following e2e-test-specific instructions were extracted from
|
|
65
|
-
the user's requirements and conversations. These instructions focus
|
|
66
|
-
exclusively on test-related aspects such as test coverage priorities,
|
|
67
|
-
specific edge cases to validate, business logic verification strategies,
|
|
68
|
-
and critical user workflows that must be tested.
|
|
69
|
-
|
|
70
|
-
Follow these instructions when reviewing test scenarios.
|
|
71
|
-
Carefully distinguish between:
|
|
72
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
73
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
74
|
-
|
|
75
|
-
When instructions contain direct specifications or explicit design decisions,
|
|
76
|
-
follow them precisely even if you believe you have better alternatives.
|
|
77
|
-
|
|
78
|
-
${props.instruction}
|
|
79
|
-
|
|
80
|
-
## Test Scenario to Review
|
|
81
|
-
|
|
82
|
-
The following test scenario needs to be reviewed for quality and correctness.
|
|
83
|
-
Prerequisites are provided for reference to validate dependency completeness.
|
|
84
|
-
|
|
85
|
-
\`\`\`json
|
|
86
|
-
${JSON.stringify({
|
|
87
|
-
scenario: props.scenario,
|
|
88
|
-
prerequisites: getPrerequisites({
|
|
89
|
-
document,
|
|
90
|
-
endpoint: props.scenario.endpoint,
|
|
91
|
-
}),
|
|
92
|
-
})}
|
|
93
|
-
\`\`\`
|
|
94
|
-
`,
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
userMessage: "Review the test scenarios please",
|
|
98
|
-
};
|
|
99
|
-
}
|
|
1
|
+
import { AutoBeOpenApi, AutoBeTestScenario } from "@autobe/interface";
|
|
2
|
+
import { StringUtil } from "@autobe/utils";
|
|
3
|
+
import { v7 } from "uuid";
|
|
4
|
+
|
|
5
|
+
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
+
import { AutoBeState } from "../../../context/AutoBeState";
|
|
7
|
+
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
8
|
+
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
9
|
+
import { getPrerequisites } from "../utils/getPrerequisites";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Transform test scenario review context into conversational history.
|
|
13
|
+
*
|
|
14
|
+
* Creates the complete conversation history for reviewing a single test
|
|
15
|
+
* scenario, including system prompts, user instructions, and the scenario to be
|
|
16
|
+
* reviewed.
|
|
17
|
+
*
|
|
18
|
+
* @param props - Configuration for history transformation
|
|
19
|
+
* @param props.state - Current AutoBe state containing interface document
|
|
20
|
+
* @param props.instruction - E2E-test-specific instructions from user
|
|
21
|
+
* requirements
|
|
22
|
+
* @param props.scenario - Single test scenario to review and potentially
|
|
23
|
+
* improve
|
|
24
|
+
* @param props.preliminary - Controller for RAG-based preliminary data requests
|
|
25
|
+
* @returns Complete conversation history ready for LLM agent processing
|
|
26
|
+
*/
|
|
27
|
+
export function transformTestScenarioReviewHistory(props: {
|
|
28
|
+
state: AutoBeState;
|
|
29
|
+
instruction: string;
|
|
30
|
+
scenario: AutoBeTestScenario;
|
|
31
|
+
preliminary: AutoBePreliminaryController<
|
|
32
|
+
"analysisSections" | "interfaceOperations" | "interfaceSchemas"
|
|
33
|
+
>;
|
|
34
|
+
}): IAutoBeOrchestrateHistory {
|
|
35
|
+
const document: AutoBeOpenApi.IDocument | undefined =
|
|
36
|
+
props.state.interface?.document;
|
|
37
|
+
if (document === undefined) {
|
|
38
|
+
throw new Error(
|
|
39
|
+
"Cannot review test scenarios because there are no operations.",
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
histories: [
|
|
44
|
+
{
|
|
45
|
+
id: v7(),
|
|
46
|
+
created_at: new Date().toISOString(),
|
|
47
|
+
type: "systemMessage",
|
|
48
|
+
text: AutoBeSystemPromptConstant.TEST_SCENARIO,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: v7(),
|
|
52
|
+
created_at: new Date().toISOString(),
|
|
53
|
+
type: "systemMessage",
|
|
54
|
+
text: AutoBeSystemPromptConstant.TEST_SCENARIO_REVIEW,
|
|
55
|
+
},
|
|
56
|
+
...props.preliminary.getHistories(),
|
|
57
|
+
{
|
|
58
|
+
id: v7(),
|
|
59
|
+
created_at: new Date().toISOString(),
|
|
60
|
+
type: "assistantMessage",
|
|
61
|
+
text: StringUtil.trim`
|
|
62
|
+
## Instructions
|
|
63
|
+
|
|
64
|
+
The following e2e-test-specific instructions were extracted from
|
|
65
|
+
the user's requirements and conversations. These instructions focus
|
|
66
|
+
exclusively on test-related aspects such as test coverage priorities,
|
|
67
|
+
specific edge cases to validate, business logic verification strategies,
|
|
68
|
+
and critical user workflows that must be tested.
|
|
69
|
+
|
|
70
|
+
Follow these instructions when reviewing test scenarios.
|
|
71
|
+
Carefully distinguish between:
|
|
72
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
73
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
74
|
+
|
|
75
|
+
When instructions contain direct specifications or explicit design decisions,
|
|
76
|
+
follow them precisely even if you believe you have better alternatives.
|
|
77
|
+
|
|
78
|
+
${props.instruction}
|
|
79
|
+
|
|
80
|
+
## Test Scenario to Review
|
|
81
|
+
|
|
82
|
+
The following test scenario needs to be reviewed for quality and correctness.
|
|
83
|
+
Prerequisites are provided for reference to validate dependency completeness.
|
|
84
|
+
|
|
85
|
+
\`\`\`json
|
|
86
|
+
${JSON.stringify({
|
|
87
|
+
scenario: props.scenario,
|
|
88
|
+
prerequisites: getPrerequisites({
|
|
89
|
+
document,
|
|
90
|
+
endpoint: props.scenario.endpoint,
|
|
91
|
+
}),
|
|
92
|
+
})}
|
|
93
|
+
\`\`\`
|
|
94
|
+
`,
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
userMessage: "Review the test scenarios please",
|
|
98
|
+
};
|
|
99
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AutoBeTestValidateEvent } from "@autobe/interface";
|
|
2
|
-
|
|
3
|
-
import { IAutoBeTestProcedure } from "../structures/IAutoBeTestProcedure";
|
|
4
|
-
|
|
5
|
-
export const transformTestValidateEvent = <T extends IAutoBeTestProcedure>(
|
|
6
|
-
event: AutoBeTestValidateEvent,
|
|
7
|
-
item: T,
|
|
8
|
-
): T => ({
|
|
9
|
-
...item,
|
|
10
|
-
operationFunction: event.function,
|
|
11
|
-
});
|
|
1
|
+
import { AutoBeTestValidateEvent } from "@autobe/interface";
|
|
2
|
+
|
|
3
|
+
import { IAutoBeTestProcedure } from "../structures/IAutoBeTestProcedure";
|
|
4
|
+
|
|
5
|
+
export const transformTestValidateEvent = <T extends IAutoBeTestProcedure>(
|
|
6
|
+
event: AutoBeTestValidateEvent,
|
|
7
|
+
item: T,
|
|
8
|
+
): T => ({
|
|
9
|
+
...item,
|
|
10
|
+
operationFunction: event.function,
|
|
11
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from "./orchestrateTestScenario";
|
|
2
|
-
export * from "./orchestrateTestAuthorize";
|
|
3
|
-
export * from "./orchestrateTestPrepare";
|
|
4
|
-
export * from "./orchestrateTestGenerate";
|
|
5
|
-
export * from "./orchestrateTestOperation";
|
|
1
|
+
export * from "./orchestrateTestScenario";
|
|
2
|
+
export * from "./orchestrateTestAuthorize";
|
|
3
|
+
export * from "./orchestrateTestPrepare";
|
|
4
|
+
export * from "./orchestrateTestGenerate";
|
|
5
|
+
export * from "./orchestrateTestOperation";
|