@autobe/agent 0.30.0-dev.20260315 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -661
- package/lib/constants/AutoBeTemplateFileConstant.d.ts +1 -1
- package/lib/factory/consentFunctionCall.js +4 -4
- package/lib/factory/createAutoBeContext.js +24 -24
- package/lib/factory/createAutoBeMessageContent.js +6 -6
- package/lib/index.mjs +41 -41
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.js +18 -18
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.js +13 -13
- package/lib/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.js +47 -47
- package/lib/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.js +66 -66
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.js +91 -91
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.js +46 -46
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.js +72 -72
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js +1 -1
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.js +5 -5
- package/lib/orchestrate/common/histories/transformPreliminaryHistory.js +44 -44
- package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js +44 -44
- package/lib/orchestrate/common/internal/fixPrelminaryApplication.js +22 -22
- package/lib/orchestrate/common/internal/validatePreliminary.js +116 -116
- package/lib/orchestrate/facade/createAutoBeFacadeController.js +3 -3
- package/lib/orchestrate/facade/structures/transformFacadeStateMessage.js +20 -20
- package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.js +34 -34
- package/lib/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.js +37 -37
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js +56 -56
- package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.js +26 -26
- package/lib/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.js +28 -28
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.js +11 -11
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js +38 -38
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js +29 -29
- package/lib/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.js +15 -15
- package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js +6 -6
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js +25 -25
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.js +67 -67
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.js +60 -60
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.js +83 -83
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js +29 -29
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js +74 -74
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.js +46 -46
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +9 -9
- package/lib/orchestrate/interface/orchestrateInterfaceOperation.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +4 -4
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js +5 -5
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js +1 -1
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.js +90 -90
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.js +6 -6
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.js +25 -25
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.js +71 -71
- package/lib/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.js +162 -162
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.js +11 -11
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.js +73 -73
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.js +35 -35
- package/lib/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.js +11 -11
- package/lib/orchestrate/interface/utils/AutoBeJsonSchemaFactory.js +4 -4
- package/lib/orchestrate/interface/utils/AutoBeJsonSchemaValidator.js +283 -283
- package/lib/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.js +76 -76
- package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.js +76 -76
- package/lib/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.js +51 -51
- package/lib/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.js +54 -54
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js +83 -83
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js +6 -6
- package/lib/orchestrate/prisma/histories/transformPrismaGroupHistory.js +22 -22
- package/lib/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.js +41 -41
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js +39 -39
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.js +41 -41
- package/lib/orchestrate/prisma/orchestratePrismaAuthorization.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaGroup.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js +1 -1
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.js +23 -23
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.js +7 -7
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.js +5 -5
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.js +20 -20
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.js +13 -13
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.js +51 -51
- package/lib/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.js +25 -25
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js +28 -28
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js +14 -14
- package/lib/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.js +42 -42
- package/lib/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.js +27 -27
- package/lib/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.js +57 -57
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js +35 -35
- package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js +14 -14
- package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js +37 -37
- package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js.map +1 -1
- package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js +47 -47
- package/lib/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.js +27 -27
- package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js +51 -51
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCollectorPlan.js +11 -11
- package/lib/orchestrate/realize/orchestrateRealizeCollectorWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeOperationWrite.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeTransformerPlan.js +11 -11
- package/lib/orchestrate/realize/orchestrateRealizeTransformerWrite.js +1 -1
- package/lib/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.js +41 -41
- package/lib/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.js +21 -21
- package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js +57 -57
- package/lib/orchestrate/realize/utils/getRealizeWriteInputType.js +3 -3
- package/lib/orchestrate/realize/utils/printErrorHints.js +5 -5
- package/lib/orchestrate/test/compile/getTestImportStatements.js +9 -9
- package/lib/orchestrate/test/histories/transformTestAuthorizeWriteHistory.js +38 -38
- package/lib/orchestrate/test/histories/transformTestGenerationWriteHistory.js +79 -79
- package/lib/orchestrate/test/histories/transformTestOperationWriteHistory.js +162 -162
- package/lib/orchestrate/test/histories/transformTestPrepareWriteHistory.js +54 -54
- package/lib/orchestrate/test/histories/transformTestScenarioHistory.js +31 -31
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js +27 -27
- package/lib/orchestrate/test/orchestrateTestScenario.js +1 -1
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js +1 -1
- package/lib/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.js +31 -31
- package/lib/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.js +23 -23
- package/lib/orchestrate/test/programmers/AutoBeTestOperationProgrammer.js +6 -6
- package/lib/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.js +34 -34
- package/lib/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.js +39 -39
- package/lib/utils/predicateStateMessage.js +19 -19
- package/lib/utils/validateEmptyCode.js +16 -16
- package/package.json +5 -5
- package/src/AutoBeAgent.ts +374 -374
- package/src/AutoBeAgentBase.ts +126 -126
- package/src/AutoBeMockAgent.ts +254 -254
- package/src/constants/AutoBeConfigConstant.ts +173 -173
- package/src/constants/AutoBeTemplateFileConstant.ts +1 -1
- package/src/context/AutoBeContext.ts +107 -107
- package/src/context/AutoBeState.ts +66 -66
- package/src/context/AutoBeTokenUsage.ts +307 -307
- package/src/context/AutoBeTokenUsageComponent.ts +227 -227
- package/src/describe/describe.ts +47 -47
- package/src/describe/image/histories/transformImageDescribeDraftHistories.ts +16 -16
- package/src/describe/image/orchestrateImageDescribeDraft.ts +200 -200
- package/src/describe/image/structures/IAutoBeImageDescribeDraftApplication.ts +92 -92
- package/src/describe/imageDescribe.ts +64 -64
- package/src/factory/consentFunctionCall.ts +141 -141
- package/src/factory/createAgenticaHistory.ts +71 -71
- package/src/factory/createAutoBeContext.ts +584 -584
- package/src/factory/createAutoBeMessageContent.ts +36 -36
- package/src/factory/createAutoBeState.ts +20 -20
- package/src/factory/getAutoBeGenerated.ts +317 -317
- package/src/factory/getAutoBeRealizeGenerated.ts +31 -31
- package/src/factory/getCriticalCompiler.ts +52 -52
- package/src/factory/index.ts +1 -1
- package/src/factory/mergeSystemMessages.ts +60 -60
- package/src/factory/supportFunctionCallFallback.ts +214 -214
- package/src/factory/supportMistral.ts +138 -138
- package/src/index.ts +16 -16
- package/src/orchestrate/analyze/fillTocDeterministic.ts +280 -280
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistory.ts +55 -55
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioReviewHistory.ts +74 -74
- package/src/orchestrate/analyze/histories/transformAnalyzeSectionCrossFileReviewHistory.ts +179 -179
- package/src/orchestrate/analyze/histories/transformAnalyzeSectionReviewHistory.ts +163 -163
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionHistory.ts +191 -191
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteSectionPatchHistory.ts +122 -122
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteUnitHistory.ts +161 -161
- package/src/orchestrate/analyze/index.ts +7 -7
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +1693 -1693
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +267 -267
- package/src/orchestrate/analyze/orchestrateAnalyzeScenarioReview.ts +122 -122
- package/src/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.ts +146 -146
- package/src/orchestrate/analyze/orchestrateAnalyzeSectionReview.ts +154 -154
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteSection.ts +388 -388
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.ts +407 -407
- package/src/orchestrate/analyze/orchestrateAnalyzeWriteUnit.ts +348 -348
- package/src/orchestrate/analyze/programmers/AutoBeAnalyzeProgrammer.ts +149 -149
- package/src/orchestrate/analyze/structures/FixedAnalyzeTemplate.ts +961 -961
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +141 -141
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.ts +96 -96
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.ts +160 -160
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.ts +192 -192
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.ts +142 -142
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.ts +123 -123
- package/src/orchestrate/analyze/utils/buildConstraintConsistencyReport.ts +813 -813
- package/src/orchestrate/analyze/utils/buildErrorCodeRegistry.ts +324 -324
- package/src/orchestrate/analyze/utils/buildHardValidators.ts +88 -88
- package/src/orchestrate/analyze/utils/detectInventedEntities.ts +87 -87
- package/src/orchestrate/analyze/utils/detectProseConstraintConflicts.ts +319 -319
- package/src/orchestrate/analyze/utils/repairSectionReviewUtils.ts +181 -181
- package/src/orchestrate/analyze/utils/repairUtils.ts +60 -60
- package/src/orchestrate/analyze/utils/validateScenarioBasics.ts +104 -104
- package/src/orchestrate/common/AutoBePreliminaryController.ts +400 -400
- package/src/orchestrate/common/histories/transformCommonCorrectCastingHistory.ts +32 -32
- package/src/orchestrate/common/histories/transformPreliminaryHistory.ts +742 -742
- package/src/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.ts +77 -77
- package/src/orchestrate/common/internal/complementPreliminaryCollection.ts +263 -263
- package/src/orchestrate/common/internal/convertToSectionEntries.ts +57 -57
- package/src/orchestrate/common/internal/createPreliminaryCollection.ts +76 -76
- package/src/orchestrate/common/internal/fixPrelminaryApplication.ts +346 -346
- package/src/orchestrate/common/internal/validatePreliminary.ts +671 -671
- package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +223 -223
- package/src/orchestrate/common/orchestratePreliminary.ts +610 -610
- package/src/orchestrate/common/structures/AutoBePreliminaryRequest.ts +42 -42
- package/src/orchestrate/common/structures/IAnalysisSectionEntry.ts +35 -35
- package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +72 -72
- package/src/orchestrate/common/structures/IAutoBeOrchestrateResult.ts +28 -28
- package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +52 -52
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.ts +34 -34
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.ts +31 -31
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +32 -32
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +31 -31
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.ts +28 -28
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.ts +88 -88
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.ts +102 -102
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.ts +105 -105
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.ts +32 -32
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.ts +32 -32
- package/src/orchestrate/facade/createAutoBeFacadeController.ts +118 -118
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplication.ts +139 -139
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationProps.ts +8 -8
- package/src/orchestrate/facade/histories/IAutoBeFacadeApplicationResult.ts +9 -9
- package/src/orchestrate/facade/structures/transformFacadeStateMessage.ts +59 -59
- package/src/orchestrate/index.ts +5 -5
- package/src/orchestrate/interface/histories/transformInterfaceActionEndpointReviewHistory.ts +83 -83
- package/src/orchestrate/interface/histories/transformInterfaceActionEndpointWriteHistory.ts +78 -78
- package/src/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.ts +129 -129
- package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointReviewHistory.ts +74 -74
- package/src/orchestrate/interface/histories/transformInterfaceBaseEndpointWriteHistory.ts +68 -68
- package/src/orchestrate/interface/histories/transformInterfaceCommonHistory.ts +64 -64
- package/src/orchestrate/interface/histories/transformInterfaceEndpointAuthorizationSection.ts +42 -42
- package/src/orchestrate/interface/histories/transformInterfaceGroupHistory.ts +103 -103
- package/src/orchestrate/interface/histories/transformInterfaceOperationHistory.ts +81 -81
- package/src/orchestrate/interface/histories/transformInterfaceOperationParameterHistory.ts +53 -53
- package/src/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.ts +49 -49
- package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.ts +94 -94
- package/src/orchestrate/interface/histories/transformInterfaceSchemaCastingHistory.ts +122 -122
- package/src/orchestrate/interface/histories/transformInterfaceSchemaComplementHistory.ts +192 -192
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRefineHistory.ts +189 -189
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.ts +63 -63
- package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.ts +173 -173
- package/src/orchestrate/interface/histories/transformInterfaceSchemaWriteHistory.ts +88 -88
- package/src/orchestrate/interface/index.ts +6 -6
- package/src/orchestrate/interface/orchestrateInterface.ts +118 -118
- package/src/orchestrate/interface/orchestrateInterfaceActionEndpoint.ts +58 -58
- package/src/orchestrate/interface/orchestrateInterfaceAuthorization.ts +208 -208
- package/src/orchestrate/interface/orchestrateInterfaceBaseEndpoint.ts +55 -55
- package/src/orchestrate/interface/orchestrateInterfaceEndpoint.ts +67 -67
- package/src/orchestrate/interface/orchestrateInterfaceEndpointOverall.ts +80 -80
- package/src/orchestrate/interface/orchestrateInterfaceEndpointReview.ts +212 -212
- package/src/orchestrate/interface/orchestrateInterfaceEndpointWrite.ts +236 -236
- package/src/orchestrate/interface/orchestrateInterfaceGroup.ts +166 -166
- package/src/orchestrate/interface/orchestrateInterfaceOperation.ts +322 -322
- package/src/orchestrate/interface/orchestrateInterfaceOperationReview.ts +245 -245
- package/src/orchestrate/interface/orchestrateInterfacePrerequisite.ts +240 -240
- package/src/orchestrate/interface/orchestrateInterfaceSchema.ts +191 -191
- package/src/orchestrate/interface/orchestrateInterfaceSchemaCasting.ts +274 -274
- package/src/orchestrate/interface/orchestrateInterfaceSchemaComplement.ts +329 -329
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRefine.ts +292 -292
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +266 -266
- package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +310 -310
- package/src/orchestrate/interface/orchestrateInterfaceSchemaWrite.ts +283 -283
- package/src/orchestrate/interface/programmers/AutoBeInterfaceAuthorizationProgrammer.ts +260 -260
- package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointProgrammer.ts +155 -155
- package/src/orchestrate/interface/programmers/AutoBeInterfaceEndpointReviewProgrammer.ts +139 -139
- package/src/orchestrate/interface/programmers/AutoBeInterfaceOperationProgrammer.ts +277 -277
- package/src/orchestrate/interface/programmers/AutoBeInterfacePrerequisiteProgrammer.ts +259 -259
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaProgrammer.ts +152 -152
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaPropertyReviseProgrammer.ts +347 -347
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaRefineProgrammer.ts +183 -183
- package/src/orchestrate/interface/programmers/AutoBeInterfaceSchemaReviewProgrammer.ts +263 -263
- package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.ts +135 -135
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +128 -128
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.ts +133 -133
- package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +122 -122
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +178 -178
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.ts +175 -175
- package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +130 -130
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +121 -121
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.ts +153 -153
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.ts +123 -123
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.ts +181 -181
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.ts +45 -45
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.ts +108 -108
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaCollection.ts +42 -42
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaFactory.ts +714 -714
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaNamingConvention.ts +86 -86
- package/src/orchestrate/interface/utils/AutoBeJsonSchemaValidator.ts +725 -725
- package/src/orchestrate/interface/utils/fulfillJsonSchemaErrorMessages.ts +219 -219
- package/src/orchestrate/prisma/histories/transformPrismaAuthorizationHistory.ts +144 -144
- package/src/orchestrate/prisma/histories/transformPrismaAuthorizationReviewHistory.ts +104 -104
- package/src/orchestrate/prisma/histories/transformPrismaComponentReviewHistory.ts +97 -97
- package/src/orchestrate/prisma/histories/transformPrismaComponentsHistory.ts +136 -136
- package/src/orchestrate/prisma/histories/transformPrismaCorrectHistory.ts +41 -41
- package/src/orchestrate/prisma/histories/transformPrismaGroupHistory.ts +63 -63
- package/src/orchestrate/prisma/histories/transformPrismaGroupReviewHistory.ts +79 -79
- package/src/orchestrate/prisma/histories/transformPrismaSchemaHistory.ts +97 -97
- package/src/orchestrate/prisma/histories/transformPrismaSchemaReviewHistory.ts +126 -126
- package/src/orchestrate/prisma/index.ts +7 -7
- package/src/orchestrate/prisma/orchestratePrisma.ts +296 -296
- package/src/orchestrate/prisma/orchestratePrismaAuthorization.ts +173 -173
- package/src/orchestrate/prisma/orchestratePrismaAuthorizationReview.ts +183 -183
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +205 -205
- package/src/orchestrate/prisma/orchestratePrismaComponentReview.ts +205 -205
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +265 -265
- package/src/orchestrate/prisma/orchestratePrismaGroup.ts +121 -121
- package/src/orchestrate/prisma/orchestratePrismaGroupReview.ts +141 -141
- package/src/orchestrate/prisma/orchestratePrismaSchema.ts +218 -218
- package/src/orchestrate/prisma/orchestratePrismaSchemaReview.ts +220 -220
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationProgrammer.ts +86 -86
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseAuthorizationReviewProgrammer.ts +103 -103
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentProgrammer.ts +80 -80
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseComponentReviewProgrammer.ts +168 -168
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupProgrammer.ts +63 -63
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseGroupReviewProgrammer.ts +210 -210
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseModelProgrammer.ts +57 -57
- package/src/orchestrate/prisma/programmers/AutoBeDatabaseSchemaProgrammer.ts +92 -92
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.ts +147 -147
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.ts +153 -153
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.ts +142 -142
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.ts +151 -151
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.ts +157 -157
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.ts +117 -117
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.ts +154 -154
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.ts +144 -144
- package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.ts +138 -138
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.ts +89 -89
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.ts +45 -45
- package/src/orchestrate/realize/histories/transformRealizeCollectorCorrectHistory.ts +137 -137
- package/src/orchestrate/realize/histories/transformRealizeCollectorPlanHistory.ts +64 -64
- package/src/orchestrate/realize/histories/transformRealizeCollectorWriteHistory.ts +147 -147
- package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.ts +69 -69
- package/src/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.ts +94 -94
- package/src/orchestrate/realize/histories/transformRealizeOperationWriteHistory.ts +127 -127
- package/src/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.ts +147 -147
- package/src/orchestrate/realize/histories/transformRealizeTransformerPlanHistory.ts +61 -61
- package/src/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.ts +133 -133
- package/src/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.ts +30 -30
- package/src/orchestrate/realize/index.ts +3 -3
- package/src/orchestrate/realize/internal/orchestrateRealizeCorrectCasting.ts +444 -444
- package/src/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.ts +449 -449
- package/src/orchestrate/realize/orchestrateRealize.ts +143 -143
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +207 -207
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationWrite.ts +209 -209
- package/src/orchestrate/realize/orchestrateRealizeCollector.ts +41 -41
- package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectCasting.ts +43 -43
- package/src/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.ts +157 -157
- package/src/orchestrate/realize/orchestrateRealizeCollectorPlan.ts +264 -264
- package/src/orchestrate/realize/orchestrateRealizeCollectorWrite.ts +225 -225
- package/src/orchestrate/realize/orchestrateRealizeOperation.ts +48 -48
- package/src/orchestrate/realize/orchestrateRealizeOperationCorrectCasting.ts +69 -69
- package/src/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.ts +173 -173
- package/src/orchestrate/realize/orchestrateRealizeOperationWrite.ts +262 -262
- package/src/orchestrate/realize/orchestrateRealizeTransformer.ts +41 -41
- package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.ts +38 -38
- package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.ts +160 -160
- package/src/orchestrate/realize/orchestrateRealizeTransformerPlan.ts +254 -254
- package/src/orchestrate/realize/orchestrateRealizeTransformerWrite.ts +226 -226
- package/src/orchestrate/realize/programmers/AutoBeRealizeCollectorProgrammer.ts +424 -424
- package/src/orchestrate/realize/programmers/AutoBeRealizeOperationProgrammer.ts +409 -409
- package/src/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.ts +451 -451
- package/src/orchestrate/realize/programmers/compileRealizeFiles.ts +65 -65
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +119 -119
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.ts +167 -167
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.ts +191 -191
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.ts +177 -177
- package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.ts +207 -207
- package/src/orchestrate/realize/structures/IAutoBeRealizeFunctionFailure.ts +11 -11
- package/src/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.ts +134 -134
- package/src/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.ts +138 -138
- package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.ts +32 -32
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.ts +248 -248
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.ts +150 -150
- package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.ts +278 -278
- package/src/orchestrate/realize/utils/AuthorizationFileSystem.ts +10 -10
- package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationFileSystem.ts +9 -9
- package/src/orchestrate/realize/utils/AutoBeRealizeAuthorizationReplaceImport.ts +62 -62
- package/src/orchestrate/realize/utils/InternalFileSystem.ts +12 -12
- package/src/orchestrate/realize/utils/ProviderFileSystem.ts +4 -4
- package/src/orchestrate/realize/utils/filterDiagnostics.ts +25 -25
- package/src/orchestrate/realize/utils/generateTS2339Hints.ts +54 -54
- package/src/orchestrate/realize/utils/getRealizeWriteImportStatements.ts +42 -42
- package/src/orchestrate/realize/utils/getRealizeWriteInputType.ts +88 -88
- package/src/orchestrate/realize/utils/printErrorHints.ts +54 -54
- package/src/orchestrate/test/compile/getTestArtifacts.ts +124 -124
- package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +39 -39
- package/src/orchestrate/test/compile/getTestImportStatements.ts +27 -27
- package/src/orchestrate/test/experimental/orchestrateTestCorrect.ast +237 -237
- package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +322 -322
- package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +52 -52
- package/src/orchestrate/test/histories/transformTestAuthorizeWriteHistory.ts +80 -80
- package/src/orchestrate/test/histories/transformTestCorrectOverallHistory.ts +116 -116
- package/src/orchestrate/test/histories/transformTestGenerationWriteHistory.ts +118 -118
- package/src/orchestrate/test/histories/transformTestOperationWriteHistory.ts +287 -287
- package/src/orchestrate/test/histories/transformTestPrepareWriteHistory.ts +95 -95
- package/src/orchestrate/test/histories/transformTestScenarioHistory.ts +120 -120
- package/src/orchestrate/test/histories/transformTestScenarioReviewHistory.ts +99 -99
- package/src/orchestrate/test/histories/transformTestValidateEvent.ts +11 -11
- package/src/orchestrate/test/index.ts +5 -5
- package/src/orchestrate/test/internal/orchestrateTestCorrectCasting.ts +96 -96
- package/src/orchestrate/test/internal/orchestrateTestCorrectOverall.ts +219 -219
- package/src/orchestrate/test/internal/orchestrateTestCorrectRequest.ts +206 -206
- package/src/orchestrate/test/orchestrateTest.ts +161 -161
- package/src/orchestrate/test/orchestrateTestAuthorize.ts +125 -125
- package/src/orchestrate/test/orchestrateTestAuthorizeWrite.ts +263 -263
- package/src/orchestrate/test/orchestrateTestGenerate.ts +121 -121
- package/src/orchestrate/test/orchestrateTestGenerateWrite.ts +211 -211
- package/src/orchestrate/test/orchestrateTestOperation.ts +133 -133
- package/src/orchestrate/test/orchestrateTestOperationWrite.ts +221 -221
- package/src/orchestrate/test/orchestrateTestPrepare.ts +117 -117
- package/src/orchestrate/test/orchestrateTestPrepareWrite.ts +264 -264
- package/src/orchestrate/test/orchestrateTestScenario.ts +290 -290
- package/src/orchestrate/test/orchestrateTestScenarioReview.ts +262 -262
- package/src/orchestrate/test/programmers/AutoBeTestAuthorizeProgrammer.ts +149 -149
- package/src/orchestrate/test/programmers/AutoBeTestFunctionProgrammer.ts +90 -90
- package/src/orchestrate/test/programmers/AutoBeTestGenerateProgrammer.ts +170 -170
- package/src/orchestrate/test/programmers/AutoBeTestOperationProgrammer.ts +168 -168
- package/src/orchestrate/test/programmers/AutoBeTestPrepareProgrammer.ts +261 -261
- package/src/orchestrate/test/programmers/AutoBeTestScenarioProgrammer.ts +316 -316
- package/src/orchestrate/test/structures/IAutoBeTestArtifacts.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestAuthorizationWriteApplication.ts +113 -113
- package/src/orchestrate/test/structures/IAutoBeTestAuthorizeWriteResult.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestCorrectOverallApplication.ts +134 -134
- package/src/orchestrate/test/structures/IAutoBeTestCorrectRequestApplication.ts +152 -152
- package/src/orchestrate/test/structures/IAutoBeTestFunction.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestFunctionFailure.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestGenerateProcedure.ts +15 -15
- package/src/orchestrate/test/structures/IAutoBeTestGenerationWriteApplication.ts +145 -145
- package/src/orchestrate/test/structures/IAutoBeTestOperationProcedure.ts +17 -17
- package/src/orchestrate/test/structures/IAutoBeTestOperationWriteApplication.ts +162 -162
- package/src/orchestrate/test/structures/IAutoBeTestPrepareCorrectOverallApplication.ts +194 -194
- package/src/orchestrate/test/structures/IAutoBeTestPrepareProcedure.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestPrepareWriteApplication.ts +147 -147
- package/src/orchestrate/test/structures/IAutoBeTestProcedure.ts +10 -10
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +105 -105
- package/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.ts +8 -8
- package/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationActor.ts +7 -7
- package/src/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.ts +133 -133
- package/src/orchestrate/test/utils/getPrerequisites.ts +51 -51
- package/src/orchestrate/test/utils/getReferenceIds.ts +26 -26
- package/src/orchestrate/test/utils/insertScriptToTestResult.ts +14 -14
- package/src/structures/IAutoBeConfig.ts +110 -110
- package/src/structures/IAutoBeOrchestrateHistory.ts +44 -44
- package/src/structures/IAutoBeProps.ts +102 -102
- package/src/structures/IAutoBeVendor.ts +113 -113
- package/src/utils/AutoBePreliminaryExhaustedError.ts +30 -30
- package/src/utils/AutoBeTimeoutError.ts +35 -35
- package/src/utils/EmbeddingProvider.ts +4 -4
- package/src/utils/LocalEmbeddingProvider.ts +145 -145
- package/src/utils/RAGRetrieval.ts +411 -411
- package/src/utils/TimedConversation.ts +125 -125
- package/src/utils/backoffRetry.ts +169 -169
- package/src/utils/divideArray.ts +35 -35
- package/src/utils/emplaceMap.ts +31 -31
- package/src/utils/executeCachedBatch.ts +67 -67
- package/src/utils/forceRetry.ts +15 -15
- package/src/utils/getEmbedder.ts +16 -16
- package/src/utils/parseTextFunctionCall.ts +437 -437
- package/src/utils/predicateStateMessage.ts +131 -131
- package/src/utils/validateEmptyCode.ts +73 -73
- package/src/utils/validateEnglishOnly.ts +224 -224
- package/README.md +0 -261
|
@@ -1,259 +1,259 @@
|
|
|
1
|
-
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
-
import { AutoBeOpenApiEndpointComparator, StringUtil } from "@autobe/utils";
|
|
3
|
-
import { HashMap, Pair, Singleton } from "tstl";
|
|
4
|
-
import { IValidation } from "typia";
|
|
5
|
-
|
|
6
|
-
import { IAutoBeInterfacePrerequisiteApplication } from "../structures/IAutoBeInterfacePrerequisiteApplication";
|
|
7
|
-
|
|
8
|
-
export namespace AutoBeInterfacePrerequisiteProgrammer {
|
|
9
|
-
export const associate = (
|
|
10
|
-
operations: AutoBeOpenApi.IOperation[],
|
|
11
|
-
): HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation> =>
|
|
12
|
-
new HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation>(
|
|
13
|
-
operations.map(
|
|
14
|
-
(o) => new Pair(AutoBeOpenApiEndpointComparator.clone(o), o),
|
|
15
|
-
),
|
|
16
|
-
AutoBeOpenApiEndpointComparator.hashCode,
|
|
17
|
-
AutoBeOpenApiEndpointComparator.equals,
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
export const validate = (props: {
|
|
21
|
-
document: AutoBeOpenApi.IDocument;
|
|
22
|
-
operation: AutoBeOpenApi.IOperation;
|
|
23
|
-
complete: IAutoBeInterfacePrerequisiteApplication.IComplete;
|
|
24
|
-
accessor?: string;
|
|
25
|
-
dict?: HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation>;
|
|
26
|
-
}): IValidation.IError[] => {
|
|
27
|
-
const accessor: string = props.accessor ?? "$input.request";
|
|
28
|
-
const dict: HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation> =
|
|
29
|
-
props.dict ?? associate(props.document.operations);
|
|
30
|
-
|
|
31
|
-
const table: Singleton<string> = new Singleton(
|
|
32
|
-
() =>
|
|
33
|
-
StringUtil.trim`
|
|
34
|
-
You have to select one of the endpoints below
|
|
35
|
-
|
|
36
|
-
Path | Method
|
|
37
|
-
-----|-------
|
|
38
|
-
${props.document.operations
|
|
39
|
-
.filter(
|
|
40
|
-
(o) =>
|
|
41
|
-
true === isPrerequisite(o) &&
|
|
42
|
-
false ===
|
|
43
|
-
AutoBeOpenApiEndpointComparator.equals(o, props.operation),
|
|
44
|
-
)
|
|
45
|
-
.map((op) => `${op.path} | ${op.method}`)
|
|
46
|
-
.join("\n")}
|
|
47
|
-
`,
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
const errors: IValidation.IError[] = [];
|
|
51
|
-
if (
|
|
52
|
-
AutoBeOpenApiEndpointComparator.equals(
|
|
53
|
-
props.operation,
|
|
54
|
-
props.complete.endpoint,
|
|
55
|
-
) === false
|
|
56
|
-
)
|
|
57
|
-
errors.push({
|
|
58
|
-
path: `${accessor}.endpoint`,
|
|
59
|
-
expected: JSON.stringify({
|
|
60
|
-
path: props.operation.path,
|
|
61
|
-
method: props.operation.method,
|
|
62
|
-
}),
|
|
63
|
-
value: props.complete.endpoint,
|
|
64
|
-
description: StringUtil.trim`
|
|
65
|
-
## ERROR: Endpoint Mismatch
|
|
66
|
-
|
|
67
|
-
The endpoint in your response must EXACTLY match the target operation
|
|
68
|
-
you are analyzing.
|
|
69
|
-
|
|
70
|
-
### Target Operation (What you should analyze)
|
|
71
|
-
|
|
72
|
-
- Path: ${props.operation.path}
|
|
73
|
-
- Method: ${props.operation.method}
|
|
74
|
-
|
|
75
|
-
### Your Response Endpoint (What you returned)
|
|
76
|
-
|
|
77
|
-
- Path: ${props.complete.endpoint.path}
|
|
78
|
-
- Method: ${props.complete.endpoint.method}
|
|
79
|
-
|
|
80
|
-
### Why This Matters
|
|
81
|
-
|
|
82
|
-
You were asked to analyze the prerequisites for a SPECIFIC operation.
|
|
83
|
-
Returning a different endpoint means you analyzed the wrong operation.
|
|
84
|
-
|
|
85
|
-
### How to Fix
|
|
86
|
-
|
|
87
|
-
Set the \`endpoint\` field to match the target operation exactly:
|
|
88
|
-
|
|
89
|
-
\`\`\`json
|
|
90
|
-
{
|
|
91
|
-
"endpoint": {
|
|
92
|
-
"path": "${props.operation.path}",
|
|
93
|
-
"method": "${props.operation.method}"
|
|
94
|
-
},
|
|
95
|
-
"prerequisites": [...]
|
|
96
|
-
}
|
|
97
|
-
\`\`\`
|
|
98
|
-
`,
|
|
99
|
-
});
|
|
100
|
-
props.complete.prerequisites.forEach((raw, i) => {
|
|
101
|
-
const it: HashMap.Iterator<
|
|
102
|
-
AutoBeOpenApi.IEndpoint,
|
|
103
|
-
AutoBeOpenApi.IOperation
|
|
104
|
-
> = dict.find(raw.endpoint);
|
|
105
|
-
if (it.equals(dict.end()) === true)
|
|
106
|
-
errors.push({
|
|
107
|
-
path: `${accessor}.prerequisites[${i}].endpoint`,
|
|
108
|
-
expected: "AutoBeOpenApi.IEndpoint",
|
|
109
|
-
value: raw.endpoint,
|
|
110
|
-
description: StringUtil.trim`
|
|
111
|
-
## ERROR: Prerequisite Operation Does Not Exist
|
|
112
|
-
|
|
113
|
-
The prerequisite endpoint you specified does not exist in the API
|
|
114
|
-
specification. You can ONLY use prerequisites from the Available API
|
|
115
|
-
Operations list provided in your context.
|
|
116
|
-
|
|
117
|
-
### Your Invalid Prerequisite [${i}]
|
|
118
|
-
|
|
119
|
-
\`${raw.endpoint.method} ${raw.endpoint.path}\`
|
|
120
|
-
|
|
121
|
-
### Why This Is Wrong
|
|
122
|
-
|
|
123
|
-
- This endpoint does not exist in the document's operations
|
|
124
|
-
- You may have invented/hallucinated this endpoint
|
|
125
|
-
- You may have made a typo in the path or method
|
|
126
|
-
- You may have referenced an operation that was removed
|
|
127
|
-
|
|
128
|
-
### Available POST Operations (Valid Prerequisites)
|
|
129
|
-
|
|
130
|
-
${table.get()}
|
|
131
|
-
|
|
132
|
-
### How to Fix
|
|
133
|
-
|
|
134
|
-
Replace this prerequisite with an ACTUAL operation from the list above.
|
|
135
|
-
Double-check:
|
|
136
|
-
|
|
137
|
-
1. The path matches EXACTLY (including slashes, braces, spelling)
|
|
138
|
-
2. The method is lowercase "post"
|
|
139
|
-
3. The operation exists in your Available API Operations context
|
|
140
|
-
|
|
141
|
-
Only use operations that you can SEE in your conversation context.
|
|
142
|
-
NEVER invent or guess operation endpoints.
|
|
143
|
-
`,
|
|
144
|
-
});
|
|
145
|
-
else if (
|
|
146
|
-
AutoBeOpenApiEndpointComparator.equals(props.operation, raw.endpoint)
|
|
147
|
-
)
|
|
148
|
-
errors.push({
|
|
149
|
-
path: `${accessor}.prerequisites[${i}].endpoint`,
|
|
150
|
-
expected: "Different Operation Endpoint from Target Operation",
|
|
151
|
-
value: raw.endpoint,
|
|
152
|
-
description: StringUtil.trim`
|
|
153
|
-
## CRITICAL ERROR: Self-Reference Detected
|
|
154
|
-
|
|
155
|
-
You added the target operation as its own prerequisite. This creates
|
|
156
|
-
a circular dependency and is logically invalid.
|
|
157
|
-
|
|
158
|
-
### Target Operation
|
|
159
|
-
|
|
160
|
-
\`${props.operation.method} ${props.operation.path}\`
|
|
161
|
-
|
|
162
|
-
### Your Prerequisite [${i}]
|
|
163
|
-
|
|
164
|
-
\`${raw.endpoint.method} ${raw.endpoint.path}\`
|
|
165
|
-
|
|
166
|
-
These are THE SAME operation!
|
|
167
|
-
|
|
168
|
-
### Why This Is Wrong
|
|
169
|
-
|
|
170
|
-
An operation cannot be its own prerequisite. This would mean:
|
|
171
|
-
|
|
172
|
-
- To execute operation A, you must first execute operation A
|
|
173
|
-
- This creates an infinite loop / circular dependency
|
|
174
|
-
- E2E tests cannot be generated with circular dependencies
|
|
175
|
-
|
|
176
|
-
### Common Mistake
|
|
177
|
-
|
|
178
|
-
If you have a resource with parent-child relationships (e.g., articles
|
|
179
|
-
that reference parent articles), the prerequisite should create a
|
|
180
|
-
DIFFERENT instance of the resource, not reference itself.
|
|
181
|
-
|
|
182
|
-
Example:
|
|
183
|
-
|
|
184
|
-
- ❌ Wrong: \`POST /articles\` as prerequisite of \`POST /articles\`
|
|
185
|
-
- ✅ Correct: Remove the self-reference entirely, or if parent article
|
|
186
|
-
is truly needed, the system will handle it through data generation,
|
|
187
|
-
not through explicit prerequisites.
|
|
188
|
-
|
|
189
|
-
### How to Fix
|
|
190
|
-
|
|
191
|
-
Remove this prerequisite from your prerequisites array. Only include
|
|
192
|
-
operations that create DIFFERENT resources that this operation depends on.
|
|
193
|
-
|
|
194
|
-
### Available POST Operations (Choose Different Operations)
|
|
195
|
-
|
|
196
|
-
${table.get()}
|
|
197
|
-
`,
|
|
198
|
-
});
|
|
199
|
-
else if (isPrerequisite(it.second) === false)
|
|
200
|
-
errors.push({
|
|
201
|
-
path: `${accessor}.prerequisites[${i}].endpoint`,
|
|
202
|
-
expected: "AutoBeOpenApi.IEndpoint",
|
|
203
|
-
value: raw.endpoint,
|
|
204
|
-
description: StringUtil.trim`
|
|
205
|
-
## ERROR: Invalid Prerequisite Type
|
|
206
|
-
|
|
207
|
-
The operation you specified exists, but it CANNOT be used as a
|
|
208
|
-
prerequisite. Only POST operations without authentication can serve
|
|
209
|
-
as prerequisites.
|
|
210
|
-
|
|
211
|
-
### Your Invalid Prerequisite [${i}]
|
|
212
|
-
|
|
213
|
-
\`${raw.endpoint.method} ${raw.endpoint.path}\`
|
|
214
|
-
|
|
215
|
-
- Method: ${it.second.method}
|
|
216
|
-
- Has Authentication: ${it.second.authorizationType !== null ? "YES" : "NO"}
|
|
217
|
-
|
|
218
|
-
### Why This Is Wrong
|
|
219
|
-
|
|
220
|
-
Prerequisites must be POST operations because they CREATE resources.
|
|
221
|
-
Other HTTP methods:
|
|
222
|
-
|
|
223
|
-
- GET: Only reads data, doesn't create prerequisites
|
|
224
|
-
- PUT: Updates existing resources (resource must already exist)
|
|
225
|
-
- DELETE: Removes resources (opposite of creating prerequisites)
|
|
226
|
-
- PATCH: Loads pagination data (not a resource creation operation)
|
|
227
|
-
|
|
228
|
-
Operations requiring authentication cannot be prerequisites because
|
|
229
|
-
authentication is a separate concern from resource dependencies.
|
|
230
|
-
|
|
231
|
-
### Valid Prerequisites Are
|
|
232
|
-
|
|
233
|
-
- ✅ POST operations (creates resources)
|
|
234
|
-
- ✅ No authentication required (authorizationType === null)
|
|
235
|
-
|
|
236
|
-
### Available POST Operations (Valid Prerequisites)
|
|
237
|
-
|
|
238
|
-
${table.get()}
|
|
239
|
-
|
|
240
|
-
### How to Fix
|
|
241
|
-
|
|
242
|
-
Replace this prerequisite with a POST operation from the list above.
|
|
243
|
-
Make sure you understand:
|
|
244
|
-
|
|
245
|
-
- Prerequisites CREATE resources that the target operation needs
|
|
246
|
-
- Only POST operations create resources
|
|
247
|
-
- GET/PUT/DELETE/PATCH operations are NEVER prerequisites
|
|
248
|
-
`,
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
return errors;
|
|
252
|
-
};
|
|
253
|
-
|
|
254
|
-
export const isCandidate = (o: AutoBeOpenApi.IOperation): boolean =>
|
|
255
|
-
o.authorizationType === null;
|
|
256
|
-
|
|
257
|
-
export const isPrerequisite = (o: AutoBeOpenApi.IOperation): boolean =>
|
|
258
|
-
isCandidate(o) && o.method === "post";
|
|
259
|
-
}
|
|
1
|
+
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
+
import { AutoBeOpenApiEndpointComparator, StringUtil } from "@autobe/utils";
|
|
3
|
+
import { HashMap, Pair, Singleton } from "tstl";
|
|
4
|
+
import { IValidation } from "typia";
|
|
5
|
+
|
|
6
|
+
import { IAutoBeInterfacePrerequisiteApplication } from "../structures/IAutoBeInterfacePrerequisiteApplication";
|
|
7
|
+
|
|
8
|
+
export namespace AutoBeInterfacePrerequisiteProgrammer {
|
|
9
|
+
export const associate = (
|
|
10
|
+
operations: AutoBeOpenApi.IOperation[],
|
|
11
|
+
): HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation> =>
|
|
12
|
+
new HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation>(
|
|
13
|
+
operations.map(
|
|
14
|
+
(o) => new Pair(AutoBeOpenApiEndpointComparator.clone(o), o),
|
|
15
|
+
),
|
|
16
|
+
AutoBeOpenApiEndpointComparator.hashCode,
|
|
17
|
+
AutoBeOpenApiEndpointComparator.equals,
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
export const validate = (props: {
|
|
21
|
+
document: AutoBeOpenApi.IDocument;
|
|
22
|
+
operation: AutoBeOpenApi.IOperation;
|
|
23
|
+
complete: IAutoBeInterfacePrerequisiteApplication.IComplete;
|
|
24
|
+
accessor?: string;
|
|
25
|
+
dict?: HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation>;
|
|
26
|
+
}): IValidation.IError[] => {
|
|
27
|
+
const accessor: string = props.accessor ?? "$input.request";
|
|
28
|
+
const dict: HashMap<AutoBeOpenApi.IEndpoint, AutoBeOpenApi.IOperation> =
|
|
29
|
+
props.dict ?? associate(props.document.operations);
|
|
30
|
+
|
|
31
|
+
const table: Singleton<string> = new Singleton(
|
|
32
|
+
() =>
|
|
33
|
+
StringUtil.trim`
|
|
34
|
+
You have to select one of the endpoints below
|
|
35
|
+
|
|
36
|
+
Path | Method
|
|
37
|
+
-----|-------
|
|
38
|
+
${props.document.operations
|
|
39
|
+
.filter(
|
|
40
|
+
(o) =>
|
|
41
|
+
true === isPrerequisite(o) &&
|
|
42
|
+
false ===
|
|
43
|
+
AutoBeOpenApiEndpointComparator.equals(o, props.operation),
|
|
44
|
+
)
|
|
45
|
+
.map((op) => `${op.path} | ${op.method}`)
|
|
46
|
+
.join("\n")}
|
|
47
|
+
`,
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
const errors: IValidation.IError[] = [];
|
|
51
|
+
if (
|
|
52
|
+
AutoBeOpenApiEndpointComparator.equals(
|
|
53
|
+
props.operation,
|
|
54
|
+
props.complete.endpoint,
|
|
55
|
+
) === false
|
|
56
|
+
)
|
|
57
|
+
errors.push({
|
|
58
|
+
path: `${accessor}.endpoint`,
|
|
59
|
+
expected: JSON.stringify({
|
|
60
|
+
path: props.operation.path,
|
|
61
|
+
method: props.operation.method,
|
|
62
|
+
}),
|
|
63
|
+
value: props.complete.endpoint,
|
|
64
|
+
description: StringUtil.trim`
|
|
65
|
+
## ERROR: Endpoint Mismatch
|
|
66
|
+
|
|
67
|
+
The endpoint in your response must EXACTLY match the target operation
|
|
68
|
+
you are analyzing.
|
|
69
|
+
|
|
70
|
+
### Target Operation (What you should analyze)
|
|
71
|
+
|
|
72
|
+
- Path: ${props.operation.path}
|
|
73
|
+
- Method: ${props.operation.method}
|
|
74
|
+
|
|
75
|
+
### Your Response Endpoint (What you returned)
|
|
76
|
+
|
|
77
|
+
- Path: ${props.complete.endpoint.path}
|
|
78
|
+
- Method: ${props.complete.endpoint.method}
|
|
79
|
+
|
|
80
|
+
### Why This Matters
|
|
81
|
+
|
|
82
|
+
You were asked to analyze the prerequisites for a SPECIFIC operation.
|
|
83
|
+
Returning a different endpoint means you analyzed the wrong operation.
|
|
84
|
+
|
|
85
|
+
### How to Fix
|
|
86
|
+
|
|
87
|
+
Set the \`endpoint\` field to match the target operation exactly:
|
|
88
|
+
|
|
89
|
+
\`\`\`json
|
|
90
|
+
{
|
|
91
|
+
"endpoint": {
|
|
92
|
+
"path": "${props.operation.path}",
|
|
93
|
+
"method": "${props.operation.method}"
|
|
94
|
+
},
|
|
95
|
+
"prerequisites": [...]
|
|
96
|
+
}
|
|
97
|
+
\`\`\`
|
|
98
|
+
`,
|
|
99
|
+
});
|
|
100
|
+
props.complete.prerequisites.forEach((raw, i) => {
|
|
101
|
+
const it: HashMap.Iterator<
|
|
102
|
+
AutoBeOpenApi.IEndpoint,
|
|
103
|
+
AutoBeOpenApi.IOperation
|
|
104
|
+
> = dict.find(raw.endpoint);
|
|
105
|
+
if (it.equals(dict.end()) === true)
|
|
106
|
+
errors.push({
|
|
107
|
+
path: `${accessor}.prerequisites[${i}].endpoint`,
|
|
108
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
109
|
+
value: raw.endpoint,
|
|
110
|
+
description: StringUtil.trim`
|
|
111
|
+
## ERROR: Prerequisite Operation Does Not Exist
|
|
112
|
+
|
|
113
|
+
The prerequisite endpoint you specified does not exist in the API
|
|
114
|
+
specification. You can ONLY use prerequisites from the Available API
|
|
115
|
+
Operations list provided in your context.
|
|
116
|
+
|
|
117
|
+
### Your Invalid Prerequisite [${i}]
|
|
118
|
+
|
|
119
|
+
\`${raw.endpoint.method} ${raw.endpoint.path}\`
|
|
120
|
+
|
|
121
|
+
### Why This Is Wrong
|
|
122
|
+
|
|
123
|
+
- This endpoint does not exist in the document's operations
|
|
124
|
+
- You may have invented/hallucinated this endpoint
|
|
125
|
+
- You may have made a typo in the path or method
|
|
126
|
+
- You may have referenced an operation that was removed
|
|
127
|
+
|
|
128
|
+
### Available POST Operations (Valid Prerequisites)
|
|
129
|
+
|
|
130
|
+
${table.get()}
|
|
131
|
+
|
|
132
|
+
### How to Fix
|
|
133
|
+
|
|
134
|
+
Replace this prerequisite with an ACTUAL operation from the list above.
|
|
135
|
+
Double-check:
|
|
136
|
+
|
|
137
|
+
1. The path matches EXACTLY (including slashes, braces, spelling)
|
|
138
|
+
2. The method is lowercase "post"
|
|
139
|
+
3. The operation exists in your Available API Operations context
|
|
140
|
+
|
|
141
|
+
Only use operations that you can SEE in your conversation context.
|
|
142
|
+
NEVER invent or guess operation endpoints.
|
|
143
|
+
`,
|
|
144
|
+
});
|
|
145
|
+
else if (
|
|
146
|
+
AutoBeOpenApiEndpointComparator.equals(props.operation, raw.endpoint)
|
|
147
|
+
)
|
|
148
|
+
errors.push({
|
|
149
|
+
path: `${accessor}.prerequisites[${i}].endpoint`,
|
|
150
|
+
expected: "Different Operation Endpoint from Target Operation",
|
|
151
|
+
value: raw.endpoint,
|
|
152
|
+
description: StringUtil.trim`
|
|
153
|
+
## CRITICAL ERROR: Self-Reference Detected
|
|
154
|
+
|
|
155
|
+
You added the target operation as its own prerequisite. This creates
|
|
156
|
+
a circular dependency and is logically invalid.
|
|
157
|
+
|
|
158
|
+
### Target Operation
|
|
159
|
+
|
|
160
|
+
\`${props.operation.method} ${props.operation.path}\`
|
|
161
|
+
|
|
162
|
+
### Your Prerequisite [${i}]
|
|
163
|
+
|
|
164
|
+
\`${raw.endpoint.method} ${raw.endpoint.path}\`
|
|
165
|
+
|
|
166
|
+
These are THE SAME operation!
|
|
167
|
+
|
|
168
|
+
### Why This Is Wrong
|
|
169
|
+
|
|
170
|
+
An operation cannot be its own prerequisite. This would mean:
|
|
171
|
+
|
|
172
|
+
- To execute operation A, you must first execute operation A
|
|
173
|
+
- This creates an infinite loop / circular dependency
|
|
174
|
+
- E2E tests cannot be generated with circular dependencies
|
|
175
|
+
|
|
176
|
+
### Common Mistake
|
|
177
|
+
|
|
178
|
+
If you have a resource with parent-child relationships (e.g., articles
|
|
179
|
+
that reference parent articles), the prerequisite should create a
|
|
180
|
+
DIFFERENT instance of the resource, not reference itself.
|
|
181
|
+
|
|
182
|
+
Example:
|
|
183
|
+
|
|
184
|
+
- ❌ Wrong: \`POST /articles\` as prerequisite of \`POST /articles\`
|
|
185
|
+
- ✅ Correct: Remove the self-reference entirely, or if parent article
|
|
186
|
+
is truly needed, the system will handle it through data generation,
|
|
187
|
+
not through explicit prerequisites.
|
|
188
|
+
|
|
189
|
+
### How to Fix
|
|
190
|
+
|
|
191
|
+
Remove this prerequisite from your prerequisites array. Only include
|
|
192
|
+
operations that create DIFFERENT resources that this operation depends on.
|
|
193
|
+
|
|
194
|
+
### Available POST Operations (Choose Different Operations)
|
|
195
|
+
|
|
196
|
+
${table.get()}
|
|
197
|
+
`,
|
|
198
|
+
});
|
|
199
|
+
else if (isPrerequisite(it.second) === false)
|
|
200
|
+
errors.push({
|
|
201
|
+
path: `${accessor}.prerequisites[${i}].endpoint`,
|
|
202
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
203
|
+
value: raw.endpoint,
|
|
204
|
+
description: StringUtil.trim`
|
|
205
|
+
## ERROR: Invalid Prerequisite Type
|
|
206
|
+
|
|
207
|
+
The operation you specified exists, but it CANNOT be used as a
|
|
208
|
+
prerequisite. Only POST operations without authentication can serve
|
|
209
|
+
as prerequisites.
|
|
210
|
+
|
|
211
|
+
### Your Invalid Prerequisite [${i}]
|
|
212
|
+
|
|
213
|
+
\`${raw.endpoint.method} ${raw.endpoint.path}\`
|
|
214
|
+
|
|
215
|
+
- Method: ${it.second.method}
|
|
216
|
+
- Has Authentication: ${it.second.authorizationType !== null ? "YES" : "NO"}
|
|
217
|
+
|
|
218
|
+
### Why This Is Wrong
|
|
219
|
+
|
|
220
|
+
Prerequisites must be POST operations because they CREATE resources.
|
|
221
|
+
Other HTTP methods:
|
|
222
|
+
|
|
223
|
+
- GET: Only reads data, doesn't create prerequisites
|
|
224
|
+
- PUT: Updates existing resources (resource must already exist)
|
|
225
|
+
- DELETE: Removes resources (opposite of creating prerequisites)
|
|
226
|
+
- PATCH: Loads pagination data (not a resource creation operation)
|
|
227
|
+
|
|
228
|
+
Operations requiring authentication cannot be prerequisites because
|
|
229
|
+
authentication is a separate concern from resource dependencies.
|
|
230
|
+
|
|
231
|
+
### Valid Prerequisites Are
|
|
232
|
+
|
|
233
|
+
- ✅ POST operations (creates resources)
|
|
234
|
+
- ✅ No authentication required (authorizationType === null)
|
|
235
|
+
|
|
236
|
+
### Available POST Operations (Valid Prerequisites)
|
|
237
|
+
|
|
238
|
+
${table.get()}
|
|
239
|
+
|
|
240
|
+
### How to Fix
|
|
241
|
+
|
|
242
|
+
Replace this prerequisite with a POST operation from the list above.
|
|
243
|
+
Make sure you understand:
|
|
244
|
+
|
|
245
|
+
- Prerequisites CREATE resources that the target operation needs
|
|
246
|
+
- Only POST operations create resources
|
|
247
|
+
- GET/PUT/DELETE/PATCH operations are NEVER prerequisites
|
|
248
|
+
`,
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
return errors;
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
export const isCandidate = (o: AutoBeOpenApi.IOperation): boolean =>
|
|
255
|
+
o.authorizationType === null;
|
|
256
|
+
|
|
257
|
+
export const isPrerequisite = (o: AutoBeOpenApi.IOperation): boolean =>
|
|
258
|
+
isCandidate(o) && o.method === "post";
|
|
259
|
+
}
|