@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,287 +1,287 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AutoBeTestAuthorizeFunction,
|
|
3
|
-
AutoBeTestGenerateFunction,
|
|
4
|
-
AutoBeTestScenario,
|
|
5
|
-
IAutoBeCompiler,
|
|
6
|
-
} from "@autobe/interface";
|
|
7
|
-
import { StringUtil, transformOpenApiDocument } from "@autobe/utils";
|
|
8
|
-
import { IHttpMigrateApplication } from "@typia/interface";
|
|
9
|
-
import { HttpMigration } from "@typia/utils";
|
|
10
|
-
import { Singleton } from "tstl";
|
|
11
|
-
import typia, { OpenApi } from "typia";
|
|
12
|
-
import { v7 } from "uuid";
|
|
13
|
-
|
|
14
|
-
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
15
|
-
import { AutoBeContext } from "../../../context/AutoBeContext";
|
|
16
|
-
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
17
|
-
import { getTestExternalDeclarations } from "../compile/getTestExternalDeclarations";
|
|
18
|
-
import { AutoBeTestOperationProgrammer } from "../programmers/AutoBeTestOperationProgrammer";
|
|
19
|
-
import { IAutoBeTestScenarioArtifacts } from "../structures/IAutoBeTestScenarioArtifacts";
|
|
20
|
-
|
|
21
|
-
export async function transformTestOperationWriteHistory(
|
|
22
|
-
ctx: AutoBeContext,
|
|
23
|
-
props: {
|
|
24
|
-
instruction: string;
|
|
25
|
-
scenario: AutoBeTestScenario;
|
|
26
|
-
artifacts: IAutoBeTestScenarioArtifacts;
|
|
27
|
-
authorizationFunctions: AutoBeTestAuthorizeFunction[];
|
|
28
|
-
generationFunctions: AutoBeTestGenerateFunction[];
|
|
29
|
-
},
|
|
30
|
-
): Promise<IAutoBeOrchestrateHistory> {
|
|
31
|
-
const functions: (
|
|
32
|
-
| AutoBeTestAuthorizeFunction
|
|
33
|
-
| AutoBeTestGenerateFunction
|
|
34
|
-
)[] = [...props.authorizationFunctions, ...props.generationFunctions];
|
|
35
|
-
return {
|
|
36
|
-
histories: [
|
|
37
|
-
{
|
|
38
|
-
id: v7(),
|
|
39
|
-
created_at: new Date().toISOString(),
|
|
40
|
-
type: "systemMessage",
|
|
41
|
-
text: systemPrompt.get(),
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
id: v7(),
|
|
45
|
-
created_at: new Date().toISOString(),
|
|
46
|
-
type: "assistantMessage",
|
|
47
|
-
text: StringUtil.trim`
|
|
48
|
-
Here is the list of input material composition.
|
|
49
|
-
|
|
50
|
-
Make e2e test functions based on the following information.
|
|
51
|
-
|
|
52
|
-
## Instructions
|
|
53
|
-
|
|
54
|
-
The following e2e-test-specific instructions were extracted from
|
|
55
|
-
the user's requirements and conversations. These instructions focus
|
|
56
|
-
exclusively on test-related aspects such as test data generation strategies,
|
|
57
|
-
assertion patterns, error handling approaches, and specific validation logic
|
|
58
|
-
that should be implemented in the test code.
|
|
59
|
-
|
|
60
|
-
Follow these instructions when implementing the e2e test function.
|
|
61
|
-
Carefully distinguish between:
|
|
62
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
63
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
64
|
-
|
|
65
|
-
When instructions contain direct specifications or explicit design decisions,
|
|
66
|
-
follow them precisely even if you believe you have better alternatives.
|
|
67
|
-
|
|
68
|
-
${props.instruction}
|
|
69
|
-
|
|
70
|
-
## Function Name
|
|
71
|
-
|
|
72
|
-
The e2e test function name must be ${JSON.stringify(props.scenario.functionName)}.
|
|
73
|
-
|
|
74
|
-
## Scenario Plan
|
|
75
|
-
|
|
76
|
-
Here is the scenario plan what you have to implement.
|
|
77
|
-
|
|
78
|
-
\`\`\`json
|
|
79
|
-
${JSON.stringify(props.scenario)}
|
|
80
|
-
\`\`\`
|
|
81
|
-
|
|
82
|
-
## DTO Definitions
|
|
83
|
-
|
|
84
|
-
You can use these DTO definitions.
|
|
85
|
-
|
|
86
|
-
Never use the DTO definitions that are not listed here.
|
|
87
|
-
|
|
88
|
-
${await transformTestOperationWriteHistory.structures(ctx, props.artifacts)}
|
|
89
|
-
|
|
90
|
-
## API (SDK) Functions
|
|
91
|
-
|
|
92
|
-
You can use these API functions.
|
|
93
|
-
|
|
94
|
-
Never use the functions that are not listed here.
|
|
95
|
-
|
|
96
|
-
${transformTestOperationWriteHistory.functional(props.artifacts, functions)}
|
|
97
|
-
|
|
98
|
-
## E2E Mockup Functions
|
|
99
|
-
|
|
100
|
-
Just reference, and never follow this code as it is.
|
|
101
|
-
|
|
102
|
-
\`\`\`json
|
|
103
|
-
${JSON.stringify(props.artifacts.e2e)}
|
|
104
|
-
\`\`\`
|
|
105
|
-
|
|
106
|
-
## Available Utility Functions
|
|
107
|
-
|
|
108
|
-
${
|
|
109
|
-
functions.length > 0
|
|
110
|
-
? StringUtil.trim`
|
|
111
|
-
🚨 **CRITICAL: UTILITY FUNCTIONS HAVE ABSOLUTE PRIORITY OVER SDK FUNCTIONS** 🚨
|
|
112
|
-
|
|
113
|
-
When calling an API endpoint, you MUST:
|
|
114
|
-
1. **FIRST**: Check if a utility function exists for that endpoint (match by METHOD + PATH)
|
|
115
|
-
2. **SECOND**: Only if NO utility function exists, use SDK function (\`api.functional.*\`)
|
|
116
|
-
|
|
117
|
-
**ABSOLUTE RULE**: If a utility function is provided for an endpoint below, you **MUST** use that utility function.
|
|
118
|
-
Using \`api.functional.*\` directly for an endpoint that has a utility function is **FORBIDDEN**.
|
|
119
|
-
|
|
120
|
-
### Authorization Functions
|
|
121
|
-
Use these to authenticate users. They update the connection's headers internally.
|
|
122
|
-
**You MUST create a NEW connection object** with \`{ host: connection.host }\` and pass it to the authorize function.
|
|
123
|
-
|
|
124
|
-
**MANDATORY Pattern:**
|
|
125
|
-
\`\`\`typescript
|
|
126
|
-
const adminConnection: api.IConnection = { host: connection.host };
|
|
127
|
-
await authorize_admin_login(adminConnection, { body: {...} });
|
|
128
|
-
// adminConnection.headers is now updated internally by authorize function
|
|
129
|
-
// Use adminConnection for all subsequent API calls
|
|
130
|
-
\`\`\`
|
|
131
|
-
|
|
132
|
-
| Function Name | Endpoint | Actor |
|
|
133
|
-
|---------------|----------|-------|
|
|
134
|
-
${props.authorizationFunctions
|
|
135
|
-
.map(
|
|
136
|
-
(f) =>
|
|
137
|
-
`| \`${f.name}\` | \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\` | ${f.actor} |`,
|
|
138
|
-
)
|
|
139
|
-
.join("\n")}
|
|
140
|
-
|
|
141
|
-
${props.authorizationFunctions
|
|
142
|
-
.map(
|
|
143
|
-
(f) => StringUtil.trim`
|
|
144
|
-
#### ${f.name}
|
|
145
|
-
- **Endpoint**: \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`
|
|
146
|
-
- **Actor**: ${f.actor}
|
|
147
|
-
- **Auth Type**: ${f.authType}
|
|
148
|
-
- **Usage**: Call function, then create NEW connection with token from result
|
|
149
|
-
- ⚠️ **Do NOT use \`api.functional.*\` for \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`** - use this function instead
|
|
150
|
-
|
|
151
|
-
\`\`\`typescript
|
|
152
|
-
${f.content}
|
|
153
|
-
\`\`\`
|
|
154
|
-
`,
|
|
155
|
-
)
|
|
156
|
-
.join("\n\n")}
|
|
157
|
-
|
|
158
|
-
### Generation Functions
|
|
159
|
-
|
|
160
|
-
Use these to create test resources. They handle data preparation and API calls internally.
|
|
161
|
-
**Pass actor-specific connection** (e.g., \`userConnection\`), NOT base \`connection\`.
|
|
162
|
-
|
|
163
|
-
| Function Name | Endpoint |
|
|
164
|
-
|---------------|----------|
|
|
165
|
-
${props.generationFunctions
|
|
166
|
-
.map(
|
|
167
|
-
(f) =>
|
|
168
|
-
`| \`${f.name}\` | \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\` |`,
|
|
169
|
-
)
|
|
170
|
-
.join("\n")}
|
|
171
|
-
|
|
172
|
-
${props.generationFunctions
|
|
173
|
-
.map(
|
|
174
|
-
(f) => StringUtil.trim`
|
|
175
|
-
#### ${f.name}
|
|
176
|
-
- **Endpoint**: \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`
|
|
177
|
-
- **Usage**: \`await ${f.name}(userConnection, { ... })\` - pass actor-specific connection
|
|
178
|
-
- ⚠️ **Do NOT use \`api.functional.*\` for \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`** - use this function instead
|
|
179
|
-
|
|
180
|
-
\`\`\`typescript
|
|
181
|
-
${f.content}
|
|
182
|
-
\`\`\`
|
|
183
|
-
`,
|
|
184
|
-
)
|
|
185
|
-
.join("\n\n")}
|
|
186
|
-
`
|
|
187
|
-
: StringUtil.trim`
|
|
188
|
-
No utility functions are available for this test scenario.
|
|
189
|
-
You will need to handle authentication and data creation directly using the API SDK functions.
|
|
190
|
-
`
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
## External Definitions
|
|
194
|
-
|
|
195
|
-
Here is the external declaration files (d.ts) you can reference.
|
|
196
|
-
|
|
197
|
-
\`\`\`json
|
|
198
|
-
${JSON.stringify(await getTestExternalDeclarations(ctx))}
|
|
199
|
-
\`\`\`
|
|
200
|
-
|
|
201
|
-
## Template Code
|
|
202
|
-
|
|
203
|
-
Here is the template e2e test code what you must follow.
|
|
204
|
-
|
|
205
|
-
You're only allowed to modify the "<SCENARIO DESCRIPTION HERE>" and
|
|
206
|
-
code inside the function block marked as "// <E2E TEST CODE HERE>".
|
|
207
|
-
Change the template code by writing your scenario description to the
|
|
208
|
-
comment, and filling your implementation logic into the function.
|
|
209
|
-
|
|
210
|
-
Note that, you don't need to add any "import" statement more than
|
|
211
|
-
this template code. Everything you need is already imported, so
|
|
212
|
-
make your implementation code in the import scope.
|
|
213
|
-
|
|
214
|
-
\`\`\`typescript
|
|
215
|
-
${AutoBeTestOperationProgrammer.writeTemplateCode(props.scenario)}
|
|
216
|
-
\`\`\`
|
|
217
|
-
`,
|
|
218
|
-
},
|
|
219
|
-
],
|
|
220
|
-
userMessage: `Write e2e test function ${props.scenario.functionName} please`,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
export namespace transformTestOperationWriteHistory {
|
|
224
|
-
export async function structures(
|
|
225
|
-
ctx: AutoBeContext,
|
|
226
|
-
artifacts: IAutoBeTestScenarioArtifacts,
|
|
227
|
-
): Promise<string> {
|
|
228
|
-
const compiler: IAutoBeCompiler = await ctx.compiler();
|
|
229
|
-
return StringUtil.trim`
|
|
230
|
-
${Object.keys(artifacts.document.components.schemas)
|
|
231
|
-
.map((k) => `- ${k}`)
|
|
232
|
-
.join("\n")}
|
|
233
|
-
|
|
234
|
-
\`\`\`json
|
|
235
|
-
${JSON.stringify({
|
|
236
|
-
...artifacts.dto,
|
|
237
|
-
...(await compiler.test.getDefaultTypes()),
|
|
238
|
-
})}
|
|
239
|
-
\`\`\`
|
|
240
|
-
`;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
export function functional(
|
|
244
|
-
artifacts: IAutoBeTestScenarioArtifacts,
|
|
245
|
-
excludeFunctions: Array<
|
|
246
|
-
AutoBeTestAuthorizeFunction | AutoBeTestGenerateFunction
|
|
247
|
-
>,
|
|
248
|
-
): string {
|
|
249
|
-
const document: OpenApi.IDocument = transformOpenApiDocument(
|
|
250
|
-
artifacts.document,
|
|
251
|
-
);
|
|
252
|
-
const app: IHttpMigrateApplication = HttpMigration.application(document);
|
|
253
|
-
|
|
254
|
-
const excludeEndpoints = new Set(
|
|
255
|
-
excludeFunctions.map(
|
|
256
|
-
(f) => `${f.endpoint.method.toLowerCase()}:${f.endpoint.path}`,
|
|
257
|
-
),
|
|
258
|
-
);
|
|
259
|
-
|
|
260
|
-
const filteredRoutes = app.routes.filter(
|
|
261
|
-
(r) => !excludeEndpoints.has(`${r.method.toLowerCase()}:${r.path}`),
|
|
262
|
-
);
|
|
263
|
-
|
|
264
|
-
return StringUtil.trim`
|
|
265
|
-
Method | Path | Function Accessor
|
|
266
|
-
-------|------|-------------------
|
|
267
|
-
${filteredRoutes
|
|
268
|
-
.map((r) =>
|
|
269
|
-
[r.method, r.path, `api.functional.${r.accessor.join(".")}`].join(
|
|
270
|
-
" | ",
|
|
271
|
-
),
|
|
272
|
-
)
|
|
273
|
-
.join("\n")}
|
|
274
|
-
|
|
275
|
-
\`\`\`json
|
|
276
|
-
${JSON.stringify(artifacts.sdk)}
|
|
277
|
-
\`\`\`
|
|
278
|
-
`;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
const systemPrompt = new Singleton(() =>
|
|
283
|
-
AutoBeSystemPromptConstant.TEST_OPERATION_WRITE.replace(
|
|
284
|
-
"{{AutoBeTestScenario}}",
|
|
285
|
-
JSON.stringify(typia.llm.parameters<AutoBeTestScenario>()),
|
|
286
|
-
),
|
|
287
|
-
);
|
|
1
|
+
import {
|
|
2
|
+
AutoBeTestAuthorizeFunction,
|
|
3
|
+
AutoBeTestGenerateFunction,
|
|
4
|
+
AutoBeTestScenario,
|
|
5
|
+
IAutoBeCompiler,
|
|
6
|
+
} from "@autobe/interface";
|
|
7
|
+
import { StringUtil, transformOpenApiDocument } from "@autobe/utils";
|
|
8
|
+
import { IHttpMigrateApplication } from "@typia/interface";
|
|
9
|
+
import { HttpMigration } from "@typia/utils";
|
|
10
|
+
import { Singleton } from "tstl";
|
|
11
|
+
import typia, { OpenApi } from "typia";
|
|
12
|
+
import { v7 } from "uuid";
|
|
13
|
+
|
|
14
|
+
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
15
|
+
import { AutoBeContext } from "../../../context/AutoBeContext";
|
|
16
|
+
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
17
|
+
import { getTestExternalDeclarations } from "../compile/getTestExternalDeclarations";
|
|
18
|
+
import { AutoBeTestOperationProgrammer } from "../programmers/AutoBeTestOperationProgrammer";
|
|
19
|
+
import { IAutoBeTestScenarioArtifacts } from "../structures/IAutoBeTestScenarioArtifacts";
|
|
20
|
+
|
|
21
|
+
export async function transformTestOperationWriteHistory(
|
|
22
|
+
ctx: AutoBeContext,
|
|
23
|
+
props: {
|
|
24
|
+
instruction: string;
|
|
25
|
+
scenario: AutoBeTestScenario;
|
|
26
|
+
artifacts: IAutoBeTestScenarioArtifacts;
|
|
27
|
+
authorizationFunctions: AutoBeTestAuthorizeFunction[];
|
|
28
|
+
generationFunctions: AutoBeTestGenerateFunction[];
|
|
29
|
+
},
|
|
30
|
+
): Promise<IAutoBeOrchestrateHistory> {
|
|
31
|
+
const functions: (
|
|
32
|
+
| AutoBeTestAuthorizeFunction
|
|
33
|
+
| AutoBeTestGenerateFunction
|
|
34
|
+
)[] = [...props.authorizationFunctions, ...props.generationFunctions];
|
|
35
|
+
return {
|
|
36
|
+
histories: [
|
|
37
|
+
{
|
|
38
|
+
id: v7(),
|
|
39
|
+
created_at: new Date().toISOString(),
|
|
40
|
+
type: "systemMessage",
|
|
41
|
+
text: systemPrompt.get(),
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: v7(),
|
|
45
|
+
created_at: new Date().toISOString(),
|
|
46
|
+
type: "assistantMessage",
|
|
47
|
+
text: StringUtil.trim`
|
|
48
|
+
Here is the list of input material composition.
|
|
49
|
+
|
|
50
|
+
Make e2e test functions based on the following information.
|
|
51
|
+
|
|
52
|
+
## Instructions
|
|
53
|
+
|
|
54
|
+
The following e2e-test-specific instructions were extracted from
|
|
55
|
+
the user's requirements and conversations. These instructions focus
|
|
56
|
+
exclusively on test-related aspects such as test data generation strategies,
|
|
57
|
+
assertion patterns, error handling approaches, and specific validation logic
|
|
58
|
+
that should be implemented in the test code.
|
|
59
|
+
|
|
60
|
+
Follow these instructions when implementing the e2e test function.
|
|
61
|
+
Carefully distinguish between:
|
|
62
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
63
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
64
|
+
|
|
65
|
+
When instructions contain direct specifications or explicit design decisions,
|
|
66
|
+
follow them precisely even if you believe you have better alternatives.
|
|
67
|
+
|
|
68
|
+
${props.instruction}
|
|
69
|
+
|
|
70
|
+
## Function Name
|
|
71
|
+
|
|
72
|
+
The e2e test function name must be ${JSON.stringify(props.scenario.functionName)}.
|
|
73
|
+
|
|
74
|
+
## Scenario Plan
|
|
75
|
+
|
|
76
|
+
Here is the scenario plan what you have to implement.
|
|
77
|
+
|
|
78
|
+
\`\`\`json
|
|
79
|
+
${JSON.stringify(props.scenario)}
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
## DTO Definitions
|
|
83
|
+
|
|
84
|
+
You can use these DTO definitions.
|
|
85
|
+
|
|
86
|
+
Never use the DTO definitions that are not listed here.
|
|
87
|
+
|
|
88
|
+
${await transformTestOperationWriteHistory.structures(ctx, props.artifacts)}
|
|
89
|
+
|
|
90
|
+
## API (SDK) Functions
|
|
91
|
+
|
|
92
|
+
You can use these API functions.
|
|
93
|
+
|
|
94
|
+
Never use the functions that are not listed here.
|
|
95
|
+
|
|
96
|
+
${transformTestOperationWriteHistory.functional(props.artifacts, functions)}
|
|
97
|
+
|
|
98
|
+
## E2E Mockup Functions
|
|
99
|
+
|
|
100
|
+
Just reference, and never follow this code as it is.
|
|
101
|
+
|
|
102
|
+
\`\`\`json
|
|
103
|
+
${JSON.stringify(props.artifacts.e2e)}
|
|
104
|
+
\`\`\`
|
|
105
|
+
|
|
106
|
+
## Available Utility Functions
|
|
107
|
+
|
|
108
|
+
${
|
|
109
|
+
functions.length > 0
|
|
110
|
+
? StringUtil.trim`
|
|
111
|
+
🚨 **CRITICAL: UTILITY FUNCTIONS HAVE ABSOLUTE PRIORITY OVER SDK FUNCTIONS** 🚨
|
|
112
|
+
|
|
113
|
+
When calling an API endpoint, you MUST:
|
|
114
|
+
1. **FIRST**: Check if a utility function exists for that endpoint (match by METHOD + PATH)
|
|
115
|
+
2. **SECOND**: Only if NO utility function exists, use SDK function (\`api.functional.*\`)
|
|
116
|
+
|
|
117
|
+
**ABSOLUTE RULE**: If a utility function is provided for an endpoint below, you **MUST** use that utility function.
|
|
118
|
+
Using \`api.functional.*\` directly for an endpoint that has a utility function is **FORBIDDEN**.
|
|
119
|
+
|
|
120
|
+
### Authorization Functions
|
|
121
|
+
Use these to authenticate users. They update the connection's headers internally.
|
|
122
|
+
**You MUST create a NEW connection object** with \`{ host: connection.host }\` and pass it to the authorize function.
|
|
123
|
+
|
|
124
|
+
**MANDATORY Pattern:**
|
|
125
|
+
\`\`\`typescript
|
|
126
|
+
const adminConnection: api.IConnection = { host: connection.host };
|
|
127
|
+
await authorize_admin_login(adminConnection, { body: {...} });
|
|
128
|
+
// adminConnection.headers is now updated internally by authorize function
|
|
129
|
+
// Use adminConnection for all subsequent API calls
|
|
130
|
+
\`\`\`
|
|
131
|
+
|
|
132
|
+
| Function Name | Endpoint | Actor |
|
|
133
|
+
|---------------|----------|-------|
|
|
134
|
+
${props.authorizationFunctions
|
|
135
|
+
.map(
|
|
136
|
+
(f) =>
|
|
137
|
+
`| \`${f.name}\` | \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\` | ${f.actor} |`,
|
|
138
|
+
)
|
|
139
|
+
.join("\n")}
|
|
140
|
+
|
|
141
|
+
${props.authorizationFunctions
|
|
142
|
+
.map(
|
|
143
|
+
(f) => StringUtil.trim`
|
|
144
|
+
#### ${f.name}
|
|
145
|
+
- **Endpoint**: \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`
|
|
146
|
+
- **Actor**: ${f.actor}
|
|
147
|
+
- **Auth Type**: ${f.authType}
|
|
148
|
+
- **Usage**: Call function, then create NEW connection with token from result
|
|
149
|
+
- ⚠️ **Do NOT use \`api.functional.*\` for \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`** - use this function instead
|
|
150
|
+
|
|
151
|
+
\`\`\`typescript
|
|
152
|
+
${f.content}
|
|
153
|
+
\`\`\`
|
|
154
|
+
`,
|
|
155
|
+
)
|
|
156
|
+
.join("\n\n")}
|
|
157
|
+
|
|
158
|
+
### Generation Functions
|
|
159
|
+
|
|
160
|
+
Use these to create test resources. They handle data preparation and API calls internally.
|
|
161
|
+
**Pass actor-specific connection** (e.g., \`userConnection\`), NOT base \`connection\`.
|
|
162
|
+
|
|
163
|
+
| Function Name | Endpoint |
|
|
164
|
+
|---------------|----------|
|
|
165
|
+
${props.generationFunctions
|
|
166
|
+
.map(
|
|
167
|
+
(f) =>
|
|
168
|
+
`| \`${f.name}\` | \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\` |`,
|
|
169
|
+
)
|
|
170
|
+
.join("\n")}
|
|
171
|
+
|
|
172
|
+
${props.generationFunctions
|
|
173
|
+
.map(
|
|
174
|
+
(f) => StringUtil.trim`
|
|
175
|
+
#### ${f.name}
|
|
176
|
+
- **Endpoint**: \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`
|
|
177
|
+
- **Usage**: \`await ${f.name}(userConnection, { ... })\` - pass actor-specific connection
|
|
178
|
+
- ⚠️ **Do NOT use \`api.functional.*\` for \`${f.endpoint.method.toUpperCase()} ${f.endpoint.path}\`** - use this function instead
|
|
179
|
+
|
|
180
|
+
\`\`\`typescript
|
|
181
|
+
${f.content}
|
|
182
|
+
\`\`\`
|
|
183
|
+
`,
|
|
184
|
+
)
|
|
185
|
+
.join("\n\n")}
|
|
186
|
+
`
|
|
187
|
+
: StringUtil.trim`
|
|
188
|
+
No utility functions are available for this test scenario.
|
|
189
|
+
You will need to handle authentication and data creation directly using the API SDK functions.
|
|
190
|
+
`
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
## External Definitions
|
|
194
|
+
|
|
195
|
+
Here is the external declaration files (d.ts) you can reference.
|
|
196
|
+
|
|
197
|
+
\`\`\`json
|
|
198
|
+
${JSON.stringify(await getTestExternalDeclarations(ctx))}
|
|
199
|
+
\`\`\`
|
|
200
|
+
|
|
201
|
+
## Template Code
|
|
202
|
+
|
|
203
|
+
Here is the template e2e test code what you must follow.
|
|
204
|
+
|
|
205
|
+
You're only allowed to modify the "<SCENARIO DESCRIPTION HERE>" and
|
|
206
|
+
code inside the function block marked as "// <E2E TEST CODE HERE>".
|
|
207
|
+
Change the template code by writing your scenario description to the
|
|
208
|
+
comment, and filling your implementation logic into the function.
|
|
209
|
+
|
|
210
|
+
Note that, you don't need to add any "import" statement more than
|
|
211
|
+
this template code. Everything you need is already imported, so
|
|
212
|
+
make your implementation code in the import scope.
|
|
213
|
+
|
|
214
|
+
\`\`\`typescript
|
|
215
|
+
${AutoBeTestOperationProgrammer.writeTemplateCode(props.scenario)}
|
|
216
|
+
\`\`\`
|
|
217
|
+
`,
|
|
218
|
+
},
|
|
219
|
+
],
|
|
220
|
+
userMessage: `Write e2e test function ${props.scenario.functionName} please`,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
export namespace transformTestOperationWriteHistory {
|
|
224
|
+
export async function structures(
|
|
225
|
+
ctx: AutoBeContext,
|
|
226
|
+
artifacts: IAutoBeTestScenarioArtifacts,
|
|
227
|
+
): Promise<string> {
|
|
228
|
+
const compiler: IAutoBeCompiler = await ctx.compiler();
|
|
229
|
+
return StringUtil.trim`
|
|
230
|
+
${Object.keys(artifacts.document.components.schemas)
|
|
231
|
+
.map((k) => `- ${k}`)
|
|
232
|
+
.join("\n")}
|
|
233
|
+
|
|
234
|
+
\`\`\`json
|
|
235
|
+
${JSON.stringify({
|
|
236
|
+
...artifacts.dto,
|
|
237
|
+
...(await compiler.test.getDefaultTypes()),
|
|
238
|
+
})}
|
|
239
|
+
\`\`\`
|
|
240
|
+
`;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export function functional(
|
|
244
|
+
artifacts: IAutoBeTestScenarioArtifacts,
|
|
245
|
+
excludeFunctions: Array<
|
|
246
|
+
AutoBeTestAuthorizeFunction | AutoBeTestGenerateFunction
|
|
247
|
+
>,
|
|
248
|
+
): string {
|
|
249
|
+
const document: OpenApi.IDocument = transformOpenApiDocument(
|
|
250
|
+
artifacts.document,
|
|
251
|
+
);
|
|
252
|
+
const app: IHttpMigrateApplication = HttpMigration.application(document);
|
|
253
|
+
|
|
254
|
+
const excludeEndpoints = new Set(
|
|
255
|
+
excludeFunctions.map(
|
|
256
|
+
(f) => `${f.endpoint.method.toLowerCase()}:${f.endpoint.path}`,
|
|
257
|
+
),
|
|
258
|
+
);
|
|
259
|
+
|
|
260
|
+
const filteredRoutes = app.routes.filter(
|
|
261
|
+
(r) => !excludeEndpoints.has(`${r.method.toLowerCase()}:${r.path}`),
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
return StringUtil.trim`
|
|
265
|
+
Method | Path | Function Accessor
|
|
266
|
+
-------|------|-------------------
|
|
267
|
+
${filteredRoutes
|
|
268
|
+
.map((r) =>
|
|
269
|
+
[r.method, r.path, `api.functional.${r.accessor.join(".")}`].join(
|
|
270
|
+
" | ",
|
|
271
|
+
),
|
|
272
|
+
)
|
|
273
|
+
.join("\n")}
|
|
274
|
+
|
|
275
|
+
\`\`\`json
|
|
276
|
+
${JSON.stringify(artifacts.sdk)}
|
|
277
|
+
\`\`\`
|
|
278
|
+
`;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
const systemPrompt = new Singleton(() =>
|
|
283
|
+
AutoBeSystemPromptConstant.TEST_OPERATION_WRITE.replace(
|
|
284
|
+
"{{AutoBeTestScenario}}",
|
|
285
|
+
JSON.stringify(typia.llm.parameters<AutoBeTestScenario>()),
|
|
286
|
+
),
|
|
287
|
+
);
|