@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,92 +1,92 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AutoBeDatabaseComponentTableDesign,
|
|
3
|
-
AutoBeDatabaseSchemaDefinition,
|
|
4
|
-
} from "@autobe/interface";
|
|
5
|
-
import { StringUtil } from "@autobe/utils";
|
|
6
|
-
import { singular } from "pluralize";
|
|
7
|
-
import { IValidation } from "typia";
|
|
8
|
-
|
|
9
|
-
import { AutoBeDatabaseModelProgrammer } from "./AutoBeDatabaseModelProgrammer";
|
|
10
|
-
|
|
11
|
-
export namespace AutoBeDatabaseSchemaProgrammer {
|
|
12
|
-
export const validate = (props: {
|
|
13
|
-
path: string;
|
|
14
|
-
errors: IValidation.IError[];
|
|
15
|
-
targetTable: string;
|
|
16
|
-
otherTables: string[];
|
|
17
|
-
definition: AutoBeDatabaseSchemaDefinition;
|
|
18
|
-
}): void => {
|
|
19
|
-
// emend and fix table names
|
|
20
|
-
AutoBeDatabaseModelProgrammer.emend(props.definition.model);
|
|
21
|
-
for (const design of props.definition.newDesigns)
|
|
22
|
-
design.name = AutoBeDatabaseModelProgrammer.fixName(design.name);
|
|
23
|
-
|
|
24
|
-
// remove wrong named designs
|
|
25
|
-
for (let i: number = props.definition.newDesigns.length - 1; i >= 0; i--) {
|
|
26
|
-
const design: AutoBeDatabaseComponentTableDesign =
|
|
27
|
-
props.definition.newDesigns[i]!;
|
|
28
|
-
if (props.otherTables.includes(design.name) === false) {
|
|
29
|
-
// to give validation feedback
|
|
30
|
-
continue;
|
|
31
|
-
} else if (
|
|
32
|
-
design.name.startsWith(singular(props.definition.model.name))
|
|
33
|
-
) {
|
|
34
|
-
// correct and intended name
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
|
-
props.definition.newDesigns.splice(i, 1);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// check whether target table exists
|
|
41
|
-
if (props.targetTable !== props.definition.model.name)
|
|
42
|
-
props.errors.push({
|
|
43
|
-
path: `${props.path}.model.name`,
|
|
44
|
-
expected: `"${props.targetTable}"`,
|
|
45
|
-
value: props.definition.model.name,
|
|
46
|
-
description: StringUtil.trim`
|
|
47
|
-
The model must be named exactly "${props.targetTable}",
|
|
48
|
-
which is the target table assigned to this agent.
|
|
49
|
-
|
|
50
|
-
Fix: Rename the model to "${props.targetTable}".
|
|
51
|
-
`,
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
const prefix: string = `${singular(props.targetTable)}_`;
|
|
55
|
-
props.definition.newDesigns.forEach((design, i) => {
|
|
56
|
-
if (design.name.startsWith(prefix) === false)
|
|
57
|
-
props.errors.push({
|
|
58
|
-
path: `${props.path}[${i}].name`,
|
|
59
|
-
expected: `"${props.targetTable}" | \`${prefix}\${string}\``,
|
|
60
|
-
value: design.name,
|
|
61
|
-
description: StringUtil.trim`
|
|
62
|
-
New design "${design.name}" violates the naming convention.
|
|
63
|
-
|
|
64
|
-
Every newDesigns entry must be a 1NF child table whose name
|
|
65
|
-
starts with the singular prefix "${prefix}"
|
|
66
|
-
(e.g., "${prefix}items", "${prefix}details").
|
|
67
|
-
|
|
68
|
-
Reconsider whether "${design.name}" is truly needed, or
|
|
69
|
-
rename it to start with "${prefix}" if it belongs to
|
|
70
|
-
this target table.
|
|
71
|
-
`,
|
|
72
|
-
});
|
|
73
|
-
else if (props.otherTables.includes(design.name) === true)
|
|
74
|
-
props.errors.push({
|
|
75
|
-
path: `${props.path}[${i}].name`,
|
|
76
|
-
expected: `A name not colliding with neighboring tables`,
|
|
77
|
-
value: design.name,
|
|
78
|
-
description: StringUtil.trim`
|
|
79
|
-
New design "${design.name}" collides with a table that
|
|
80
|
-
already exists or is assigned to another agent.
|
|
81
|
-
|
|
82
|
-
Tables you must not collide with:
|
|
83
|
-
${props.otherTables.map((t) => `- ${t}`).join("\n")}
|
|
84
|
-
|
|
85
|
-
Reconsider whether this new design is necessary, or
|
|
86
|
-
choose a different name with the "${prefix}" prefix
|
|
87
|
-
that does not overlap with any of the above tables.
|
|
88
|
-
`,
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
AutoBeDatabaseComponentTableDesign,
|
|
3
|
+
AutoBeDatabaseSchemaDefinition,
|
|
4
|
+
} from "@autobe/interface";
|
|
5
|
+
import { StringUtil } from "@autobe/utils";
|
|
6
|
+
import { singular } from "pluralize";
|
|
7
|
+
import { IValidation } from "typia";
|
|
8
|
+
|
|
9
|
+
import { AutoBeDatabaseModelProgrammer } from "./AutoBeDatabaseModelProgrammer";
|
|
10
|
+
|
|
11
|
+
export namespace AutoBeDatabaseSchemaProgrammer {
|
|
12
|
+
export const validate = (props: {
|
|
13
|
+
path: string;
|
|
14
|
+
errors: IValidation.IError[];
|
|
15
|
+
targetTable: string;
|
|
16
|
+
otherTables: string[];
|
|
17
|
+
definition: AutoBeDatabaseSchemaDefinition;
|
|
18
|
+
}): void => {
|
|
19
|
+
// emend and fix table names
|
|
20
|
+
AutoBeDatabaseModelProgrammer.emend(props.definition.model);
|
|
21
|
+
for (const design of props.definition.newDesigns)
|
|
22
|
+
design.name = AutoBeDatabaseModelProgrammer.fixName(design.name);
|
|
23
|
+
|
|
24
|
+
// remove wrong named designs
|
|
25
|
+
for (let i: number = props.definition.newDesigns.length - 1; i >= 0; i--) {
|
|
26
|
+
const design: AutoBeDatabaseComponentTableDesign =
|
|
27
|
+
props.definition.newDesigns[i]!;
|
|
28
|
+
if (props.otherTables.includes(design.name) === false) {
|
|
29
|
+
// to give validation feedback
|
|
30
|
+
continue;
|
|
31
|
+
} else if (
|
|
32
|
+
design.name.startsWith(singular(props.definition.model.name))
|
|
33
|
+
) {
|
|
34
|
+
// correct and intended name
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
props.definition.newDesigns.splice(i, 1);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// check whether target table exists
|
|
41
|
+
if (props.targetTable !== props.definition.model.name)
|
|
42
|
+
props.errors.push({
|
|
43
|
+
path: `${props.path}.model.name`,
|
|
44
|
+
expected: `"${props.targetTable}"`,
|
|
45
|
+
value: props.definition.model.name,
|
|
46
|
+
description: StringUtil.trim`
|
|
47
|
+
The model must be named exactly "${props.targetTable}",
|
|
48
|
+
which is the target table assigned to this agent.
|
|
49
|
+
|
|
50
|
+
Fix: Rename the model to "${props.targetTable}".
|
|
51
|
+
`,
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const prefix: string = `${singular(props.targetTable)}_`;
|
|
55
|
+
props.definition.newDesigns.forEach((design, i) => {
|
|
56
|
+
if (design.name.startsWith(prefix) === false)
|
|
57
|
+
props.errors.push({
|
|
58
|
+
path: `${props.path}[${i}].name`,
|
|
59
|
+
expected: `"${props.targetTable}" | \`${prefix}\${string}\``,
|
|
60
|
+
value: design.name,
|
|
61
|
+
description: StringUtil.trim`
|
|
62
|
+
New design "${design.name}" violates the naming convention.
|
|
63
|
+
|
|
64
|
+
Every newDesigns entry must be a 1NF child table whose name
|
|
65
|
+
starts with the singular prefix "${prefix}"
|
|
66
|
+
(e.g., "${prefix}items", "${prefix}details").
|
|
67
|
+
|
|
68
|
+
Reconsider whether "${design.name}" is truly needed, or
|
|
69
|
+
rename it to start with "${prefix}" if it belongs to
|
|
70
|
+
this target table.
|
|
71
|
+
`,
|
|
72
|
+
});
|
|
73
|
+
else if (props.otherTables.includes(design.name) === true)
|
|
74
|
+
props.errors.push({
|
|
75
|
+
path: `${props.path}[${i}].name`,
|
|
76
|
+
expected: `A name not colliding with neighboring tables`,
|
|
77
|
+
value: design.name,
|
|
78
|
+
description: StringUtil.trim`
|
|
79
|
+
New design "${design.name}" collides with a table that
|
|
80
|
+
already exists or is assigned to another agent.
|
|
81
|
+
|
|
82
|
+
Tables you must not collide with:
|
|
83
|
+
${props.otherTables.map((t) => `- ${t}`).join("\n")}
|
|
84
|
+
|
|
85
|
+
Reconsider whether this new design is necessary, or
|
|
86
|
+
choose a different name with the "${prefix}" prefix
|
|
87
|
+
that does not overlap with any of the above tables.
|
|
88
|
+
`,
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
}
|
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
import { AutoBeDatabaseComponentTableDesign } from "@autobe/interface";
|
|
2
|
-
import { tags } from "typia";
|
|
3
|
-
|
|
4
|
-
import { IAutoBePreliminaryGetAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetAnalysisSections";
|
|
5
|
-
import { IAutoBePreliminaryGetPreviousAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetPreviousAnalysisSections";
|
|
6
|
-
import { IAutoBePreliminaryGetPreviousDatabaseSchemas } from "../../common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas";
|
|
7
|
-
|
|
8
|
-
export interface IAutoBeDatabaseAuthorizationApplication {
|
|
9
|
-
/**
|
|
10
|
-
* Process authorization table design task for all actors or preliminary data
|
|
11
|
-
* requests.
|
|
12
|
-
*
|
|
13
|
-
* Receives all actor definitions (name, kind, description for each) and
|
|
14
|
-
* generates all authentication and authorization related tables for every
|
|
15
|
-
* actor type (guest/member/admin) in a single call. This includes for each
|
|
16
|
-
* actor:
|
|
17
|
-
*
|
|
18
|
-
* - The main actor table (e.g., users, administrators, guests)
|
|
19
|
-
* - Session tables for JWT token management
|
|
20
|
-
* - Authentication support tables (password reset, email verification, etc.)
|
|
21
|
-
*
|
|
22
|
-
* This agent is responsible for ALL actor-related tables. The Database
|
|
23
|
-
* Component agent will NOT create any actor or authentication tables.
|
|
24
|
-
*
|
|
25
|
-
* @param props Request containing either preliminary data request or complete
|
|
26
|
-
* table design for all actors
|
|
27
|
-
*/
|
|
28
|
-
process(props: IAutoBeDatabaseAuthorizationApplication.IProps): void;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export namespace IAutoBeDatabaseAuthorizationApplication {
|
|
32
|
-
export interface IProps {
|
|
33
|
-
/**
|
|
34
|
-
* Think before you act.
|
|
35
|
-
*
|
|
36
|
-
* Before requesting preliminary data or completing your task, reflect on
|
|
37
|
-
* your current state and explain your reasoning:
|
|
38
|
-
*
|
|
39
|
-
* For preliminary requests (getAnalysisSections,
|
|
40
|
-
* getPreviousAnalysisSections, getPreviousDatabaseSchemas):
|
|
41
|
-
*
|
|
42
|
-
* - What critical information is missing for designing auth tables?
|
|
43
|
-
* - Why do you need it specifically right now?
|
|
44
|
-
* - Be brief - state the gap, don't list everything you have.
|
|
45
|
-
*
|
|
46
|
-
* For completion (complete):
|
|
47
|
-
*
|
|
48
|
-
* - What tables did you design for this actor?
|
|
49
|
-
* - How does the design support authentication workflows?
|
|
50
|
-
* - Summarize - don't enumerate every single item.
|
|
51
|
-
*
|
|
52
|
-
* This reflection helps you avoid duplicate requests and premature
|
|
53
|
-
* completion.
|
|
54
|
-
*/
|
|
55
|
-
thinking: string;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Type discriminator for the request.
|
|
59
|
-
*
|
|
60
|
-
* Determines which action to perform: preliminary data retrieval
|
|
61
|
-
* (getAnalysisSections, getPreviousAnalysisSections,
|
|
62
|
-
* getPreviousDatabaseSchemas) or final table design (complete). When
|
|
63
|
-
* preliminary returns empty array, that type is removed from the union,
|
|
64
|
-
* physically preventing repeated calls.
|
|
65
|
-
*/
|
|
66
|
-
request:
|
|
67
|
-
| IComplete
|
|
68
|
-
| IAutoBePreliminaryGetAnalysisSections
|
|
69
|
-
| IAutoBePreliminaryGetPreviousAnalysisSections
|
|
70
|
-
| IAutoBePreliminaryGetPreviousDatabaseSchemas;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Request to complete the authorization table design for all actors.
|
|
75
|
-
*
|
|
76
|
-
* Takes all actor definitions (name, kind, description for each) and
|
|
77
|
-
* generates all database tables required for every actor's authentication and
|
|
78
|
-
* authorization needs, including main actor tables, session tables, and any
|
|
79
|
-
* authentication support tables for each actor.
|
|
80
|
-
*
|
|
81
|
-
* This is about creating tables for ALL actors in a single call. Each actor
|
|
82
|
-
* must have at minimum a main actor table and a session table.
|
|
83
|
-
*/
|
|
84
|
-
export interface IComplete {
|
|
85
|
-
/**
|
|
86
|
-
* Type discriminator for the request.
|
|
87
|
-
*
|
|
88
|
-
* Determines which action to perform: preliminary data retrieval or actual
|
|
89
|
-
* task execution. Value "complete" indicates this is the final task
|
|
90
|
-
* execution request.
|
|
91
|
-
*/
|
|
92
|
-
type: "complete";
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Analysis of all actors' authentication requirements.
|
|
96
|
-
*
|
|
97
|
-
* Documents the agent's understanding of each actor's authentication needs:
|
|
98
|
-
*
|
|
99
|
-
* - What actors exist and their kinds (guest/member/admin)?
|
|
100
|
-
* - What authentication patterns apply to each actor kind?
|
|
101
|
-
* - What authentication features are required (login, registration, etc.)?
|
|
102
|
-
* - What are the session management requirements for each actor?
|
|
103
|
-
* - Are there any special authentication mechanisms (2FA, OAuth, etc.)?
|
|
104
|
-
*/
|
|
105
|
-
analysis: string;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Rationale for the authorization table design decisions.
|
|
109
|
-
*
|
|
110
|
-
* Explains why tables were designed this way:
|
|
111
|
-
*
|
|
112
|
-
* - Why was each table created for each actor?
|
|
113
|
-
* - What is the relationship between actor and session tables?
|
|
114
|
-
* - How do tables support the authentication workflow for all actors?
|
|
115
|
-
* - What normalization decisions were made for auth-related data?
|
|
116
|
-
*/
|
|
117
|
-
rationale: string;
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Array of table designs for ALL ACTORS' authentication domains.
|
|
121
|
-
*
|
|
122
|
-
* Contains all database tables required for every actor's authentication
|
|
123
|
-
* and authorization needs. Each table design includes table name
|
|
124
|
-
* (snake_case, plural) and description explaining the table's purpose.
|
|
125
|
-
*
|
|
126
|
-
* The AI agent must design tables based on:
|
|
127
|
-
*
|
|
128
|
-
* - Each actor's kind (guest/member/admin) and its authentication patterns
|
|
129
|
-
* - Authentication requirements from analysis sections
|
|
130
|
-
* - Session management requirements (JWT, refresh tokens)
|
|
131
|
-
* - Security requirements (password policies, 2FA)
|
|
132
|
-
*
|
|
133
|
-
* MUST include for EACH actor:
|
|
134
|
-
*
|
|
135
|
-
* - Main actor table (e.g., `users`, `administrators`, `guests`)
|
|
136
|
-
* - Session table (e.g., `user_sessions`, `administrator_sessions`)
|
|
137
|
-
*
|
|
138
|
-
* MAY include (based on requirements):
|
|
139
|
-
*
|
|
140
|
-
* - Password reset tokens table
|
|
141
|
-
* - Email verification tokens table
|
|
142
|
-
* - OAuth connections table
|
|
143
|
-
* - Two-factor authentication tokens table
|
|
144
|
-
*/
|
|
145
|
-
tables: AutoBeDatabaseComponentTableDesign[] & tags.MinItems<1>;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
1
|
+
import { AutoBeDatabaseComponentTableDesign } from "@autobe/interface";
|
|
2
|
+
import { tags } from "typia";
|
|
3
|
+
|
|
4
|
+
import { IAutoBePreliminaryGetAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetAnalysisSections";
|
|
5
|
+
import { IAutoBePreliminaryGetPreviousAnalysisSections } from "../../common/structures/IAutoBePreliminaryGetPreviousAnalysisSections";
|
|
6
|
+
import { IAutoBePreliminaryGetPreviousDatabaseSchemas } from "../../common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas";
|
|
7
|
+
|
|
8
|
+
export interface IAutoBeDatabaseAuthorizationApplication {
|
|
9
|
+
/**
|
|
10
|
+
* Process authorization table design task for all actors or preliminary data
|
|
11
|
+
* requests.
|
|
12
|
+
*
|
|
13
|
+
* Receives all actor definitions (name, kind, description for each) and
|
|
14
|
+
* generates all authentication and authorization related tables for every
|
|
15
|
+
* actor type (guest/member/admin) in a single call. This includes for each
|
|
16
|
+
* actor:
|
|
17
|
+
*
|
|
18
|
+
* - The main actor table (e.g., users, administrators, guests)
|
|
19
|
+
* - Session tables for JWT token management
|
|
20
|
+
* - Authentication support tables (password reset, email verification, etc.)
|
|
21
|
+
*
|
|
22
|
+
* This agent is responsible for ALL actor-related tables. The Database
|
|
23
|
+
* Component agent will NOT create any actor or authentication tables.
|
|
24
|
+
*
|
|
25
|
+
* @param props Request containing either preliminary data request or complete
|
|
26
|
+
* table design for all actors
|
|
27
|
+
*/
|
|
28
|
+
process(props: IAutoBeDatabaseAuthorizationApplication.IProps): void;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export namespace IAutoBeDatabaseAuthorizationApplication {
|
|
32
|
+
export interface IProps {
|
|
33
|
+
/**
|
|
34
|
+
* Think before you act.
|
|
35
|
+
*
|
|
36
|
+
* Before requesting preliminary data or completing your task, reflect on
|
|
37
|
+
* your current state and explain your reasoning:
|
|
38
|
+
*
|
|
39
|
+
* For preliminary requests (getAnalysisSections,
|
|
40
|
+
* getPreviousAnalysisSections, getPreviousDatabaseSchemas):
|
|
41
|
+
*
|
|
42
|
+
* - What critical information is missing for designing auth tables?
|
|
43
|
+
* - Why do you need it specifically right now?
|
|
44
|
+
* - Be brief - state the gap, don't list everything you have.
|
|
45
|
+
*
|
|
46
|
+
* For completion (complete):
|
|
47
|
+
*
|
|
48
|
+
* - What tables did you design for this actor?
|
|
49
|
+
* - How does the design support authentication workflows?
|
|
50
|
+
* - Summarize - don't enumerate every single item.
|
|
51
|
+
*
|
|
52
|
+
* This reflection helps you avoid duplicate requests and premature
|
|
53
|
+
* completion.
|
|
54
|
+
*/
|
|
55
|
+
thinking: string;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Type discriminator for the request.
|
|
59
|
+
*
|
|
60
|
+
* Determines which action to perform: preliminary data retrieval
|
|
61
|
+
* (getAnalysisSections, getPreviousAnalysisSections,
|
|
62
|
+
* getPreviousDatabaseSchemas) or final table design (complete). When
|
|
63
|
+
* preliminary returns empty array, that type is removed from the union,
|
|
64
|
+
* physically preventing repeated calls.
|
|
65
|
+
*/
|
|
66
|
+
request:
|
|
67
|
+
| IComplete
|
|
68
|
+
| IAutoBePreliminaryGetAnalysisSections
|
|
69
|
+
| IAutoBePreliminaryGetPreviousAnalysisSections
|
|
70
|
+
| IAutoBePreliminaryGetPreviousDatabaseSchemas;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Request to complete the authorization table design for all actors.
|
|
75
|
+
*
|
|
76
|
+
* Takes all actor definitions (name, kind, description for each) and
|
|
77
|
+
* generates all database tables required for every actor's authentication and
|
|
78
|
+
* authorization needs, including main actor tables, session tables, and any
|
|
79
|
+
* authentication support tables for each actor.
|
|
80
|
+
*
|
|
81
|
+
* This is about creating tables for ALL actors in a single call. Each actor
|
|
82
|
+
* must have at minimum a main actor table and a session table.
|
|
83
|
+
*/
|
|
84
|
+
export interface IComplete {
|
|
85
|
+
/**
|
|
86
|
+
* Type discriminator for the request.
|
|
87
|
+
*
|
|
88
|
+
* Determines which action to perform: preliminary data retrieval or actual
|
|
89
|
+
* task execution. Value "complete" indicates this is the final task
|
|
90
|
+
* execution request.
|
|
91
|
+
*/
|
|
92
|
+
type: "complete";
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Analysis of all actors' authentication requirements.
|
|
96
|
+
*
|
|
97
|
+
* Documents the agent's understanding of each actor's authentication needs:
|
|
98
|
+
*
|
|
99
|
+
* - What actors exist and their kinds (guest/member/admin)?
|
|
100
|
+
* - What authentication patterns apply to each actor kind?
|
|
101
|
+
* - What authentication features are required (login, registration, etc.)?
|
|
102
|
+
* - What are the session management requirements for each actor?
|
|
103
|
+
* - Are there any special authentication mechanisms (2FA, OAuth, etc.)?
|
|
104
|
+
*/
|
|
105
|
+
analysis: string;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Rationale for the authorization table design decisions.
|
|
109
|
+
*
|
|
110
|
+
* Explains why tables were designed this way:
|
|
111
|
+
*
|
|
112
|
+
* - Why was each table created for each actor?
|
|
113
|
+
* - What is the relationship between actor and session tables?
|
|
114
|
+
* - How do tables support the authentication workflow for all actors?
|
|
115
|
+
* - What normalization decisions were made for auth-related data?
|
|
116
|
+
*/
|
|
117
|
+
rationale: string;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Array of table designs for ALL ACTORS' authentication domains.
|
|
121
|
+
*
|
|
122
|
+
* Contains all database tables required for every actor's authentication
|
|
123
|
+
* and authorization needs. Each table design includes table name
|
|
124
|
+
* (snake_case, plural) and description explaining the table's purpose.
|
|
125
|
+
*
|
|
126
|
+
* The AI agent must design tables based on:
|
|
127
|
+
*
|
|
128
|
+
* - Each actor's kind (guest/member/admin) and its authentication patterns
|
|
129
|
+
* - Authentication requirements from analysis sections
|
|
130
|
+
* - Session management requirements (JWT, refresh tokens)
|
|
131
|
+
* - Security requirements (password policies, 2FA)
|
|
132
|
+
*
|
|
133
|
+
* MUST include for EACH actor:
|
|
134
|
+
*
|
|
135
|
+
* - Main actor table (e.g., `users`, `administrators`, `guests`)
|
|
136
|
+
* - Session table (e.g., `user_sessions`, `administrator_sessions`)
|
|
137
|
+
*
|
|
138
|
+
* MAY include (based on requirements):
|
|
139
|
+
*
|
|
140
|
+
* - Password reset tokens table
|
|
141
|
+
* - Email verification tokens table
|
|
142
|
+
* - OAuth connections table
|
|
143
|
+
* - Two-factor authentication tokens table
|
|
144
|
+
*/
|
|
145
|
+
tables: AutoBeDatabaseComponentTableDesign[] & tags.MinItems<1>;
|
|
146
|
+
}
|
|
147
|
+
}
|