@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,173 +1,173 @@
|
|
|
1
|
-
import { AutoBeDatabase, 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 { transformInterfaceOperationParameterHistory } from "./transformInterfaceOperationParameterHistory";
|
|
10
|
-
|
|
11
|
-
export const transformInterfaceSchemaReviewHistory = (props: {
|
|
12
|
-
state: AutoBeState;
|
|
13
|
-
instruction: string;
|
|
14
|
-
preliminary: AutoBePreliminaryController<
|
|
15
|
-
| "analysisSections"
|
|
16
|
-
| "databaseSchemas"
|
|
17
|
-
| "interfaceOperations"
|
|
18
|
-
| "interfaceSchemas"
|
|
19
|
-
| "previousAnalysisSections"
|
|
20
|
-
| "previousDatabaseSchemas"
|
|
21
|
-
| "previousInterfaceOperations"
|
|
22
|
-
| "previousInterfaceSchemas"
|
|
23
|
-
>;
|
|
24
|
-
typeName: string;
|
|
25
|
-
reviewOperations: AutoBeOpenApi.IOperation[];
|
|
26
|
-
reviewSchema: AutoBeOpenApi.IJsonSchemaDescriptive.IObject;
|
|
27
|
-
}): IAutoBeOrchestrateHistory => {
|
|
28
|
-
const everyModels: AutoBeDatabase.IModel[] =
|
|
29
|
-
props.state.database?.result.data.files.flatMap((f) => f.models) ?? [];
|
|
30
|
-
const model: AutoBeDatabase.IModel | undefined = props.reviewSchema[
|
|
31
|
-
"x-autobe-database-schema"
|
|
32
|
-
]
|
|
33
|
-
? everyModels.find(
|
|
34
|
-
(m) => m.name === props.reviewSchema["x-autobe-database-schema"],
|
|
35
|
-
)
|
|
36
|
-
: undefined;
|
|
37
|
-
|
|
38
|
-
return {
|
|
39
|
-
histories: [
|
|
40
|
-
{
|
|
41
|
-
type: "systemMessage",
|
|
42
|
-
id: v7(),
|
|
43
|
-
created_at: new Date().toISOString(),
|
|
44
|
-
text: AutoBeSystemPromptConstant.INTERFACE_SCHEMA,
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
type: "systemMessage",
|
|
48
|
-
id: v7(),
|
|
49
|
-
created_at: new Date().toISOString(),
|
|
50
|
-
text: AutoBeSystemPromptConstant.INTERFACE_SCHEMA_REVIEW,
|
|
51
|
-
},
|
|
52
|
-
...props.preliminary.getHistories(),
|
|
53
|
-
{
|
|
54
|
-
id: v7(),
|
|
55
|
-
type: "assistantMessage",
|
|
56
|
-
created_at: new Date().toISOString(),
|
|
57
|
-
text: StringUtil.trim`
|
|
58
|
-
## API Design Instructions
|
|
59
|
-
|
|
60
|
-
The following API-specific instructions were extracted from
|
|
61
|
-
the user's requirements. These focus on API interface design aspects
|
|
62
|
-
relevant to the review task.
|
|
63
|
-
|
|
64
|
-
Follow these instructions when reviewing and fixing schemas.
|
|
65
|
-
Carefully distinguish between:
|
|
66
|
-
|
|
67
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
68
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
69
|
-
|
|
70
|
-
When instructions contain direct specifications or explicit design decisions,
|
|
71
|
-
follow them precisely even if you believe you have better alternatives.
|
|
72
|
-
|
|
73
|
-
${props.instruction}
|
|
74
|
-
|
|
75
|
-
## Operations (Filtered for Target Schema)
|
|
76
|
-
|
|
77
|
-
Here are the API operations that directly use the schema under review.
|
|
78
|
-
These operations reference the target schema "${props.typeName}" via
|
|
79
|
-
requestBody.typeName or responseBody.typeName.
|
|
80
|
-
|
|
81
|
-
This FILTERED list helps you understand the exact usage context for
|
|
82
|
-
the schema you're reviewing:
|
|
83
|
-
|
|
84
|
-
\`\`\`json
|
|
85
|
-
${JSON.stringify(props.reviewOperations)}
|
|
86
|
-
\`\`\`
|
|
87
|
-
|
|
88
|
-
${transformInterfaceOperationParameterHistory({
|
|
89
|
-
typeName: props.typeName,
|
|
90
|
-
operations: props.reviewOperations,
|
|
91
|
-
})}
|
|
92
|
-
|
|
93
|
-
## DTO type to review
|
|
94
|
-
|
|
95
|
-
Here is the SPECIFIC schema that needs review for type "${props.typeName}":
|
|
96
|
-
|
|
97
|
-
\`\`\`json
|
|
98
|
-
${JSON.stringify(props.reviewSchema)}
|
|
99
|
-
\`\`\`
|
|
100
|
-
|
|
101
|
-
Also, here is the list of properties currently defined in this schema,
|
|
102
|
-
so you have to check them one by one:
|
|
103
|
-
|
|
104
|
-
${Object.keys(props.reviewSchema.properties)
|
|
105
|
-
.map((k) => `- ${k}`)
|
|
106
|
-
.join("\n")}
|
|
107
|
-
|
|
108
|
-
${transformDatabaseSchemaProperties({ everyModels, model })}
|
|
109
|
-
|
|
110
|
-
IMPORTANT: Only this schema needs review and potential modification.
|
|
111
|
-
Other schemas in the complete schema set are provided for reference
|
|
112
|
-
only.
|
|
113
|
-
`,
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
userMessage: StringUtil.trim`
|
|
117
|
-
Review the JSON schema for ${JSON.stringify(props.typeName)} type.
|
|
118
|
-
|
|
119
|
-
You MUST provide a revision for every single property in \`revises\`,
|
|
120
|
-
and declare DB properties not in this DTO in \`excludes\`:
|
|
121
|
-
${Object.keys(props.reviewSchema.properties)
|
|
122
|
-
.map((k) => `- ${k}`)
|
|
123
|
-
.join("\n")}
|
|
124
|
-
|
|
125
|
-
${transformDatabaseSchemaProperties({ everyModels, model })}
|
|
126
|
-
`,
|
|
127
|
-
};
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
function transformDatabaseSchemaProperties(props: {
|
|
131
|
-
everyModels: AutoBeDatabase.IModel[];
|
|
132
|
-
model: AutoBeDatabase.IModel | undefined;
|
|
133
|
-
}): string {
|
|
134
|
-
if (props.model === undefined) return "";
|
|
135
|
-
|
|
136
|
-
// Columns: primary key, plain fields, FK columns
|
|
137
|
-
const columns: string[] = [
|
|
138
|
-
props.model.primaryField.name,
|
|
139
|
-
...props.model.plainFields.map((f) => f.name),
|
|
140
|
-
...props.model.foreignFields.map((f) => f.name),
|
|
141
|
-
];
|
|
142
|
-
|
|
143
|
-
// Belongs-to relations (from FK)
|
|
144
|
-
const belongsTo: string[] = props.model.foreignFields.map(
|
|
145
|
-
(f) => f.relation.name,
|
|
146
|
-
);
|
|
147
|
-
|
|
148
|
-
// Has-many/has-one relations (opposite side)
|
|
149
|
-
const hasRelations: string[] = props.everyModels
|
|
150
|
-
.flatMap((m) =>
|
|
151
|
-
m.foreignFields
|
|
152
|
-
.filter((f) => f.relation.targetModel === props.model!.name)
|
|
153
|
-
.map((f) => f.relation.oppositeName),
|
|
154
|
-
)
|
|
155
|
-
.filter((name): name is string => name !== undefined);
|
|
156
|
-
|
|
157
|
-
return StringUtil.trim`
|
|
158
|
-
## Database Schema Properties for \`${props.model.name}\`
|
|
159
|
-
|
|
160
|
-
Every DB property must be explicitly handled: either mapped to a DTO property
|
|
161
|
-
in \`revises\`, or declared in \`excludes\` with a reason. Use these as
|
|
162
|
-
\`databaseSchemaProperty\` values.
|
|
163
|
-
|
|
164
|
-
**Columns** (scalar fields):
|
|
165
|
-
${columns.map((c) => `- \`${c}\``).join("\n")}
|
|
166
|
-
|
|
167
|
-
**Belongs-to Relations** (FK → object):
|
|
168
|
-
${belongsTo.length > 0 ? belongsTo.map((r) => `- \`${r}\``).join("\n") : "- (none)"}
|
|
169
|
-
|
|
170
|
-
**Has-many/Has-one Relations** (reverse side):
|
|
171
|
-
${hasRelations.length > 0 ? hasRelations.map((r) => `- \`${r}\``).join("\n") : "- (none)"}
|
|
172
|
-
`;
|
|
173
|
-
}
|
|
1
|
+
import { AutoBeDatabase, 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 { transformInterfaceOperationParameterHistory } from "./transformInterfaceOperationParameterHistory";
|
|
10
|
+
|
|
11
|
+
export const transformInterfaceSchemaReviewHistory = (props: {
|
|
12
|
+
state: AutoBeState;
|
|
13
|
+
instruction: string;
|
|
14
|
+
preliminary: AutoBePreliminaryController<
|
|
15
|
+
| "analysisSections"
|
|
16
|
+
| "databaseSchemas"
|
|
17
|
+
| "interfaceOperations"
|
|
18
|
+
| "interfaceSchemas"
|
|
19
|
+
| "previousAnalysisSections"
|
|
20
|
+
| "previousDatabaseSchemas"
|
|
21
|
+
| "previousInterfaceOperations"
|
|
22
|
+
| "previousInterfaceSchemas"
|
|
23
|
+
>;
|
|
24
|
+
typeName: string;
|
|
25
|
+
reviewOperations: AutoBeOpenApi.IOperation[];
|
|
26
|
+
reviewSchema: AutoBeOpenApi.IJsonSchemaDescriptive.IObject;
|
|
27
|
+
}): IAutoBeOrchestrateHistory => {
|
|
28
|
+
const everyModels: AutoBeDatabase.IModel[] =
|
|
29
|
+
props.state.database?.result.data.files.flatMap((f) => f.models) ?? [];
|
|
30
|
+
const model: AutoBeDatabase.IModel | undefined = props.reviewSchema[
|
|
31
|
+
"x-autobe-database-schema"
|
|
32
|
+
]
|
|
33
|
+
? everyModels.find(
|
|
34
|
+
(m) => m.name === props.reviewSchema["x-autobe-database-schema"],
|
|
35
|
+
)
|
|
36
|
+
: undefined;
|
|
37
|
+
|
|
38
|
+
return {
|
|
39
|
+
histories: [
|
|
40
|
+
{
|
|
41
|
+
type: "systemMessage",
|
|
42
|
+
id: v7(),
|
|
43
|
+
created_at: new Date().toISOString(),
|
|
44
|
+
text: AutoBeSystemPromptConstant.INTERFACE_SCHEMA,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
type: "systemMessage",
|
|
48
|
+
id: v7(),
|
|
49
|
+
created_at: new Date().toISOString(),
|
|
50
|
+
text: AutoBeSystemPromptConstant.INTERFACE_SCHEMA_REVIEW,
|
|
51
|
+
},
|
|
52
|
+
...props.preliminary.getHistories(),
|
|
53
|
+
{
|
|
54
|
+
id: v7(),
|
|
55
|
+
type: "assistantMessage",
|
|
56
|
+
created_at: new Date().toISOString(),
|
|
57
|
+
text: StringUtil.trim`
|
|
58
|
+
## API Design Instructions
|
|
59
|
+
|
|
60
|
+
The following API-specific instructions were extracted from
|
|
61
|
+
the user's requirements. These focus on API interface design aspects
|
|
62
|
+
relevant to the review task.
|
|
63
|
+
|
|
64
|
+
Follow these instructions when reviewing and fixing schemas.
|
|
65
|
+
Carefully distinguish between:
|
|
66
|
+
|
|
67
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
68
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
69
|
+
|
|
70
|
+
When instructions contain direct specifications or explicit design decisions,
|
|
71
|
+
follow them precisely even if you believe you have better alternatives.
|
|
72
|
+
|
|
73
|
+
${props.instruction}
|
|
74
|
+
|
|
75
|
+
## Operations (Filtered for Target Schema)
|
|
76
|
+
|
|
77
|
+
Here are the API operations that directly use the schema under review.
|
|
78
|
+
These operations reference the target schema "${props.typeName}" via
|
|
79
|
+
requestBody.typeName or responseBody.typeName.
|
|
80
|
+
|
|
81
|
+
This FILTERED list helps you understand the exact usage context for
|
|
82
|
+
the schema you're reviewing:
|
|
83
|
+
|
|
84
|
+
\`\`\`json
|
|
85
|
+
${JSON.stringify(props.reviewOperations)}
|
|
86
|
+
\`\`\`
|
|
87
|
+
|
|
88
|
+
${transformInterfaceOperationParameterHistory({
|
|
89
|
+
typeName: props.typeName,
|
|
90
|
+
operations: props.reviewOperations,
|
|
91
|
+
})}
|
|
92
|
+
|
|
93
|
+
## DTO type to review
|
|
94
|
+
|
|
95
|
+
Here is the SPECIFIC schema that needs review for type "${props.typeName}":
|
|
96
|
+
|
|
97
|
+
\`\`\`json
|
|
98
|
+
${JSON.stringify(props.reviewSchema)}
|
|
99
|
+
\`\`\`
|
|
100
|
+
|
|
101
|
+
Also, here is the list of properties currently defined in this schema,
|
|
102
|
+
so you have to check them one by one:
|
|
103
|
+
|
|
104
|
+
${Object.keys(props.reviewSchema.properties)
|
|
105
|
+
.map((k) => `- ${k}`)
|
|
106
|
+
.join("\n")}
|
|
107
|
+
|
|
108
|
+
${transformDatabaseSchemaProperties({ everyModels, model })}
|
|
109
|
+
|
|
110
|
+
IMPORTANT: Only this schema needs review and potential modification.
|
|
111
|
+
Other schemas in the complete schema set are provided for reference
|
|
112
|
+
only.
|
|
113
|
+
`,
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
userMessage: StringUtil.trim`
|
|
117
|
+
Review the JSON schema for ${JSON.stringify(props.typeName)} type.
|
|
118
|
+
|
|
119
|
+
You MUST provide a revision for every single property in \`revises\`,
|
|
120
|
+
and declare DB properties not in this DTO in \`excludes\`:
|
|
121
|
+
${Object.keys(props.reviewSchema.properties)
|
|
122
|
+
.map((k) => `- ${k}`)
|
|
123
|
+
.join("\n")}
|
|
124
|
+
|
|
125
|
+
${transformDatabaseSchemaProperties({ everyModels, model })}
|
|
126
|
+
`,
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
function transformDatabaseSchemaProperties(props: {
|
|
131
|
+
everyModels: AutoBeDatabase.IModel[];
|
|
132
|
+
model: AutoBeDatabase.IModel | undefined;
|
|
133
|
+
}): string {
|
|
134
|
+
if (props.model === undefined) return "";
|
|
135
|
+
|
|
136
|
+
// Columns: primary key, plain fields, FK columns
|
|
137
|
+
const columns: string[] = [
|
|
138
|
+
props.model.primaryField.name,
|
|
139
|
+
...props.model.plainFields.map((f) => f.name),
|
|
140
|
+
...props.model.foreignFields.map((f) => f.name),
|
|
141
|
+
];
|
|
142
|
+
|
|
143
|
+
// Belongs-to relations (from FK)
|
|
144
|
+
const belongsTo: string[] = props.model.foreignFields.map(
|
|
145
|
+
(f) => f.relation.name,
|
|
146
|
+
);
|
|
147
|
+
|
|
148
|
+
// Has-many/has-one relations (opposite side)
|
|
149
|
+
const hasRelations: string[] = props.everyModels
|
|
150
|
+
.flatMap((m) =>
|
|
151
|
+
m.foreignFields
|
|
152
|
+
.filter((f) => f.relation.targetModel === props.model!.name)
|
|
153
|
+
.map((f) => f.relation.oppositeName),
|
|
154
|
+
)
|
|
155
|
+
.filter((name): name is string => name !== undefined);
|
|
156
|
+
|
|
157
|
+
return StringUtil.trim`
|
|
158
|
+
## Database Schema Properties for \`${props.model.name}\`
|
|
159
|
+
|
|
160
|
+
Every DB property must be explicitly handled: either mapped to a DTO property
|
|
161
|
+
in \`revises\`, or declared in \`excludes\` with a reason. Use these as
|
|
162
|
+
\`databaseSchemaProperty\` values.
|
|
163
|
+
|
|
164
|
+
**Columns** (scalar fields):
|
|
165
|
+
${columns.map((c) => `- \`${c}\``).join("\n")}
|
|
166
|
+
|
|
167
|
+
**Belongs-to Relations** (FK → object):
|
|
168
|
+
${belongsTo.length > 0 ? belongsTo.map((r) => `- \`${r}\``).join("\n") : "- (none)"}
|
|
169
|
+
|
|
170
|
+
**Has-many/Has-one Relations** (reverse side):
|
|
171
|
+
${hasRelations.length > 0 ? hasRelations.map((r) => `- \`${r}\``).join("\n") : "- (none)"}
|
|
172
|
+
`;
|
|
173
|
+
}
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
-
import { StringUtil } from "@autobe/utils";
|
|
3
|
-
import { v7 } from "uuid";
|
|
4
|
-
|
|
5
|
-
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
-
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
7
|
-
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
8
|
-
|
|
9
|
-
export const transformInterfaceSchemaWriteHistory = (props: {
|
|
10
|
-
operations: AutoBeOpenApi.IOperation[];
|
|
11
|
-
typeName: string;
|
|
12
|
-
otherTypeNames: string[];
|
|
13
|
-
preliminary: AutoBePreliminaryController<
|
|
14
|
-
| "analysisSections"
|
|
15
|
-
| "databaseSchemas"
|
|
16
|
-
| "interfaceOperations"
|
|
17
|
-
| "previousAnalysisSections"
|
|
18
|
-
| "previousDatabaseSchemas"
|
|
19
|
-
| "previousInterfaceOperations"
|
|
20
|
-
| "previousInterfaceSchemas"
|
|
21
|
-
>;
|
|
22
|
-
instruction: string;
|
|
23
|
-
}): IAutoBeOrchestrateHistory => {
|
|
24
|
-
return {
|
|
25
|
-
histories: [
|
|
26
|
-
{
|
|
27
|
-
type: "systemMessage",
|
|
28
|
-
id: v7(),
|
|
29
|
-
created_at: new Date().toISOString(),
|
|
30
|
-
text: AutoBeSystemPromptConstant.INTERFACE_SCHEMA,
|
|
31
|
-
},
|
|
32
|
-
...props.preliminary.getHistories(),
|
|
33
|
-
{
|
|
34
|
-
type: "assistantMessage",
|
|
35
|
-
id: v7(),
|
|
36
|
-
created_at: new Date().toISOString(),
|
|
37
|
-
text: StringUtil.trim`
|
|
38
|
-
## API Design Instructions
|
|
39
|
-
|
|
40
|
-
The following API-specific instructions were extracted from
|
|
41
|
-
the user's requirements. These focus on API interface design aspects
|
|
42
|
-
such as endpoint patterns, request/response formats, DTO schemas,
|
|
43
|
-
and operation specifications.
|
|
44
|
-
|
|
45
|
-
Follow these instructions when creating JSON schema.
|
|
46
|
-
|
|
47
|
-
Carefully distinguish between:
|
|
48
|
-
|
|
49
|
-
- Suggestions or recommendations (consider these as guidance)
|
|
50
|
-
- Direct specifications or explicit commands (these must be followed exactly)
|
|
51
|
-
|
|
52
|
-
When instructions contain direct specifications or explicit design decisions,
|
|
53
|
-
follow them precisely even if you believe you have better alternatives.
|
|
54
|
-
|
|
55
|
-
${props.instruction}
|
|
56
|
-
|
|
57
|
-
## Operations (Filtered for Target Schemas)
|
|
58
|
-
|
|
59
|
-
Here is the list of API operations that directly use the schemas
|
|
60
|
-
you need to generate (via requestBody.typeName or responseBody.typeName).
|
|
61
|
-
|
|
62
|
-
These are the ONLY operations relevant to your current task - other
|
|
63
|
-
operations have been filtered out to reduce noise and improve focus:
|
|
64
|
-
|
|
65
|
-
\`\`\`json
|
|
66
|
-
${JSON.stringify(props.operations)}
|
|
67
|
-
\`\`\`
|
|
68
|
-
|
|
69
|
-
## Other DTO Type names you can reference
|
|
70
|
-
|
|
71
|
-
While creating the JSON schema for the target type, you can reference
|
|
72
|
-
other DTO types defined in the API. Here are their type names:
|
|
73
|
-
|
|
74
|
-
- ${props.otherTypeNames.map((name) => `- ${name}`).join("\n")}
|
|
75
|
-
|
|
76
|
-
## DTO type to create
|
|
77
|
-
|
|
78
|
-
Here is the specific type you need to create a JSON schema component for.
|
|
79
|
-
|
|
80
|
-
- ${JSON.stringify(props.typeName)}
|
|
81
|
-
`,
|
|
82
|
-
},
|
|
83
|
-
],
|
|
84
|
-
userMessage: StringUtil.trim`
|
|
85
|
-
Design the JSON schema for ${JSON.stringify(props.typeName)} type.
|
|
86
|
-
`,
|
|
87
|
-
};
|
|
88
|
-
};
|
|
1
|
+
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
+
import { StringUtil } from "@autobe/utils";
|
|
3
|
+
import { v7 } from "uuid";
|
|
4
|
+
|
|
5
|
+
import { AutoBeSystemPromptConstant } from "../../../constants/AutoBeSystemPromptConstant";
|
|
6
|
+
import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory";
|
|
7
|
+
import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController";
|
|
8
|
+
|
|
9
|
+
export const transformInterfaceSchemaWriteHistory = (props: {
|
|
10
|
+
operations: AutoBeOpenApi.IOperation[];
|
|
11
|
+
typeName: string;
|
|
12
|
+
otherTypeNames: string[];
|
|
13
|
+
preliminary: AutoBePreliminaryController<
|
|
14
|
+
| "analysisSections"
|
|
15
|
+
| "databaseSchemas"
|
|
16
|
+
| "interfaceOperations"
|
|
17
|
+
| "previousAnalysisSections"
|
|
18
|
+
| "previousDatabaseSchemas"
|
|
19
|
+
| "previousInterfaceOperations"
|
|
20
|
+
| "previousInterfaceSchemas"
|
|
21
|
+
>;
|
|
22
|
+
instruction: string;
|
|
23
|
+
}): IAutoBeOrchestrateHistory => {
|
|
24
|
+
return {
|
|
25
|
+
histories: [
|
|
26
|
+
{
|
|
27
|
+
type: "systemMessage",
|
|
28
|
+
id: v7(),
|
|
29
|
+
created_at: new Date().toISOString(),
|
|
30
|
+
text: AutoBeSystemPromptConstant.INTERFACE_SCHEMA,
|
|
31
|
+
},
|
|
32
|
+
...props.preliminary.getHistories(),
|
|
33
|
+
{
|
|
34
|
+
type: "assistantMessage",
|
|
35
|
+
id: v7(),
|
|
36
|
+
created_at: new Date().toISOString(),
|
|
37
|
+
text: StringUtil.trim`
|
|
38
|
+
## API Design Instructions
|
|
39
|
+
|
|
40
|
+
The following API-specific instructions were extracted from
|
|
41
|
+
the user's requirements. These focus on API interface design aspects
|
|
42
|
+
such as endpoint patterns, request/response formats, DTO schemas,
|
|
43
|
+
and operation specifications.
|
|
44
|
+
|
|
45
|
+
Follow these instructions when creating JSON schema.
|
|
46
|
+
|
|
47
|
+
Carefully distinguish between:
|
|
48
|
+
|
|
49
|
+
- Suggestions or recommendations (consider these as guidance)
|
|
50
|
+
- Direct specifications or explicit commands (these must be followed exactly)
|
|
51
|
+
|
|
52
|
+
When instructions contain direct specifications or explicit design decisions,
|
|
53
|
+
follow them precisely even if you believe you have better alternatives.
|
|
54
|
+
|
|
55
|
+
${props.instruction}
|
|
56
|
+
|
|
57
|
+
## Operations (Filtered for Target Schemas)
|
|
58
|
+
|
|
59
|
+
Here is the list of API operations that directly use the schemas
|
|
60
|
+
you need to generate (via requestBody.typeName or responseBody.typeName).
|
|
61
|
+
|
|
62
|
+
These are the ONLY operations relevant to your current task - other
|
|
63
|
+
operations have been filtered out to reduce noise and improve focus:
|
|
64
|
+
|
|
65
|
+
\`\`\`json
|
|
66
|
+
${JSON.stringify(props.operations)}
|
|
67
|
+
\`\`\`
|
|
68
|
+
|
|
69
|
+
## Other DTO Type names you can reference
|
|
70
|
+
|
|
71
|
+
While creating the JSON schema for the target type, you can reference
|
|
72
|
+
other DTO types defined in the API. Here are their type names:
|
|
73
|
+
|
|
74
|
+
- ${props.otherTypeNames.map((name) => `- ${name}`).join("\n")}
|
|
75
|
+
|
|
76
|
+
## DTO type to create
|
|
77
|
+
|
|
78
|
+
Here is the specific type you need to create a JSON schema component for.
|
|
79
|
+
|
|
80
|
+
- ${JSON.stringify(props.typeName)}
|
|
81
|
+
`,
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
userMessage: StringUtil.trim`
|
|
85
|
+
Design the JSON schema for ${JSON.stringify(props.typeName)} type.
|
|
86
|
+
`,
|
|
87
|
+
};
|
|
88
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from "./orchestrateInterfaceAuthorization";
|
|
2
|
-
export * from "./orchestrateInterfaceGroup";
|
|
3
|
-
export * from "./orchestrateInterfaceEndpoint";
|
|
4
|
-
export * from "./orchestrateInterfaceOperation";
|
|
5
|
-
export * from "./orchestrateInterfaceSchema";
|
|
6
|
-
export * from "./orchestrateInterfacePrerequisite";
|
|
1
|
+
export * from "./orchestrateInterfaceAuthorization";
|
|
2
|
+
export * from "./orchestrateInterfaceGroup";
|
|
3
|
+
export * from "./orchestrateInterfaceEndpoint";
|
|
4
|
+
export * from "./orchestrateInterfaceOperation";
|
|
5
|
+
export * from "./orchestrateInterfaceSchema";
|
|
6
|
+
export * from "./orchestrateInterfacePrerequisite";
|