@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,62 +1,62 @@
|
|
|
1
|
-
export namespace AutoBeRealizeAuthorizationReplaceImport {
|
|
2
|
-
export function replaceProviderImport(
|
|
3
|
-
actor: string,
|
|
4
|
-
content: string,
|
|
5
|
-
): string {
|
|
6
|
-
let updatedContent = content;
|
|
7
|
-
|
|
8
|
-
const actorCapitalized =
|
|
9
|
-
actor.charAt(0).toUpperCase() + actor.slice(1).toLowerCase();
|
|
10
|
-
|
|
11
|
-
const nestjsCommonPattern =
|
|
12
|
-
/import\s+{\s*[^}]*\s*}\s+from\s+"@nestjs\/common";/g;
|
|
13
|
-
const nestjsCommonReplacement =
|
|
14
|
-
'import { ForbiddenException, UnauthorizedException } from "@nestjs/common";';
|
|
15
|
-
|
|
16
|
-
const myGlobalPattern = /import\s+{\s*MyGlobal\s*}\s+from\s+[^;]+;/g;
|
|
17
|
-
const myGlobalReplacement = 'import { MyGlobal } from "../../MyGlobal";';
|
|
18
|
-
|
|
19
|
-
const jwtAuthorizePattern =
|
|
20
|
-
/import\s+{\s*jwtAuthorize\s*}\s+from\s+[^;]+;/g;
|
|
21
|
-
const jwtAuthorizeReplacement =
|
|
22
|
-
'import { jwtAuthorize } from "./jwtAuthorize";';
|
|
23
|
-
|
|
24
|
-
const payloadPattern = /import\s+{\s*\w*Payload\s*}\s+from\s+[^;]+;/g;
|
|
25
|
-
const payloadReplacement = `import { ${actorCapitalized}Payload } from "../../decorators/payload/${actorCapitalized}Payload";`;
|
|
26
|
-
|
|
27
|
-
updatedContent = updatedContent.replace(
|
|
28
|
-
nestjsCommonPattern,
|
|
29
|
-
nestjsCommonReplacement,
|
|
30
|
-
);
|
|
31
|
-
updatedContent = updatedContent.replace(
|
|
32
|
-
myGlobalPattern,
|
|
33
|
-
myGlobalReplacement,
|
|
34
|
-
);
|
|
35
|
-
updatedContent = updatedContent.replace(
|
|
36
|
-
jwtAuthorizePattern,
|
|
37
|
-
jwtAuthorizeReplacement,
|
|
38
|
-
);
|
|
39
|
-
updatedContent = updatedContent.replace(payloadPattern, payloadReplacement);
|
|
40
|
-
|
|
41
|
-
return updatedContent;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export function replaceDecoratorImport(
|
|
45
|
-
actor: string,
|
|
46
|
-
content: string,
|
|
47
|
-
): string {
|
|
48
|
-
let updatedContent = content;
|
|
49
|
-
|
|
50
|
-
const actorLowercase = actor.toLowerCase();
|
|
51
|
-
|
|
52
|
-
const authorizePattern = /import\s+{\s*\w*Authorize\s*}\s+from\s+[^;]+;/g;
|
|
53
|
-
const authorizeReplacement = `import { ${actorLowercase}Authorize } from "../providers/authorize/${actorLowercase}Authorize";`;
|
|
54
|
-
|
|
55
|
-
updatedContent = updatedContent.replace(
|
|
56
|
-
authorizePattern,
|
|
57
|
-
authorizeReplacement,
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
return updatedContent;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
1
|
+
export namespace AutoBeRealizeAuthorizationReplaceImport {
|
|
2
|
+
export function replaceProviderImport(
|
|
3
|
+
actor: string,
|
|
4
|
+
content: string,
|
|
5
|
+
): string {
|
|
6
|
+
let updatedContent = content;
|
|
7
|
+
|
|
8
|
+
const actorCapitalized =
|
|
9
|
+
actor.charAt(0).toUpperCase() + actor.slice(1).toLowerCase();
|
|
10
|
+
|
|
11
|
+
const nestjsCommonPattern =
|
|
12
|
+
/import\s+{\s*[^}]*\s*}\s+from\s+"@nestjs\/common";/g;
|
|
13
|
+
const nestjsCommonReplacement =
|
|
14
|
+
'import { ForbiddenException, UnauthorizedException } from "@nestjs/common";';
|
|
15
|
+
|
|
16
|
+
const myGlobalPattern = /import\s+{\s*MyGlobal\s*}\s+from\s+[^;]+;/g;
|
|
17
|
+
const myGlobalReplacement = 'import { MyGlobal } from "../../MyGlobal";';
|
|
18
|
+
|
|
19
|
+
const jwtAuthorizePattern =
|
|
20
|
+
/import\s+{\s*jwtAuthorize\s*}\s+from\s+[^;]+;/g;
|
|
21
|
+
const jwtAuthorizeReplacement =
|
|
22
|
+
'import { jwtAuthorize } from "./jwtAuthorize";';
|
|
23
|
+
|
|
24
|
+
const payloadPattern = /import\s+{\s*\w*Payload\s*}\s+from\s+[^;]+;/g;
|
|
25
|
+
const payloadReplacement = `import { ${actorCapitalized}Payload } from "../../decorators/payload/${actorCapitalized}Payload";`;
|
|
26
|
+
|
|
27
|
+
updatedContent = updatedContent.replace(
|
|
28
|
+
nestjsCommonPattern,
|
|
29
|
+
nestjsCommonReplacement,
|
|
30
|
+
);
|
|
31
|
+
updatedContent = updatedContent.replace(
|
|
32
|
+
myGlobalPattern,
|
|
33
|
+
myGlobalReplacement,
|
|
34
|
+
);
|
|
35
|
+
updatedContent = updatedContent.replace(
|
|
36
|
+
jwtAuthorizePattern,
|
|
37
|
+
jwtAuthorizeReplacement,
|
|
38
|
+
);
|
|
39
|
+
updatedContent = updatedContent.replace(payloadPattern, payloadReplacement);
|
|
40
|
+
|
|
41
|
+
return updatedContent;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function replaceDecoratorImport(
|
|
45
|
+
actor: string,
|
|
46
|
+
content: string,
|
|
47
|
+
): string {
|
|
48
|
+
let updatedContent = content;
|
|
49
|
+
|
|
50
|
+
const actorLowercase = actor.toLowerCase();
|
|
51
|
+
|
|
52
|
+
const authorizePattern = /import\s+{\s*\w*Authorize\s*}\s+from\s+[^;]+;/g;
|
|
53
|
+
const authorizeReplacement = `import { ${actorLowercase}Authorize } from "../providers/authorize/${actorLowercase}Authorize";`;
|
|
54
|
+
|
|
55
|
+
updatedContent = updatedContent.replace(
|
|
56
|
+
authorizePattern,
|
|
57
|
+
authorizeReplacement,
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
return updatedContent;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export namespace InternalFileSystem {
|
|
2
|
-
/**
|
|
3
|
-
* Get template files for all of realize agents
|
|
4
|
-
*
|
|
5
|
-
* @returns Template file paths
|
|
6
|
-
*/
|
|
7
|
-
export const DEFAULT = [
|
|
8
|
-
"src/providers/authorize/jwtAuthorize.ts",
|
|
9
|
-
"src/MyGlobal.ts",
|
|
10
|
-
"src/utils/toISOStringSafe.ts",
|
|
11
|
-
];
|
|
12
|
-
}
|
|
1
|
+
export namespace InternalFileSystem {
|
|
2
|
+
/**
|
|
3
|
+
* Get template files for all of realize agents
|
|
4
|
+
*
|
|
5
|
+
* @returns Template file paths
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT = [
|
|
8
|
+
"src/providers/authorize/jwtAuthorize.ts",
|
|
9
|
+
"src/MyGlobal.ts",
|
|
10
|
+
"src/utils/toISOStringSafe.ts",
|
|
11
|
+
];
|
|
12
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export namespace RealizeFileSystem {
|
|
2
|
-
export const providerPath = (filename: string): string =>
|
|
3
|
-
`src/providers/${filename}.ts`;
|
|
4
|
-
}
|
|
1
|
+
export namespace RealizeFileSystem {
|
|
2
|
+
export const providerPath = (filename: string): string =>
|
|
3
|
+
`src/providers/${filename}.ts`;
|
|
4
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { AutoBeRealizeFunction } from "@autobe/interface";
|
|
2
|
-
|
|
3
|
-
import { IAutoBeRealizeFunctionFailure } from "../structures/IAutoBeRealizeFunctionFailure";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Filter diagnostic failures to only include those matching the given
|
|
7
|
-
* locations.
|
|
8
|
-
*
|
|
9
|
-
* @param failures - Array of function failures with diagnostic information
|
|
10
|
-
* @param locations - Array of file locations to filter by
|
|
11
|
-
* @returns Filtered array of failures matching the specified locations
|
|
12
|
-
* @warning This function assumes f.function and f.function.location are always defined.
|
|
13
|
-
* If f.function is undefined, this will throw a runtime error.
|
|
14
|
-
* Consider using optional chaining: f.function?.location
|
|
15
|
-
*/
|
|
16
|
-
export function filterDiagnostics<
|
|
17
|
-
RealizeFunction extends AutoBeRealizeFunction,
|
|
18
|
-
>(
|
|
19
|
-
failures: IAutoBeRealizeFunctionFailure<RealizeFunction>[],
|
|
20
|
-
locations: string[],
|
|
21
|
-
): IAutoBeRealizeFunctionFailure<RealizeFunction>[] {
|
|
22
|
-
return failures
|
|
23
|
-
.filter((f) => f.function.location.startsWith("src/providers"))
|
|
24
|
-
.filter((f) => locations.includes(f.function.location));
|
|
25
|
-
}
|
|
1
|
+
import { AutoBeRealizeFunction } from "@autobe/interface";
|
|
2
|
+
|
|
3
|
+
import { IAutoBeRealizeFunctionFailure } from "../structures/IAutoBeRealizeFunctionFailure";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Filter diagnostic failures to only include those matching the given
|
|
7
|
+
* locations.
|
|
8
|
+
*
|
|
9
|
+
* @param failures - Array of function failures with diagnostic information
|
|
10
|
+
* @param locations - Array of file locations to filter by
|
|
11
|
+
* @returns Filtered array of failures matching the specified locations
|
|
12
|
+
* @warning This function assumes f.function and f.function.location are always defined.
|
|
13
|
+
* If f.function is undefined, this will throw a runtime error.
|
|
14
|
+
* Consider using optional chaining: f.function?.location
|
|
15
|
+
*/
|
|
16
|
+
export function filterDiagnostics<
|
|
17
|
+
RealizeFunction extends AutoBeRealizeFunction,
|
|
18
|
+
>(
|
|
19
|
+
failures: IAutoBeRealizeFunctionFailure<RealizeFunction>[],
|
|
20
|
+
locations: string[],
|
|
21
|
+
): IAutoBeRealizeFunctionFailure<RealizeFunction>[] {
|
|
22
|
+
return failures
|
|
23
|
+
.filter((f) => f.function.location.startsWith("src/providers"))
|
|
24
|
+
.filter((f) => locations.includes(f.function.location));
|
|
25
|
+
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { IAutoBeTypeScriptCompileResult } from "@autobe/interface";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Generates concise TS2339-specific hints for Prisma relation field access
|
|
5
|
-
* errors.
|
|
6
|
-
*
|
|
7
|
-
* Parses TS2339 "Property 'X' does not exist on type 'Y'" diagnostics,
|
|
8
|
-
* deduplicates by (property, type) pair, and returns a short explanation when Y
|
|
9
|
-
* appears to be a Prisma model type (snake_case naming).
|
|
10
|
-
*
|
|
11
|
-
* Returns empty string if no TS2339 diagnostics on Prisma-like types are found.
|
|
12
|
-
*/
|
|
13
|
-
export function generateTS2339Hints(
|
|
14
|
-
diagnostics: IAutoBeTypeScriptCompileResult.IDiagnostic[],
|
|
15
|
-
): string {
|
|
16
|
-
const TS2339_PATTERN = /^Property '(\w+)' does not exist on type '(\w+)'\.?$/;
|
|
17
|
-
const PRISMA_MODEL_PATTERN = /^[a-z][a-z0-9]*(_[a-z][a-z0-9]*)+$/;
|
|
18
|
-
|
|
19
|
-
const seen = new Set<string>();
|
|
20
|
-
const hints: Array<{ property: string; modelType: string }> = [];
|
|
21
|
-
|
|
22
|
-
for (const diag of diagnostics) {
|
|
23
|
-
if (Number(diag.code) !== 2339) continue;
|
|
24
|
-
|
|
25
|
-
const match = diag.messageText.match(TS2339_PATTERN);
|
|
26
|
-
if (match === null) continue;
|
|
27
|
-
|
|
28
|
-
const [, property, typeName] = match;
|
|
29
|
-
if (!PRISMA_MODEL_PATTERN.test(typeName)) continue;
|
|
30
|
-
|
|
31
|
-
const key = `${property}::${typeName}`;
|
|
32
|
-
if (seen.has(key)) continue;
|
|
33
|
-
seen.add(key);
|
|
34
|
-
|
|
35
|
-
hints.push({ property, modelType: typeName });
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (hints.length === 0) return "";
|
|
39
|
-
|
|
40
|
-
const lines = hints
|
|
41
|
-
.map((h) => `- \`${h.property}\` on \`${h.modelType}\``)
|
|
42
|
-
.join("\n");
|
|
43
|
-
|
|
44
|
-
return [
|
|
45
|
-
"## TS2339 Relation Field Hints",
|
|
46
|
-
"",
|
|
47
|
-
"These TS2339 errors are caused by accessing **Prisma relation fields** not available on the base model type.",
|
|
48
|
-
"- For transformers: add the missing relation to `select()` using `NeighborTransformer.select()`",
|
|
49
|
-
"- For collectors: use the **relation property name** (left side of schema definition) with `{ connect }` syntax",
|
|
50
|
-
"",
|
|
51
|
-
"Affected:",
|
|
52
|
-
lines,
|
|
53
|
-
].join("\n");
|
|
54
|
-
}
|
|
1
|
+
import { IAutoBeTypeScriptCompileResult } from "@autobe/interface";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Generates concise TS2339-specific hints for Prisma relation field access
|
|
5
|
+
* errors.
|
|
6
|
+
*
|
|
7
|
+
* Parses TS2339 "Property 'X' does not exist on type 'Y'" diagnostics,
|
|
8
|
+
* deduplicates by (property, type) pair, and returns a short explanation when Y
|
|
9
|
+
* appears to be a Prisma model type (snake_case naming).
|
|
10
|
+
*
|
|
11
|
+
* Returns empty string if no TS2339 diagnostics on Prisma-like types are found.
|
|
12
|
+
*/
|
|
13
|
+
export function generateTS2339Hints(
|
|
14
|
+
diagnostics: IAutoBeTypeScriptCompileResult.IDiagnostic[],
|
|
15
|
+
): string {
|
|
16
|
+
const TS2339_PATTERN = /^Property '(\w+)' does not exist on type '(\w+)'\.?$/;
|
|
17
|
+
const PRISMA_MODEL_PATTERN = /^[a-z][a-z0-9]*(_[a-z][a-z0-9]*)+$/;
|
|
18
|
+
|
|
19
|
+
const seen = new Set<string>();
|
|
20
|
+
const hints: Array<{ property: string; modelType: string }> = [];
|
|
21
|
+
|
|
22
|
+
for (const diag of diagnostics) {
|
|
23
|
+
if (Number(diag.code) !== 2339) continue;
|
|
24
|
+
|
|
25
|
+
const match = diag.messageText.match(TS2339_PATTERN);
|
|
26
|
+
if (match === null) continue;
|
|
27
|
+
|
|
28
|
+
const [, property, typeName] = match;
|
|
29
|
+
if (!PRISMA_MODEL_PATTERN.test(typeName)) continue;
|
|
30
|
+
|
|
31
|
+
const key = `${property}::${typeName}`;
|
|
32
|
+
if (seen.has(key)) continue;
|
|
33
|
+
seen.add(key);
|
|
34
|
+
|
|
35
|
+
hints.push({ property, modelType: typeName });
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (hints.length === 0) return "";
|
|
39
|
+
|
|
40
|
+
const lines = hints
|
|
41
|
+
.map((h) => `- \`${h.property}\` on \`${h.modelType}\``)
|
|
42
|
+
.join("\n");
|
|
43
|
+
|
|
44
|
+
return [
|
|
45
|
+
"## TS2339 Relation Field Hints",
|
|
46
|
+
"",
|
|
47
|
+
"These TS2339 errors are caused by accessing **Prisma relation fields** not available on the base model type.",
|
|
48
|
+
"- For transformers: add the missing relation to `select()` using `NeighborTransformer.select()`",
|
|
49
|
+
"- For collectors: use the **relation property name** (left side of schema definition) with `{ connect }` syntax",
|
|
50
|
+
"",
|
|
51
|
+
"Affected:",
|
|
52
|
+
lines,
|
|
53
|
+
].join("\n");
|
|
54
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
-
import { OpenApiTypeChecker } from "@typia/utils";
|
|
3
|
-
|
|
4
|
-
export function getRealizeWriteImportStatements(props: {
|
|
5
|
-
operation: AutoBeOpenApi.IOperation;
|
|
6
|
-
schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>;
|
|
7
|
-
}): string[] {
|
|
8
|
-
const typeReferences: Set<string> = new Set();
|
|
9
|
-
const visit = (key: string) =>
|
|
10
|
-
OpenApiTypeChecker.visit({
|
|
11
|
-
schema: {
|
|
12
|
-
$ref: `#/components/schemas/${key}`,
|
|
13
|
-
},
|
|
14
|
-
components: { schemas: props.schemas },
|
|
15
|
-
closure: (next) => {
|
|
16
|
-
if (OpenApiTypeChecker.isReference(next))
|
|
17
|
-
typeReferences.add(next.$ref.split("/").pop()!.split(".")[0]!);
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
if (props.operation.requestBody) visit(props.operation.requestBody.typeName);
|
|
21
|
-
if (props.operation.responseBody)
|
|
22
|
-
visit(props.operation.responseBody.typeName);
|
|
23
|
-
|
|
24
|
-
// Build the standard imports
|
|
25
|
-
const imports: string[] = [
|
|
26
|
-
'import { HttpException } from "@nestjs/common";',
|
|
27
|
-
'import { Prisma } from "@prisma/sdk";',
|
|
28
|
-
'import jwt from "jsonwebtoken";',
|
|
29
|
-
'import typia, { tags } from "typia";',
|
|
30
|
-
'import { v4 } from "uuid";',
|
|
31
|
-
|
|
32
|
-
'import { MyGlobal } from "../MyGlobal";',
|
|
33
|
-
'import { PasswordUtil } from "../utils/PasswordUtil";',
|
|
34
|
-
'import { toISOStringSafe } from "../utils/toISOStringSafe"',
|
|
35
|
-
"",
|
|
36
|
-
...Array.from(typeReferences).map(
|
|
37
|
-
(ref) =>
|
|
38
|
-
`import { ${ref} } from "@ORGANIZATION/PROJECT-api/lib/structures/${ref}";`,
|
|
39
|
-
),
|
|
40
|
-
];
|
|
41
|
-
return imports;
|
|
42
|
-
}
|
|
1
|
+
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
+
import { OpenApiTypeChecker } from "@typia/utils";
|
|
3
|
+
|
|
4
|
+
export function getRealizeWriteImportStatements(props: {
|
|
5
|
+
operation: AutoBeOpenApi.IOperation;
|
|
6
|
+
schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>;
|
|
7
|
+
}): string[] {
|
|
8
|
+
const typeReferences: Set<string> = new Set();
|
|
9
|
+
const visit = (key: string) =>
|
|
10
|
+
OpenApiTypeChecker.visit({
|
|
11
|
+
schema: {
|
|
12
|
+
$ref: `#/components/schemas/${key}`,
|
|
13
|
+
},
|
|
14
|
+
components: { schemas: props.schemas },
|
|
15
|
+
closure: (next) => {
|
|
16
|
+
if (OpenApiTypeChecker.isReference(next))
|
|
17
|
+
typeReferences.add(next.$ref.split("/").pop()!.split(".")[0]!);
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
if (props.operation.requestBody) visit(props.operation.requestBody.typeName);
|
|
21
|
+
if (props.operation.responseBody)
|
|
22
|
+
visit(props.operation.responseBody.typeName);
|
|
23
|
+
|
|
24
|
+
// Build the standard imports
|
|
25
|
+
const imports: string[] = [
|
|
26
|
+
'import { HttpException } from "@nestjs/common";',
|
|
27
|
+
'import { Prisma } from "@prisma/sdk";',
|
|
28
|
+
'import jwt from "jsonwebtoken";',
|
|
29
|
+
'import typia, { tags } from "typia";',
|
|
30
|
+
'import { v4 } from "uuid";',
|
|
31
|
+
|
|
32
|
+
'import { MyGlobal } from "../MyGlobal";',
|
|
33
|
+
'import { PasswordUtil } from "../utils/PasswordUtil";',
|
|
34
|
+
'import { toISOStringSafe } from "../utils/toISOStringSafe"',
|
|
35
|
+
"",
|
|
36
|
+
...Array.from(typeReferences).map(
|
|
37
|
+
(ref) =>
|
|
38
|
+
`import { ${ref} } from "@ORGANIZATION/PROJECT-api/lib/structures/${ref}";`,
|
|
39
|
+
),
|
|
40
|
+
];
|
|
41
|
+
return imports;
|
|
42
|
+
}
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import { AutoBeOpenApi, AutoBeRealizeAuthorization } from "@autobe/interface";
|
|
2
|
-
import { StringUtil } from "@autobe/utils";
|
|
3
|
-
|
|
4
|
-
import { AutoBeRealizeOperationProgrammer } from "../programmers/AutoBeRealizeOperationProgrammer";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Generate TypeScript type definition string for provider function props
|
|
8
|
-
*
|
|
9
|
-
* This utility creates the exact props interface that the Realize Agent's
|
|
10
|
-
* generated provider functions must accept. It combines:
|
|
11
|
-
*
|
|
12
|
-
* - Authentication context (user/admin/member from authorization)
|
|
13
|
-
* - URL path parameters (e.g., id, boardId, postId)
|
|
14
|
-
* - Request body type (if applicable)
|
|
15
|
-
*
|
|
16
|
-
* The output is injected into REALIZE_OPERATION_WRITE.md template to tell the
|
|
17
|
-
* AI exactly what parameter type the function should accept.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* // For DELETE /posts/:id (authenticated)
|
|
21
|
-
* // Returns: "props: { user: IUser; id: string & tags.Format<'uuid'>; }"
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* // For GET /public/info (no auth, no params)
|
|
25
|
-
* // Returns: "// No props parameter needed - function should have no parameters"
|
|
26
|
-
*
|
|
27
|
-
* @param operation - OpenAPI operation definition containing parameters and
|
|
28
|
-
* auth requirements
|
|
29
|
-
* @param authorization - Authorization context with user/role information (if
|
|
30
|
-
* authenticated endpoint)
|
|
31
|
-
* @returns TypeScript interface string like "props: { user: IUser; id: string;
|
|
32
|
-
* body: IRequest; }"
|
|
33
|
-
*/
|
|
34
|
-
export function getRealizeWriteInputType(
|
|
35
|
-
operation: AutoBeOpenApi.IOperation,
|
|
36
|
-
authorization: AutoBeRealizeAuthorization | null,
|
|
37
|
-
): string {
|
|
38
|
-
const functionParameterFields: string[] = [];
|
|
39
|
-
|
|
40
|
-
// Add authentication field (user/admin/member) if endpoint requires auth
|
|
41
|
-
// Skip for public auth operations (login, join, refresh) - they must be publicly accessible
|
|
42
|
-
const hasAuthentication =
|
|
43
|
-
authorization &&
|
|
44
|
-
operation.authorizationActor &&
|
|
45
|
-
!AutoBeRealizeOperationProgrammer.isPublicAuthOperation(operation);
|
|
46
|
-
if (hasAuthentication) {
|
|
47
|
-
const authFieldName = operation.authorizationActor;
|
|
48
|
-
const authFieldType = authorization.payload.name;
|
|
49
|
-
functionParameterFields.push(`${authFieldName}: ${authFieldType};`);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// Add URL path parameters (e.g., /posts/:id → id parameter)
|
|
53
|
-
const pathParameters = operation.parameters;
|
|
54
|
-
pathParameters.forEach((pathParam) => {
|
|
55
|
-
const paramName = pathParam.name;
|
|
56
|
-
const paramType = pathParam.schema.type;
|
|
57
|
-
const paramFormat =
|
|
58
|
-
"format" in pathParam.schema
|
|
59
|
-
? ` & tags.Format<'${pathParam.schema.format}'>`
|
|
60
|
-
: "";
|
|
61
|
-
|
|
62
|
-
const parameterField = `${paramName}: ${paramType}${paramFormat};`;
|
|
63
|
-
functionParameterFields.push(parameterField);
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
// Add request body if present (POST/PUT/PATCH operations)
|
|
67
|
-
const hasRequestBody = operation.requestBody?.typeName;
|
|
68
|
-
if (hasRequestBody) {
|
|
69
|
-
const bodyTypeName = operation.requestBody?.typeName;
|
|
70
|
-
functionParameterFields.push(`body: ${bodyTypeName};`);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Format as TypeScript props interface or indicate no parameters needed
|
|
74
|
-
const hasParameters = functionParameterFields.length > 0;
|
|
75
|
-
|
|
76
|
-
if (!hasParameters) {
|
|
77
|
-
return `// No props parameter needed - function should have no parameters`;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const formattedFields = functionParameterFields
|
|
81
|
-
.map((field) => ` ${field}`)
|
|
82
|
-
.join("\n");
|
|
83
|
-
|
|
84
|
-
return StringUtil.trim`
|
|
85
|
-
props: {
|
|
86
|
-
${formattedFields}
|
|
87
|
-
}`;
|
|
88
|
-
}
|
|
1
|
+
import { AutoBeOpenApi, AutoBeRealizeAuthorization } from "@autobe/interface";
|
|
2
|
+
import { StringUtil } from "@autobe/utils";
|
|
3
|
+
|
|
4
|
+
import { AutoBeRealizeOperationProgrammer } from "../programmers/AutoBeRealizeOperationProgrammer";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Generate TypeScript type definition string for provider function props
|
|
8
|
+
*
|
|
9
|
+
* This utility creates the exact props interface that the Realize Agent's
|
|
10
|
+
* generated provider functions must accept. It combines:
|
|
11
|
+
*
|
|
12
|
+
* - Authentication context (user/admin/member from authorization)
|
|
13
|
+
* - URL path parameters (e.g., id, boardId, postId)
|
|
14
|
+
* - Request body type (if applicable)
|
|
15
|
+
*
|
|
16
|
+
* The output is injected into REALIZE_OPERATION_WRITE.md template to tell the
|
|
17
|
+
* AI exactly what parameter type the function should accept.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // For DELETE /posts/:id (authenticated)
|
|
21
|
+
* // Returns: "props: { user: IUser; id: string & tags.Format<'uuid'>; }"
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // For GET /public/info (no auth, no params)
|
|
25
|
+
* // Returns: "// No props parameter needed - function should have no parameters"
|
|
26
|
+
*
|
|
27
|
+
* @param operation - OpenAPI operation definition containing parameters and
|
|
28
|
+
* auth requirements
|
|
29
|
+
* @param authorization - Authorization context with user/role information (if
|
|
30
|
+
* authenticated endpoint)
|
|
31
|
+
* @returns TypeScript interface string like "props: { user: IUser; id: string;
|
|
32
|
+
* body: IRequest; }"
|
|
33
|
+
*/
|
|
34
|
+
export function getRealizeWriteInputType(
|
|
35
|
+
operation: AutoBeOpenApi.IOperation,
|
|
36
|
+
authorization: AutoBeRealizeAuthorization | null,
|
|
37
|
+
): string {
|
|
38
|
+
const functionParameterFields: string[] = [];
|
|
39
|
+
|
|
40
|
+
// Add authentication field (user/admin/member) if endpoint requires auth
|
|
41
|
+
// Skip for public auth operations (login, join, refresh) - they must be publicly accessible
|
|
42
|
+
const hasAuthentication =
|
|
43
|
+
authorization &&
|
|
44
|
+
operation.authorizationActor &&
|
|
45
|
+
!AutoBeRealizeOperationProgrammer.isPublicAuthOperation(operation);
|
|
46
|
+
if (hasAuthentication) {
|
|
47
|
+
const authFieldName = operation.authorizationActor;
|
|
48
|
+
const authFieldType = authorization.payload.name;
|
|
49
|
+
functionParameterFields.push(`${authFieldName}: ${authFieldType};`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Add URL path parameters (e.g., /posts/:id → id parameter)
|
|
53
|
+
const pathParameters = operation.parameters;
|
|
54
|
+
pathParameters.forEach((pathParam) => {
|
|
55
|
+
const paramName = pathParam.name;
|
|
56
|
+
const paramType = pathParam.schema.type;
|
|
57
|
+
const paramFormat =
|
|
58
|
+
"format" in pathParam.schema
|
|
59
|
+
? ` & tags.Format<'${pathParam.schema.format}'>`
|
|
60
|
+
: "";
|
|
61
|
+
|
|
62
|
+
const parameterField = `${paramName}: ${paramType}${paramFormat};`;
|
|
63
|
+
functionParameterFields.push(parameterField);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// Add request body if present (POST/PUT/PATCH operations)
|
|
67
|
+
const hasRequestBody = operation.requestBody?.typeName;
|
|
68
|
+
if (hasRequestBody) {
|
|
69
|
+
const bodyTypeName = operation.requestBody?.typeName;
|
|
70
|
+
functionParameterFields.push(`body: ${bodyTypeName};`);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Format as TypeScript props interface or indicate no parameters needed
|
|
74
|
+
const hasParameters = functionParameterFields.length > 0;
|
|
75
|
+
|
|
76
|
+
if (!hasParameters) {
|
|
77
|
+
return `// No props parameter needed - function should have no parameters`;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const formattedFields = functionParameterFields
|
|
81
|
+
.map((field) => ` ${field}`)
|
|
82
|
+
.join("\n");
|
|
83
|
+
|
|
84
|
+
return StringUtil.trim`
|
|
85
|
+
props: {
|
|
86
|
+
${formattedFields}
|
|
87
|
+
}`;
|
|
88
|
+
}
|