@autobe/agent 0.30.0-dev.20260315 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -661
- package/lib/constants/AutoBeTemplateFileConstant.d.ts +1 -1
- package/lib/factory/consentFunctionCall.js +4 -4
- package/lib/factory/createAutoBeContext.js +24 -24
- package/lib/factory/createAutoBeMessageContent.js +6 -6
- package/lib/index.mjs +41 -41
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.js +18 -18
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.js +13 -13
- package/lib/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.js +47 -47
- package/lib/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.js +66 -66
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.js +91 -91
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.js +46 -46
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.js +72 -72
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js +1 -1
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.js +5 -5
- package/lib/orchestrate/common/histories/transformPreliminaryHistory.js +44 -44
- package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js +44 -44
- package/lib/orchestrate/common/internal/fixPrelminaryApplication.js +22 -22
- package/lib/orchestrate/common/internal/validatePreliminary.js +116 -116
- package/lib/orchestrate/facade/createAutoBeFacadeController.js +3 -3
- package/lib/orchestrate/facade/structures/transformFacadeStateMessage.js +20 -20
- package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.js +34 -34
- package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.js +37 -37
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js +56 -56
- package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.js +26 -26
- package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.js +28 -28
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.js +11 -11
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js +38 -38
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js +29 -29
- package/lib/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.js +15 -15
- package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js +6 -6
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js +25 -25
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.js +67 -67
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.js +60 -60
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.js +83 -83
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js +29 -29
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js +74 -74
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.js +46 -46
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +9 -9
- package/lib/orchestrate/interface/orchestrateInterfaceOperation.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +4 -4
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js +5 -5
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js +1 -1
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.js +90 -90
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.js +6 -6
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.js +25 -25
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.js +71 -71
- package/lib/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.js +162 -162
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.js +11 -11
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.js +73 -73
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.js +35 -35
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.js +11 -11
- package/lib/orchestrate/interface/utils/AutoBeJsonSchemaFactory.js +4 -4
- package/lib/orchestrate/interface/utils/AutoBeJsonSchemaValidator.js +283 -283
- package/lib/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js +76 -76
- package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.js +76 -76
- package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.js +51 -51
- package/lib/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.js +54 -54
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js +83 -83
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js +6 -6
- package/lib/orchestrate/prisma/histories/transformPrismaGroupHistory.js +22 -22
- package/lib/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.js +41 -41
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js +39 -39
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.js +41 -41
- package/lib/orchestrate/prisma/orchestratePrismaAuthorization.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaGroup.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js +1 -1
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.js +23 -23
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.js +7 -7
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.js +5 -5
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.js +20 -20
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.js +13 -13
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.js +51 -51
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.js +25 -25
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js +28 -28
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js +14 -14
- package/lib/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.js +42 -42
- package/lib/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.js +27 -27
- package/lib/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.js +57 -57
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js +35 -35
- package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js +14 -14
- package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js +37 -37
- package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js.map +1 -1
- package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js +47 -47
- package/lib/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.js +27 -27
- package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js +51 -51
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCollectorPlan.js +11 -11
- package/lib/orchestrate/realize/orchestrateRealizeCollectorWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeOperationWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeTransformerPlan.js +11 -11
- package/lib/orchestrate/realize/orchestrateRealizeTransformerWrite.js +1 -1
- package/lib/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.js +41 -41
- package/lib/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.js +21 -21
- package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js +57 -57
- package/lib/orchestrate/realize/utils/getRealizeWriteInputType.js +3 -3
- package/lib/orchestrate/realize/utils/printErrorHints.js +5 -5
- package/lib/orchestrate/test/compile/getTestImportStatements.js +9 -9
- package/lib/orchestrate/test/histories/transformTestAuthorizeWriteHistory.js +38 -38
- package/lib/orchestrate/test/histories/transformTestGenerationWriteHistory.js +79 -79
- package/lib/orchestrate/test/histories/transformTestOperationWriteHistory.js +162 -162
- package/lib/orchestrate/test/histories/transformTestPrepareWriteHistory.js +54 -54
- package/lib/orchestrate/test/histories/transformTestScenarioHistory.js +31 -31
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js +27 -27
- package/lib/orchestrate/test/orchestrateTestScenario.js +1 -1
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js +1 -1
- package/lib/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.js +31 -31
- package/lib/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.js +23 -23
- package/lib/orchestrate/test/programmers/AutoBeTestOperationProgrammer.js +6 -6
- package/lib/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.js +34 -34
- package/lib/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.js +39 -39
- package/lib/utils/predicateStateMessage.js +19 -19
- package/lib/utils/validateEmptyCode.js +16 -16
- package/package.json +5 -5
- package/src/AutoBeAgent.ts +374 -374
- package/src/AutoBeAgentBase.ts +126 -126
- package/src/AutoBeMockAgent.ts +254 -254
- package/src/constants/AutoBeConfigConstant.ts +173 -173
- package/src/constants/AutoBeTemplateFileConstant.ts +1 -1
- package/src/context/AutoBeContext.ts +107 -107
- package/src/context/AutoBeState.ts +66 -66
- package/src/context/AutoBeTokenUsage.ts +307 -307
- package/src/context/AutoBeTokenUsageComponent.ts +227 -227
- package/src/describe/describe.ts +47 -47
- package/src/describe/image/histories/transformImageDescribeDraftHistories.ts +16 -16
- package/src/describe/image/orchestrateImageDescribeDraft.ts +200 -200
- package/src/describe/image/structures/IAutoBeImageDescribeDraftApplication.ts +92 -92
- package/src/describe/imageDescribe.ts +64 -64
- package/src/factory/consentFunctionCall.ts +141 -141
- package/src/factory/createAgenticaHistory.ts +71 -71
- package/src/factory/createAutoBeContext.ts +584 -584
- package/src/factory/createAutoBeMessageContent.ts +36 -36
- package/src/factory/createAutoBeState.ts +20 -20
- package/src/factory/getAutoBeGenerated.ts +317 -317
- package/src/factory/getAutoBeRealizeGenerated.ts +31 -31
- package/src/factory/getCriticalCompiler.ts +52 -52
- package/src/factory/index.ts +1 -1
- package/src/factory/mergeSystemMessages.ts +60 -60
- package/src/factory/supportFunctionCallFallback.ts +214 -214
- package/src/factory/supportMistral.ts +138 -138
- package/src/index.ts +16 -16
- package/src/orchestrate/analyze/fillTocDeterministic.ts +280 -280
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.ts +55 -55
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.ts +74 -74
- package/src/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.ts +179 -179
- package/src/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.ts +163 -163
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.ts +191 -191
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.ts +122 -122
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.ts +161 -161
- package/src/orchestrate/analyze/index.ts +7 -7
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +1693 -1693
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +267 -267
- package/src/orchestrate/analyze/orchestrateAnalyzeScenarioReview.ts +122 -122
- package/src/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.ts +146 -146
- package/src/orchestrate/analyze/orchestrateAnalyzeSectionReview.ts +154 -154
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteSection.ts +388 -388
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.ts +407 -407
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteUnit.ts +348 -348
- package/src/orchestrate/analyze/programmers/AutoBeAnalyzeProgrammer.ts +149 -149
- package/src/orchestrate/analyze/structures/FixedAnalyzeTemplate.ts +961 -961
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +141 -141
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.ts +96 -96
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.ts +160 -160
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.ts +192 -192
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.ts +142 -142
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.ts +123 -123
- package/src/orchestrate/analyze/utils/buildConstraintConsistencyReport.ts +813 -813
- package/src/orchestrate/analyze/utils/buildErrorCodeRegistry.ts +324 -324
- package/src/orchestrate/analyze/utils/buildHardValidators.ts +88 -88
- package/src/orchestrate/analyze/utils/detectInventedEntities.ts +87 -87
- package/src/orchestrate/analyze/utils/detectProseConstraintConflicts.ts +319 -319
- package/src/orchestrate/analyze/utils/repairSectionReviewUtils.ts +181 -181
- package/src/orchestrate/analyze/utils/repairUtils.ts +60 -60
- package/src/orchestrate/analyze/utils/validateScenarioBasics.ts +104 -104
- package/src/orchestrate/common/AutoBePreliminaryController.ts +400 -400
- package/src/orchestrate/common/histories/transformCommonCorrectCastingHistory.ts +32 -32
- package/src/orchestrate/common/histories/transformPreliminaryHistory.ts +742 -742
- package/src/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.ts +77 -77
- package/src/orchestrate/common/internal/complementPreliminaryCollection.ts +263 -263
- package/src/orchestrate/common/internal/convertToSectionEntries.ts +57 -57
- package/src/orchestrate/common/internal/createPreliminaryCollection.ts +76 -76
- package/src/orchestrate/common/internal/fixPrelminaryApplication.ts +346 -346
- package/src/orchestrate/common/internal/validatePreliminary.ts +671 -671
- package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +223 -223
- package/src/orchestrate/common/orchestratePreliminary.ts +610 -610
- package/src/orchestrate/common/structures/AutoBePreliminaryRequest.ts +42 -42
- package/src/orchestrate/common/structures/IAnalysisSectionEntry.ts +35 -35
- package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +72 -72
- package/src/orchestrate/common/structures/IAutoBeOrchestrateResult.ts +28 -28
- package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +52 -52
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.ts +34 -34
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.ts +31 -31
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +32 -32
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +31 -31
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.ts +28 -28
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.ts +88 -88
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.ts +102 -102
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.ts +105 -105
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.ts +32 -32
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.ts +32 -32
- package/src/orchestrate/facade/createAutoBeFacadeController.ts +118 -118
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplication.ts +139 -139
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationProps.ts +8 -8
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationResult.ts +9 -9
- package/src/orchestrate/facade/structures/transformFacadeStateMessage.ts +59 -59
- package/src/orchestrate/index.ts +5 -5
- package/src/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.ts +83 -83
- package/src/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.ts +78 -78
- package/src/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.ts +129 -129
- package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.ts +74 -74
- package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.ts +68 -68
- package/src/orchestrate/interface/histories/transformInterfaceCommonHistory.ts +64 -64
- package/src/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.ts +42 -42
- package/src/orchestrate/interface/histories/transformInterfaceGroupHistory.ts +103 -103
- package/src/orchestrate/interface/histories/transformInterfaceOperationHistory.ts +81 -81
- package/src/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.ts +53 -53
- package/src/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.ts +49 -49
- package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.ts +94 -94
- package/src/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.ts +122 -122
- package/src/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.ts +192 -192
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.ts +189 -189
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.ts +63 -63
- package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.ts +173 -173
- package/src/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.ts +88 -88
- package/src/orchestrate/interface/index.ts +6 -6
- package/src/orchestrate/interface/orchestrateInterface.ts +118 -118
- package/src/orchestrate/interface/orchestrateInterfaceActionEndpoint.ts +58 -58
- package/src/orchestrate/interface/orchestrateInterfaceAuthorization.ts +208 -208
- package/src/orchestrate/interface/orchestrateInterfaceBaseEndpoint.ts +55 -55
- package/src/orchestrate/interface/orchestrateInterfaceEndpoint.ts +67 -67
- package/src/orchestrate/interface/orchestrateInterfaceEndpointOverall.ts +80 -80
- package/src/orchestrate/interface/orchestrateInterfaceEndpointReview.ts +212 -212
- package/src/orchestrate/interface/orchestrateInterfaceEndpointWrite.ts +236 -236
- package/src/orchestrate/interface/orchestrateInterfaceGroup.ts +166 -166
- package/src/orchestrate/interface/orchestrateInterfaceOperation.ts +322 -322
- package/src/orchestrate/interface/orchestrateInterfaceOperationReview.ts +245 -245
- package/src/orchestrate/interface/orchestrateInterfacePrerequisite.ts +240 -240
- package/src/orchestrate/interface/orchestrateInterfaceSchema.ts +191 -191
- package/src/orchestrate/interface/orchestrateInterfaceSchemaCasting.ts +274 -274
- package/src/orchestrate/interface/orchestrateInterfaceSchemaComplement.ts +329 -329
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRefine.ts +292 -292
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +266 -266
- package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +310 -310
- package/src/orchestrate/interface/orchestrateInterfaceSchemaWrite.ts +283 -283
- package/src/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.ts +260 -260
- package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.ts +155 -155
- package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.ts +139 -139
- package/src/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.ts +277 -277
- package/src/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.ts +259 -259
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.ts +152 -152
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.ts +347 -347
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.ts +183 -183
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.ts +263 -263
- package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.ts +135 -135
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +128 -128
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.ts +133 -133
- package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +122 -122
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +178 -178
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.ts +175 -175
- package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +130 -130
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +121 -121
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.ts +153 -153
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.ts +123 -123
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.ts +181 -181
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.ts +45 -45
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.ts +108 -108
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaCollection.ts +42 -42
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaFactory.ts +714 -714
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaNamingConvention.ts +86 -86
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaValidator.ts +725 -725
- package/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.ts +219 -219
- package/src/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.ts +144 -144
- package/src/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.ts +104 -104
- package/src/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.ts +97 -97
- package/src/orchestrate/prisma/histories/transformPrismaComponentsHistory.ts +136 -136
- package/src/orchestrate/prisma/histories/transformPrismaCorrectHistory.ts +41 -41
- package/src/orchestrate/prisma/histories/transformPrismaGroupHistory.ts +63 -63
- package/src/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.ts +79 -79
- package/src/orchestrate/prisma/histories/transformPrismaSchemaHistory.ts +97 -97
- package/src/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.ts +126 -126
- package/src/orchestrate/prisma/index.ts +7 -7
- package/src/orchestrate/prisma/orchestratePrisma.ts +296 -296
- package/src/orchestrate/prisma/orchestratePrismaAuthorization.ts +173 -173
- package/src/orchestrate/prisma/orchestratePrismaAuthorizationReview.ts +183 -183
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +205 -205
- package/src/orchestrate/prisma/orchestratePrismaComponentReview.ts +205 -205
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +265 -265
- package/src/orchestrate/prisma/orchestratePrismaGroup.ts +121 -121
- package/src/orchestrate/prisma/orchestratePrismaGroupReview.ts +141 -141
- package/src/orchestrate/prisma/orchestratePrismaSchema.ts +218 -218
- package/src/orchestrate/prisma/orchestratePrismaSchemaReview.ts +220 -220
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.ts +86 -86
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.ts +103 -103
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.ts +80 -80
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.ts +168 -168
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.ts +63 -63
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.ts +210 -210
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseModelProgrammer.ts +57 -57
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.ts +92 -92
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.ts +147 -147
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.ts +153 -153
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.ts +142 -142
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.ts +151 -151
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.ts +157 -157
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.ts +117 -117
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.ts +154 -154
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.ts +144 -144
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.ts +138 -138
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.ts +89 -89
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.ts +45 -45
- package/src/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.ts +137 -137
- package/src/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.ts +64 -64
- package/src/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.ts +147 -147
- package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.ts +69 -69
- package/src/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.ts +94 -94
- package/src/orchestrate/realize/histories/transformRealizeOperationWriteHistory.ts +127 -127
- package/src/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.ts +147 -147
- package/src/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.ts +61 -61
- package/src/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.ts +133 -133
- package/src/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.ts +30 -30
- package/src/orchestrate/realize/index.ts +3 -3
- package/src/orchestrate/realize/internal/orchestrateRealizeCorrectCasting.ts +444 -444
- package/src/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.ts +449 -449
- package/src/orchestrate/realize/orchestrateRealize.ts +143 -143
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +207 -207
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationWrite.ts +209 -209
- package/src/orchestrate/realize/orchestrateRealizeCollector.ts +41 -41
- package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectCasting.ts +43 -43
- package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.ts +157 -157
- package/src/orchestrate/realize/orchestrateRealizeCollectorPlan.ts +264 -264
- package/src/orchestrate/realize/orchestrateRealizeCollectorWrite.ts +225 -225
- package/src/orchestrate/realize/orchestrateRealizeOperation.ts +48 -48
- package/src/orchestrate/realize/orchestrateRealizeOperationCorrectCasting.ts +69 -69
- package/src/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.ts +173 -173
- package/src/orchestrate/realize/orchestrateRealizeOperationWrite.ts +262 -262
- package/src/orchestrate/realize/orchestrateRealizeTransformer.ts +41 -41
- package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.ts +38 -38
- package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.ts +160 -160
- package/src/orchestrate/realize/orchestrateRealizeTransformerPlan.ts +254 -254
- package/src/orchestrate/realize/orchestrateRealizeTransformerWrite.ts +226 -226
- package/src/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.ts +424 -424
- package/src/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.ts +409 -409
- package/src/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.ts +451 -451
- package/src/orchestrate/realize/programmers/compileRealizeFiles.ts +65 -65
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +119 -119
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.ts +167 -167
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.ts +191 -191
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.ts +177 -177
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.ts +207 -207
- package/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.ts +11 -11
- package/src/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.ts +134 -134
- package/src/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.ts +138 -138
- package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.ts +32 -32
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.ts +248 -248
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.ts +150 -150
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.ts +278 -278
- package/src/orchestrate/realize/utils/AuthorizationFileSystem.ts +10 -10
- package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.ts +9 -9
- package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.ts +62 -62
- package/src/orchestrate/realize/utils/InternalFileSystem.ts +12 -12
- package/src/orchestrate/realize/utils/ProviderFileSystem.ts +4 -4
- package/src/orchestrate/realize/utils/filterDiagnostics.ts +25 -25
- package/src/orchestrate/realize/utils/generateTS2339Hints.ts +54 -54
- package/src/orchestrate/realize/utils/getRealizeWriteImportStatements.ts +42 -42
- package/src/orchestrate/realize/utils/getRealizeWriteInputType.ts +88 -88
- package/src/orchestrate/realize/utils/printErrorHints.ts +54 -54
- package/src/orchestrate/test/compile/getTestArtifacts.ts +124 -124
- package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +39 -39
- package/src/orchestrate/test/compile/getTestImportStatements.ts +27 -27
- package/src/orchestrate/test/experimental/orchestrateTestCorrect.ast +237 -237
- package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +322 -322
- package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +52 -52
- package/src/orchestrate/test/histories/transformTestAuthorizeWriteHistory.ts +80 -80
- package/src/orchestrate/test/histories/transformTestCorrectOverallHistory.ts +116 -116
- package/src/orchestrate/test/histories/transformTestGenerationWriteHistory.ts +118 -118
- package/src/orchestrate/test/histories/transformTestOperationWriteHistory.ts +287 -287
- package/src/orchestrate/test/histories/transformTestPrepareWriteHistory.ts +95 -95
- package/src/orchestrate/test/histories/transformTestScenarioHistory.ts +120 -120
- package/src/orchestrate/test/histories/transformTestScenarioReviewHistory.ts +99 -99
- package/src/orchestrate/test/histories/transformTestValidateEvent.ts +11 -11
- package/src/orchestrate/test/index.ts +5 -5
- package/src/orchestrate/test/internal/orchestrateTestCorrectCasting.ts +96 -96
- package/src/orchestrate/test/internal/orchestrateTestCorrectOverall.ts +219 -219
- package/src/orchestrate/test/internal/orchestrateTestCorrectRequest.ts +206 -206
- package/src/orchestrate/test/orchestrateTest.ts +161 -161
- package/src/orchestrate/test/orchestrateTestAuthorize.ts +125 -125
- package/src/orchestrate/test/orchestrateTestAuthorizeWrite.ts +263 -263
- package/src/orchestrate/test/orchestrateTestGenerate.ts +121 -121
- package/src/orchestrate/test/orchestrateTestGenerateWrite.ts +211 -211
- package/src/orchestrate/test/orchestrateTestOperation.ts +133 -133
- package/src/orchestrate/test/orchestrateTestOperationWrite.ts +221 -221
- package/src/orchestrate/test/orchestrateTestPrepare.ts +117 -117
- package/src/orchestrate/test/orchestrateTestPrepareWrite.ts +264 -264
- package/src/orchestrate/test/orchestrateTestScenario.ts +290 -290
- package/src/orchestrate/test/orchestrateTestScenarioReview.ts +262 -262
- package/src/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.ts +149 -149
- package/src/orchestrate/test/programmers/AutoBeTestFunctionProgrammer.ts +90 -90
- package/src/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.ts +170 -170
- package/src/orchestrate/test/programmers/AutoBeTestOperationProgrammer.ts +168 -168
- package/src/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.ts +261 -261
- package/src/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.ts +316 -316
- package/src/orchestrate/test/structures/IAutoBeTestArtifacts.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestAuthorizationWriteApplication.ts +113 -113
- package/src/orchestrate/test/structures/IAutoBeTestAuthorizeWriteResult.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestCorrectOverallApplication.ts +134 -134
- package/src/orchestrate/test/structures/IAutoBeTestCorrectRequestApplication.ts +152 -152
- package/src/orchestrate/test/structures/IAutoBeTestFunction.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestGenerateProcedure.ts +15 -15
- package/src/orchestrate/test/structures/IAutoBeTestGenerationWriteApplication.ts +145 -145
- package/src/orchestrate/test/structures/IAutoBeTestOperationProcedure.ts +17 -17
- package/src/orchestrate/test/structures/IAutoBeTestOperationWriteApplication.ts +162 -162
- package/src/orchestrate/test/structures/IAutoBeTestPrepareCorrectOverallApplication.ts +194 -194
- package/src/orchestrate/test/structures/IAutoBeTestPrepareProcedure.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestPrepareWriteApplication.ts +147 -147
- package/src/orchestrate/test/structures/IAutoBeTestProcedure.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +105 -105
- package/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationActor.ts +7 -7
- package/src/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.ts +133 -133
- package/src/orchestrate/test/utils/getPrerequisites.ts +51 -51
- package/src/orchestrate/test/utils/getReferenceIds.ts +26 -26
- package/src/orchestrate/test/utils/insertScriptToTestResult.ts +14 -14
- package/src/structures/IAutoBeConfig.ts +110 -110
- package/src/structures/IAutoBeOrchestrateHistory.ts +44 -44
- package/src/structures/IAutoBeProps.ts +102 -102
- package/src/structures/IAutoBeVendor.ts +113 -113
- package/src/utils/AutoBePreliminaryExhaustedError.ts +30 -30
- package/src/utils/AutoBeTimeoutError.ts +35 -35
- package/src/utils/EmbeddingProvider.ts +4 -4
- package/src/utils/LocalEmbeddingProvider.ts +145 -145
- package/src/utils/RAGRetrieval.ts +411 -411
- package/src/utils/TimedConversation.ts +125 -125
- package/src/utils/backoffRetry.ts +169 -169
- package/src/utils/divideArray.ts +35 -35
- package/src/utils/emplaceMap.ts +31 -31
- package/src/utils/executeCachedBatch.ts +67 -67
- package/src/utils/forceRetry.ts +15 -15
- package/src/utils/getEmbedder.ts +16 -16
- package/src/utils/parseTextFunctionCall.ts +437 -437
- package/src/utils/predicateStateMessage.ts +131 -131
- package/src/utils/validateEmptyCode.ts +73 -73
- package/src/utils/validateEnglishOnly.ts +224 -224
- package/README.md +0 -261
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import { AutoBeInterfaceGroup, AutoBeOpenApi } 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 { transformInterfaceEndpointAuthorizationSection } from "./transformInterfaceEndpointAuthorizationSection";
|
|
10
|
-
|
|
11
|
-
export const transformInterfaceBaseEndpointWriteHistory = (props: {
|
|
12
|
-
state: AutoBeState;
|
|
13
|
-
group: AutoBeInterfaceGroup;
|
|
14
|
-
preliminary: AutoBePreliminaryController<
|
|
15
|
-
| "analysisSections"
|
|
16
|
-
| "databaseSchemas"
|
|
17
|
-
| "previousAnalysisSections"
|
|
18
|
-
| "previousDatabaseSchemas"
|
|
19
|
-
| "previousInterfaceOperations"
|
|
20
|
-
>;
|
|
21
|
-
authorizeOperations: AutoBeOpenApi.IOperation[];
|
|
22
|
-
instruction: string;
|
|
23
|
-
}): IAutoBeOrchestrateHistory => ({
|
|
24
|
-
histories: [
|
|
25
|
-
{
|
|
26
|
-
type: "systemMessage",
|
|
27
|
-
id: v7(),
|
|
28
|
-
created_at: new Date().toISOString(),
|
|
29
|
-
text: AutoBeSystemPromptConstant.INTERFACE_BASE_ENDPOINT_WRITE,
|
|
30
|
-
},
|
|
31
|
-
...props.preliminary.getHistories(),
|
|
32
|
-
{
|
|
33
|
-
type: "assistantMessage",
|
|
34
|
-
id: v7(),
|
|
35
|
-
created_at: new Date().toISOString(),
|
|
36
|
-
text: StringUtil.trim`
|
|
37
|
-
## API Design Instructions (Reference)
|
|
38
|
-
|
|
39
|
-
The following API-specific instructions were extracted from
|
|
40
|
-
the user's requirements. These focus on API interface design aspects
|
|
41
|
-
such as endpoint patterns, request/response formats, DTO schemas,
|
|
42
|
-
and operation specifications.
|
|
43
|
-
|
|
44
|
-
Carefully distinguish between:
|
|
45
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
46
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
47
|
-
|
|
48
|
-
When instructions contain direct specifications or explicit design decisions,
|
|
49
|
-
follow them precisely even if you believe you have better alternatives.
|
|
50
|
-
|
|
51
|
-
${props.instruction}
|
|
52
|
-
|
|
53
|
-
${transformInterfaceEndpointAuthorizationSection(props.authorizeOperations)}
|
|
54
|
-
|
|
55
|
-
## Target Group for Design (YOUR TASK)
|
|
56
|
-
|
|
57
|
-
You are designing base CRUD endpoints for the **${props.group.name}** group.
|
|
58
|
-
|
|
59
|
-
\`\`\`json
|
|
60
|
-
${JSON.stringify(props.group)}
|
|
61
|
-
\`\`\`
|
|
62
|
-
|
|
63
|
-
Design base CRUD endpoints that cover all entities in this group.
|
|
64
|
-
`,
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
userMessage: `Design endpoints for the ${props.group.name} group please`,
|
|
68
|
-
});
|
|
1
|
+
import { AutoBeInterfaceGroup, AutoBeOpenApi } 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 { transformInterfaceEndpointAuthorizationSection } from "./transformInterfaceEndpointAuthorizationSection";
|
|
10
|
+
|
|
11
|
+
export const transformInterfaceBaseEndpointWriteHistory = (props: {
|
|
12
|
+
state: AutoBeState;
|
|
13
|
+
group: AutoBeInterfaceGroup;
|
|
14
|
+
preliminary: AutoBePreliminaryController<
|
|
15
|
+
| "analysisSections"
|
|
16
|
+
| "databaseSchemas"
|
|
17
|
+
| "previousAnalysisSections"
|
|
18
|
+
| "previousDatabaseSchemas"
|
|
19
|
+
| "previousInterfaceOperations"
|
|
20
|
+
>;
|
|
21
|
+
authorizeOperations: AutoBeOpenApi.IOperation[];
|
|
22
|
+
instruction: string;
|
|
23
|
+
}): IAutoBeOrchestrateHistory => ({
|
|
24
|
+
histories: [
|
|
25
|
+
{
|
|
26
|
+
type: "systemMessage",
|
|
27
|
+
id: v7(),
|
|
28
|
+
created_at: new Date().toISOString(),
|
|
29
|
+
text: AutoBeSystemPromptConstant.INTERFACE_BASE_ENDPOINT_WRITE,
|
|
30
|
+
},
|
|
31
|
+
...props.preliminary.getHistories(),
|
|
32
|
+
{
|
|
33
|
+
type: "assistantMessage",
|
|
34
|
+
id: v7(),
|
|
35
|
+
created_at: new Date().toISOString(),
|
|
36
|
+
text: StringUtil.trim`
|
|
37
|
+
## API Design Instructions (Reference)
|
|
38
|
+
|
|
39
|
+
The following API-specific instructions were extracted from
|
|
40
|
+
the user's requirements. These focus on API interface design aspects
|
|
41
|
+
such as endpoint patterns, request/response formats, DTO schemas,
|
|
42
|
+
and operation specifications.
|
|
43
|
+
|
|
44
|
+
Carefully distinguish between:
|
|
45
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
46
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
47
|
+
|
|
48
|
+
When instructions contain direct specifications or explicit design decisions,
|
|
49
|
+
follow them precisely even if you believe you have better alternatives.
|
|
50
|
+
|
|
51
|
+
${props.instruction}
|
|
52
|
+
|
|
53
|
+
${transformInterfaceEndpointAuthorizationSection(props.authorizeOperations)}
|
|
54
|
+
|
|
55
|
+
## Target Group for Design (YOUR TASK)
|
|
56
|
+
|
|
57
|
+
You are designing base CRUD endpoints for the **${props.group.name}** group.
|
|
58
|
+
|
|
59
|
+
\`\`\`json
|
|
60
|
+
${JSON.stringify(props.group)}
|
|
61
|
+
\`\`\`
|
|
62
|
+
|
|
63
|
+
Design base CRUD endpoints that cover all entities in this group.
|
|
64
|
+
`,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
userMessage: `Design endpoints for the ${props.group.name} group please`,
|
|
68
|
+
});
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
import { IAgenticaHistoryJson } from "@agentica/core";
|
|
2
|
-
import { v7 } from "uuid";
|
|
3
|
-
|
|
4
|
-
import { AutoBeState } from "../../../context/AutoBeState";
|
|
5
|
-
|
|
6
|
-
export const transformInterfaceCommonHistory = (
|
|
7
|
-
state: AutoBeState,
|
|
8
|
-
): Array<IAgenticaHistoryJson.ISystemMessage> | null => {
|
|
9
|
-
if (state.analyze === null)
|
|
10
|
-
return [
|
|
11
|
-
{
|
|
12
|
-
id: v7(),
|
|
13
|
-
created_at: new Date().toISOString(),
|
|
14
|
-
type: "systemMessage",
|
|
15
|
-
text: [
|
|
16
|
-
"Requirement analysis is not yet completed.",
|
|
17
|
-
"Don't call the any tool function,",
|
|
18
|
-
"but say to process the requirement analysis.",
|
|
19
|
-
].join(" "),
|
|
20
|
-
},
|
|
21
|
-
];
|
|
22
|
-
else if (state.database === null)
|
|
23
|
-
return [
|
|
24
|
-
{
|
|
25
|
-
id: v7(),
|
|
26
|
-
created_at: new Date().toISOString(),
|
|
27
|
-
type: "systemMessage",
|
|
28
|
-
text: [
|
|
29
|
-
"Database schema generation is not yet completed.",
|
|
30
|
-
"Don't call the any tool function,",
|
|
31
|
-
"but say to process the database schema generation.",
|
|
32
|
-
].join(" "),
|
|
33
|
-
},
|
|
34
|
-
];
|
|
35
|
-
else if (state.analyze.step !== state.database.step)
|
|
36
|
-
return [
|
|
37
|
-
{
|
|
38
|
-
id: v7(),
|
|
39
|
-
created_at: new Date().toISOString(),
|
|
40
|
-
type: "systemMessage",
|
|
41
|
-
text: [
|
|
42
|
-
"Database schema generation has not been updated",
|
|
43
|
-
"for the latest requirement analysis.",
|
|
44
|
-
"Don't call the any tool function,",
|
|
45
|
-
"but say to re-process the database schema generation.",
|
|
46
|
-
].join(" "),
|
|
47
|
-
},
|
|
48
|
-
];
|
|
49
|
-
else if (state.database.compiled.type !== "success")
|
|
50
|
-
return [
|
|
51
|
-
{
|
|
52
|
-
id: v7(),
|
|
53
|
-
created_at: new Date().toISOString(),
|
|
54
|
-
type: "systemMessage",
|
|
55
|
-
text: [
|
|
56
|
-
"Database schema generation has not been updated",
|
|
57
|
-
"for the latest requirement analysis.",
|
|
58
|
-
"Don't call the any tool function,",
|
|
59
|
-
"but say to re-process the database schema generation.",
|
|
60
|
-
].join(" "),
|
|
61
|
-
},
|
|
62
|
-
];
|
|
63
|
-
return null;
|
|
64
|
-
};
|
|
1
|
+
import { IAgenticaHistoryJson } from "@agentica/core";
|
|
2
|
+
import { v7 } from "uuid";
|
|
3
|
+
|
|
4
|
+
import { AutoBeState } from "../../../context/AutoBeState";
|
|
5
|
+
|
|
6
|
+
export const transformInterfaceCommonHistory = (
|
|
7
|
+
state: AutoBeState,
|
|
8
|
+
): Array<IAgenticaHistoryJson.ISystemMessage> | null => {
|
|
9
|
+
if (state.analyze === null)
|
|
10
|
+
return [
|
|
11
|
+
{
|
|
12
|
+
id: v7(),
|
|
13
|
+
created_at: new Date().toISOString(),
|
|
14
|
+
type: "systemMessage",
|
|
15
|
+
text: [
|
|
16
|
+
"Requirement analysis is not yet completed.",
|
|
17
|
+
"Don't call the any tool function,",
|
|
18
|
+
"but say to process the requirement analysis.",
|
|
19
|
+
].join(" "),
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
else if (state.database === null)
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
25
|
+
id: v7(),
|
|
26
|
+
created_at: new Date().toISOString(),
|
|
27
|
+
type: "systemMessage",
|
|
28
|
+
text: [
|
|
29
|
+
"Database schema generation is not yet completed.",
|
|
30
|
+
"Don't call the any tool function,",
|
|
31
|
+
"but say to process the database schema generation.",
|
|
32
|
+
].join(" "),
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
else if (state.analyze.step !== state.database.step)
|
|
36
|
+
return [
|
|
37
|
+
{
|
|
38
|
+
id: v7(),
|
|
39
|
+
created_at: new Date().toISOString(),
|
|
40
|
+
type: "systemMessage",
|
|
41
|
+
text: [
|
|
42
|
+
"Database schema generation has not been updated",
|
|
43
|
+
"for the latest requirement analysis.",
|
|
44
|
+
"Don't call the any tool function,",
|
|
45
|
+
"but say to re-process the database schema generation.",
|
|
46
|
+
].join(" "),
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
else if (state.database.compiled.type !== "success")
|
|
50
|
+
return [
|
|
51
|
+
{
|
|
52
|
+
id: v7(),
|
|
53
|
+
created_at: new Date().toISOString(),
|
|
54
|
+
type: "systemMessage",
|
|
55
|
+
text: [
|
|
56
|
+
"Database schema generation has not been updated",
|
|
57
|
+
"for the latest requirement analysis.",
|
|
58
|
+
"Don't call the any tool function,",
|
|
59
|
+
"but say to re-process the database schema generation.",
|
|
60
|
+
].join(" "),
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
return null;
|
|
64
|
+
};
|
package/src/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.ts
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
-
import { StringUtil } from "@autobe/utils";
|
|
3
|
-
|
|
4
|
-
export const transformInterfaceEndpointAuthorizationSection = (
|
|
5
|
-
operations: AutoBeOpenApi.IOperation[],
|
|
6
|
-
): string => {
|
|
7
|
-
if (operations.length === 0) return "";
|
|
8
|
-
|
|
9
|
-
const table: string = [
|
|
10
|
-
"| Actor | Endpoint | Authorization Type | Request Body | Response Body |",
|
|
11
|
-
"|-------|----------|--------------------|--------------|---------------|",
|
|
12
|
-
...operations
|
|
13
|
-
.filter(
|
|
14
|
-
(op) =>
|
|
15
|
-
op.authorizationActor !== null &&
|
|
16
|
-
op.requestBody !== null &&
|
|
17
|
-
op.responseBody !== null,
|
|
18
|
-
)
|
|
19
|
-
.map((op) =>
|
|
20
|
-
[
|
|
21
|
-
op.authorizationActor ?? "",
|
|
22
|
-
`${op.method.toUpperCase()} ${op.path}`,
|
|
23
|
-
op.authorizationType ?? "",
|
|
24
|
-
op.requestBody?.typeName ?? "",
|
|
25
|
-
op.responseBody?.typeName ?? "",
|
|
26
|
-
].join(" | "),
|
|
27
|
-
),
|
|
28
|
-
].join("\n");
|
|
29
|
-
|
|
30
|
-
return StringUtil.trim`
|
|
31
|
-
## Already Generated Authorization Operations (DO NOT DUPLICATE)
|
|
32
|
-
|
|
33
|
-
The following authorization operations have already been generated
|
|
34
|
-
by the Authorization Agent.
|
|
35
|
-
|
|
36
|
-
Do NOT create any endpoints that duplicate these operations. All
|
|
37
|
-
authentication-related operations are handled exclusively by
|
|
38
|
-
the Authorization Agent. This is not your responsibility.
|
|
39
|
-
|
|
40
|
-
${table}
|
|
41
|
-
`;
|
|
42
|
-
};
|
|
1
|
+
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
+
import { StringUtil } from "@autobe/utils";
|
|
3
|
+
|
|
4
|
+
export const transformInterfaceEndpointAuthorizationSection = (
|
|
5
|
+
operations: AutoBeOpenApi.IOperation[],
|
|
6
|
+
): string => {
|
|
7
|
+
if (operations.length === 0) return "";
|
|
8
|
+
|
|
9
|
+
const table: string = [
|
|
10
|
+
"| Actor | Endpoint | Authorization Type | Request Body | Response Body |",
|
|
11
|
+
"|-------|----------|--------------------|--------------|---------------|",
|
|
12
|
+
...operations
|
|
13
|
+
.filter(
|
|
14
|
+
(op) =>
|
|
15
|
+
op.authorizationActor !== null &&
|
|
16
|
+
op.requestBody !== null &&
|
|
17
|
+
op.responseBody !== null,
|
|
18
|
+
)
|
|
19
|
+
.map((op) =>
|
|
20
|
+
[
|
|
21
|
+
op.authorizationActor ?? "",
|
|
22
|
+
`${op.method.toUpperCase()} ${op.path}`,
|
|
23
|
+
op.authorizationType ?? "",
|
|
24
|
+
op.requestBody?.typeName ?? "",
|
|
25
|
+
op.responseBody?.typeName ?? "",
|
|
26
|
+
].join(" | "),
|
|
27
|
+
),
|
|
28
|
+
].join("\n");
|
|
29
|
+
|
|
30
|
+
return StringUtil.trim`
|
|
31
|
+
## Already Generated Authorization Operations (DO NOT DUPLICATE)
|
|
32
|
+
|
|
33
|
+
The following authorization operations have already been generated
|
|
34
|
+
by the Authorization Agent.
|
|
35
|
+
|
|
36
|
+
Do NOT create any endpoints that duplicate these operations. All
|
|
37
|
+
authentication-related operations are handled exclusively by
|
|
38
|
+
the Authorization Agent. This is not your responsibility.
|
|
39
|
+
|
|
40
|
+
${table}
|
|
41
|
+
`;
|
|
42
|
+
};
|
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
import { AutoBeDatabase } 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 { transformInterfaceCommonHistory } from "./transformInterfaceCommonHistory";
|
|
10
|
-
|
|
11
|
-
export const transformInterfaceGroupHistory = (props: {
|
|
12
|
-
state: AutoBeState;
|
|
13
|
-
instruction: string;
|
|
14
|
-
preliminary: AutoBePreliminaryController<
|
|
15
|
-
| "analysisSections"
|
|
16
|
-
| "databaseSchemas"
|
|
17
|
-
| "previousAnalysisSections"
|
|
18
|
-
| "previousDatabaseSchemas"
|
|
19
|
-
| "previousInterfaceOperations"
|
|
20
|
-
>;
|
|
21
|
-
}): IAutoBeOrchestrateHistory => {
|
|
22
|
-
const common = transformInterfaceCommonHistory(props.state);
|
|
23
|
-
if (common !== null)
|
|
24
|
-
return {
|
|
25
|
-
histories: [common[0], ...common.slice(1)],
|
|
26
|
-
userMessage: "Please wait for prerequisites to complete",
|
|
27
|
-
};
|
|
28
|
-
const app: AutoBeDatabase.IApplication | undefined =
|
|
29
|
-
props.state.database?.result.data;
|
|
30
|
-
return {
|
|
31
|
-
histories: [
|
|
32
|
-
{
|
|
33
|
-
id: v7(),
|
|
34
|
-
created_at: new Date().toISOString(),
|
|
35
|
-
type: "systemMessage",
|
|
36
|
-
text: AutoBeSystemPromptConstant.INTERFACE_GROUP,
|
|
37
|
-
},
|
|
38
|
-
...props.preliminary.getHistories(),
|
|
39
|
-
{
|
|
40
|
-
id: v7(),
|
|
41
|
-
created_at: new Date().toISOString(),
|
|
42
|
-
type: "assistantMessage",
|
|
43
|
-
text: StringUtil.trim`
|
|
44
|
-
Here is the database grouping information you can reference.
|
|
45
|
-
|
|
46
|
-
However, database groups are your **STARTING POINT**, not your **STRICT BOUNDARY**:
|
|
47
|
-
|
|
48
|
-
- **Use database groups as your BASELINE**: Most API groups should align with database
|
|
49
|
-
groups (1:1 mapping)
|
|
50
|
-
- **API ≠ Database**: APIs serve different purposes than normalized database schemas
|
|
51
|
-
• APIs organize by **USER WORKFLOWS** (how users interact)
|
|
52
|
-
• Databases organize by **DATA NORMALIZATION** (how data is stored)
|
|
53
|
-
- **When to DIVERGE from database groups**:
|
|
54
|
-
• Cross-schema operations: Analytics/dashboards aggregating multiple database groups
|
|
55
|
-
• Workflow-based APIs: Checkout spanning Carts + Orders + Payments
|
|
56
|
-
• Pure computation: APIs that don't touch database at all
|
|
57
|
-
• External integrations: Webhooks, third-party API gateways
|
|
58
|
-
- **CRITICAL**: Don't create 1-2 mega-groups ignoring database organization.
|
|
59
|
-
Start with database groups, then add API-specific groups as needed.
|
|
60
|
-
|
|
61
|
-
Belonged Namespace | Table Name | Stance | Summary
|
|
62
|
-
-------------------|------------|--------|-----------
|
|
63
|
-
${app?.files
|
|
64
|
-
.map((file) => file.models.map((model) => [file, model] as const))
|
|
65
|
-
.flat()
|
|
66
|
-
.map(([file, model]) =>
|
|
67
|
-
[
|
|
68
|
-
file.namespace,
|
|
69
|
-
model.name,
|
|
70
|
-
model.stance,
|
|
71
|
-
StringUtil.summary(model.description),
|
|
72
|
-
].join(" | "),
|
|
73
|
-
)
|
|
74
|
-
.join("\n")}
|
|
75
|
-
`,
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
id: v7(),
|
|
79
|
-
created_at: new Date().toISOString(),
|
|
80
|
-
type: "assistantMessage",
|
|
81
|
-
text: StringUtil.trim`
|
|
82
|
-
## API Design Instructions
|
|
83
|
-
|
|
84
|
-
The following API-specific instructions were extracted from
|
|
85
|
-
the user's requirements. These focus on API interface design aspects
|
|
86
|
-
such as endpoint patterns, request/response formats, DTO schemas,
|
|
87
|
-
and operation specifications.
|
|
88
|
-
|
|
89
|
-
Follow these instructions when organizing API endpoints.
|
|
90
|
-
Carefully distinguish between:
|
|
91
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
92
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
93
|
-
|
|
94
|
-
When instructions contain direct specifications or explicit design decisions,
|
|
95
|
-
follow them precisely even if you believe you have better alternatives.
|
|
96
|
-
|
|
97
|
-
${props.instruction}
|
|
98
|
-
`,
|
|
99
|
-
},
|
|
100
|
-
],
|
|
101
|
-
userMessage: "Design API endpoint groups please",
|
|
102
|
-
};
|
|
103
|
-
};
|
|
1
|
+
import { AutoBeDatabase } 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 { transformInterfaceCommonHistory } from "./transformInterfaceCommonHistory";
|
|
10
|
+
|
|
11
|
+
export const transformInterfaceGroupHistory = (props: {
|
|
12
|
+
state: AutoBeState;
|
|
13
|
+
instruction: string;
|
|
14
|
+
preliminary: AutoBePreliminaryController<
|
|
15
|
+
| "analysisSections"
|
|
16
|
+
| "databaseSchemas"
|
|
17
|
+
| "previousAnalysisSections"
|
|
18
|
+
| "previousDatabaseSchemas"
|
|
19
|
+
| "previousInterfaceOperations"
|
|
20
|
+
>;
|
|
21
|
+
}): IAutoBeOrchestrateHistory => {
|
|
22
|
+
const common = transformInterfaceCommonHistory(props.state);
|
|
23
|
+
if (common !== null)
|
|
24
|
+
return {
|
|
25
|
+
histories: [common[0], ...common.slice(1)],
|
|
26
|
+
userMessage: "Please wait for prerequisites to complete",
|
|
27
|
+
};
|
|
28
|
+
const app: AutoBeDatabase.IApplication | undefined =
|
|
29
|
+
props.state.database?.result.data;
|
|
30
|
+
return {
|
|
31
|
+
histories: [
|
|
32
|
+
{
|
|
33
|
+
id: v7(),
|
|
34
|
+
created_at: new Date().toISOString(),
|
|
35
|
+
type: "systemMessage",
|
|
36
|
+
text: AutoBeSystemPromptConstant.INTERFACE_GROUP,
|
|
37
|
+
},
|
|
38
|
+
...props.preliminary.getHistories(),
|
|
39
|
+
{
|
|
40
|
+
id: v7(),
|
|
41
|
+
created_at: new Date().toISOString(),
|
|
42
|
+
type: "assistantMessage",
|
|
43
|
+
text: StringUtil.trim`
|
|
44
|
+
Here is the database grouping information you can reference.
|
|
45
|
+
|
|
46
|
+
However, database groups are your **STARTING POINT**, not your **STRICT BOUNDARY**:
|
|
47
|
+
|
|
48
|
+
- **Use database groups as your BASELINE**: Most API groups should align with database
|
|
49
|
+
groups (1:1 mapping)
|
|
50
|
+
- **API ≠ Database**: APIs serve different purposes than normalized database schemas
|
|
51
|
+
• APIs organize by **USER WORKFLOWS** (how users interact)
|
|
52
|
+
• Databases organize by **DATA NORMALIZATION** (how data is stored)
|
|
53
|
+
- **When to DIVERGE from database groups**:
|
|
54
|
+
• Cross-schema operations: Analytics/dashboards aggregating multiple database groups
|
|
55
|
+
• Workflow-based APIs: Checkout spanning Carts + Orders + Payments
|
|
56
|
+
• Pure computation: APIs that don't touch database at all
|
|
57
|
+
• External integrations: Webhooks, third-party API gateways
|
|
58
|
+
- **CRITICAL**: Don't create 1-2 mega-groups ignoring database organization.
|
|
59
|
+
Start with database groups, then add API-specific groups as needed.
|
|
60
|
+
|
|
61
|
+
Belonged Namespace | Table Name | Stance | Summary
|
|
62
|
+
-------------------|------------|--------|-----------
|
|
63
|
+
${app?.files
|
|
64
|
+
.map((file) => file.models.map((model) => [file, model] as const))
|
|
65
|
+
.flat()
|
|
66
|
+
.map(([file, model]) =>
|
|
67
|
+
[
|
|
68
|
+
file.namespace,
|
|
69
|
+
model.name,
|
|
70
|
+
model.stance,
|
|
71
|
+
StringUtil.summary(model.description),
|
|
72
|
+
].join(" | "),
|
|
73
|
+
)
|
|
74
|
+
.join("\n")}
|
|
75
|
+
`,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: v7(),
|
|
79
|
+
created_at: new Date().toISOString(),
|
|
80
|
+
type: "assistantMessage",
|
|
81
|
+
text: StringUtil.trim`
|
|
82
|
+
## API Design Instructions
|
|
83
|
+
|
|
84
|
+
The following API-specific instructions were extracted from
|
|
85
|
+
the user's requirements. These focus on API interface design aspects
|
|
86
|
+
such as endpoint patterns, request/response formats, DTO schemas,
|
|
87
|
+
and operation specifications.
|
|
88
|
+
|
|
89
|
+
Follow these instructions when organizing API endpoints.
|
|
90
|
+
Carefully distinguish between:
|
|
91
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
92
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
93
|
+
|
|
94
|
+
When instructions contain direct specifications or explicit design decisions,
|
|
95
|
+
follow them precisely even if you believe you have better alternatives.
|
|
96
|
+
|
|
97
|
+
${props.instruction}
|
|
98
|
+
`,
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
userMessage: "Design API endpoint groups please",
|
|
102
|
+
};
|
|
103
|
+
};
|