@autobe/agent 0.18.0 → 0.20.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/lib/AutoBeMockAgent.d.ts +2 -10
- package/lib/agent/src/AutoBeAgent.js +8 -2
- package/lib/agent/src/AutoBeAgent.js.map +1 -1
- package/lib/agent/src/AutoBeMockAgent.d.ts +2 -10
- package/lib/agent/src/AutoBeMockAgent.js +10 -5
- package/lib/agent/src/AutoBeMockAgent.js.map +1 -1
- package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +23 -29
- package/lib/agent/src/constants/AutoBeSystemPromptConstant.js.map +1 -1
- package/lib/agent/src/context/AutoBeContext.d.ts +1 -0
- package/lib/agent/src/context/AutoBeTokenUsageComponent.d.ts +1 -0
- package/lib/agent/src/context/AutoBeTokenUsageComponent.js +14 -0
- package/lib/agent/src/context/AutoBeTokenUsageComponent.js.map +1 -1
- package/lib/agent/src/factory/consentFunctionCall.d.ts +10 -0
- package/lib/agent/src/factory/consentFunctionCall.js +213 -0
- package/lib/agent/src/factory/consentFunctionCall.js.map +1 -0
- package/lib/agent/src/factory/createAgenticaHistory.js +1 -0
- package/lib/agent/src/factory/createAgenticaHistory.js.map +1 -1
- package/lib/agent/src/factory/createAutoBeContext.js +79 -19
- package/lib/agent/src/factory/createAutoBeContext.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +6 -0
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js +41 -0
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +1 -0
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +12 -9
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +3 -1
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js +45 -31
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js +25 -6
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +8 -3
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js +15 -12
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js +33 -44
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +6 -4
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js +10 -4
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +16 -16
- package/lib/agent/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +5 -5
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js +45 -45
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +14 -14
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js +31 -30
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +24 -31
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js +4 -4
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js +27 -26
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +13 -12
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.js +4 -4
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +11 -10
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +36 -29
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterface.js +31 -9
- package/lib/agent/src/orchestrate/interface/orchestrateInterface.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +2 -2
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js +1571 -1144
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js +24 -4
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js +6 -2
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.d.ts +2 -2
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js +12 -14
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js +103 -71
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +2 -3
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +147 -116
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js +401 -233
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +2 -5
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js +362 -178
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +38 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +16 -16
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +97 -14
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +75 -1
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +46 -14
- package/lib/agent/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +18 -24
- package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.d.ts +7 -0
- package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.js +35 -0
- package/lib/agent/src/orchestrate/interface/utils/validateAuthorizationSchema.js.map +1 -0
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js +60 -66
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js +19 -30
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js +38 -35
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +39 -26
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js +15 -4
- package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.d.ts +1 -2
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js +7 -9
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js +38 -2
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js +61 -10
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js +68 -24
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js +24 -21
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorization.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js +59 -57
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +1 -0
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js +17 -13
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +3 -0
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js +287 -0
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +1 -0
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +5 -2
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +46 -49
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.d.ts +7 -0
- package/lib/agent/src/orchestrate/realize/internal/{compile.js → compileRealizeFiles.js} +12 -29
- package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.js.map +1 -0
- package/lib/agent/src/orchestrate/realize/orchestrateRealize.js +76 -45
- package/lib/agent/src/orchestrate/realize/orchestrateRealize.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js +15 -9
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +9 -7
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.d.ts +9 -6
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js +25 -20
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -66
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.d.ts +8 -6
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js +36 -27
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +3 -3
- package/lib/agent/src/orchestrate/{internal/IProgress.js → realize/structures/IAutoBeRealizeCorrectApplication.js} +1 -1
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.js.map +1 -0
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +19 -16
- package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js +5 -1
- package/lib/agent/src/orchestrate/realize/utils/replaceImportStatements.js.map +1 -1
- package/lib/agent/src/orchestrate/test/compile/completeTestCode.js +13 -10
- package/lib/agent/src/orchestrate/test/compile/completeTestCode.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js +17 -16
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js +33 -32
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.d.ts +2 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +97 -49
- package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +3 -3
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTest.js +17 -4
- package/lib/agent/src/orchestrate/test/orchestrateTest.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js +18 -9
- package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js +138 -23
- package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js +17 -17
- package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +7 -6
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +1 -1
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.d.ts +6 -0
- package/lib/agent/src/orchestrate/{realize/structures/IAutoBeRealizeCoderApplication.js → test/structures/IAutoBeTestScenarioAuthorizationRole.js} +1 -1
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.js.map +1 -0
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +2 -2
- package/lib/agent/src/utils/executeCachedBatch.d.ts +1 -0
- package/lib/agent/src/utils/executeCachedBatch.js +23 -0
- package/lib/agent/src/utils/executeCachedBatch.js.map +1 -0
- package/lib/agent/src/utils/predicateStateMessage.d.ts +4 -0
- package/lib/agent/src/utils/predicateStateMessage.js +87 -0
- package/lib/agent/src/utils/predicateStateMessage.js.map +1 -0
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +23 -29
- package/lib/context/AutoBeContext.d.ts +1 -0
- package/lib/context/AutoBeTokenUsageComponent.d.ts +1 -0
- package/lib/factory/consentFunctionCall.d.ts +10 -0
- package/lib/index.mjs +4799 -2637
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +6 -0
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +3 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +8 -3
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +6 -4
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +16 -16
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +5 -5
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +2 -2
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.d.ts +2 -2
- package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +2 -3
- package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +2 -5
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +38 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +16 -16
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +97 -14
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +75 -1
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +46 -14
- package/lib/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.d.ts +18 -24
- package/lib/orchestrate/interface/utils/validateAuthorizationSchema.d.ts +7 -0
- package/lib/orchestrate/prisma/orchestratePrismaComponent.d.ts +1 -2
- package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +1 -0
- package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +3 -0
- package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +5 -2
- package/lib/orchestrate/realize/internal/compileRealizeFiles.d.ts +7 -0
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.d.ts +9 -6
- package/lib/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -66
- package/lib/orchestrate/realize/orchestrateRealizeWrite.d.ts +8 -6
- package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.d.ts +3 -3
- package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +19 -16
- package/lib/orchestrate/test/histories/transformTestScenarioHistories.d.ts +2 -1
- package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +7 -6
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +1 -1
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.d.ts +6 -0
- package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +2 -2
- package/lib/utils/executeCachedBatch.d.ts +1 -0
- package/lib/utils/predicateStateMessage.d.ts +4 -0
- package/package.json +6 -6
- package/src/AutoBeAgent.ts +18 -3
- package/src/AutoBeMockAgent.ts +13 -15
- package/src/constants/AutoBeSystemPromptConstant.ts +23 -29
- package/src/context/AutoBeContext.ts +1 -0
- package/src/context/AutoBeTokenUsageComponent.ts +20 -0
- package/src/factory/consentFunctionCall.ts +129 -0
- package/src/factory/createAgenticaHistory.ts +1 -0
- package/src/factory/createAutoBeContext.ts +108 -20
- package/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.ts +53 -0
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.ts +13 -10
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.ts +68 -47
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +33 -21
- package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +21 -10
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +18 -40
- package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +15 -8
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +16 -16
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +5 -5
- package/src/orchestrate/interface/histories/transformInterfaceAssetHistories.ts +47 -47
- package/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.ts +14 -14
- package/src/orchestrate/interface/histories/transformInterfaceComplementHistories.ts +31 -30
- package/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.ts +20 -29
- package/src/orchestrate/interface/histories/transformInterfaceGroupHistories.ts +3 -3
- package/src/orchestrate/interface/histories/transformInterfaceOperationHistories.ts +23 -22
- package/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.ts +12 -11
- package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistories.ts +5 -5
- package/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.ts +11 -10
- package/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.ts +37 -30
- package/src/orchestrate/interface/orchestrateInterface.ts +53 -12
- package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +142 -32
- package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +2 -0
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +13 -9
- package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +8 -19
- package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +82 -74
- package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +51 -32
- package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +174 -56
- package/src/orchestrate/interface/orchestrateInterfaceSchemasReview.ts +149 -63
- package/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.ts +39 -0
- package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +16 -16
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +101 -14
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.ts +77 -1
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +47 -14
- package/src/orchestrate/interface/structures/IAutobeInterfaceSchemasReviewApplication.ts +18 -24
- package/src/orchestrate/interface/utils/validateAuthorizationSchema.ts +41 -0
- package/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.ts +61 -66
- package/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.ts +19 -30
- package/src/orchestrate/prisma/histories/transformPrismaReviewHistories.ts +38 -35
- package/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.ts +36 -23
- package/src/orchestrate/prisma/orchestratePrisma.ts +17 -6
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +8 -19
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +3 -0
- package/src/orchestrate/prisma/orchestratePrismaReview.ts +37 -18
- package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +25 -17
- package/src/orchestrate/realize/histories/transformRealizeAuthorization.ts +24 -21
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.ts +57 -59
- package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +20 -14
- package/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.ts +294 -0
- package/src/orchestrate/realize/histories/transformRealizeWriteHistories.ts +62 -57
- package/src/orchestrate/realize/internal/compileRealizeFiles.ts +71 -0
- package/src/orchestrate/realize/orchestrateRealize.ts +109 -86
- package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +22 -13
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +3 -0
- package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +28 -24
- package/src/orchestrate/realize/orchestrateRealizeScenario.ts +0 -74
- package/src/orchestrate/realize/orchestrateRealizeWrite.ts +37 -28
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.ts +3 -3
- package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +19 -16
- package/src/orchestrate/realize/utils/replaceImportStatements.ts +7 -0
- package/src/orchestrate/test/compile/completeTestCode.ts +17 -13
- package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +4 -4
- package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +17 -16
- package/src/orchestrate/test/histories/transformTestHistories.ts +35 -34
- package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +116 -60
- package/src/orchestrate/test/histories/transformTestWriteHistories.ts +3 -3
- package/src/orchestrate/test/orchestrateTest.ts +18 -8
- package/src/orchestrate/test/orchestrateTestCorrect.ts +34 -24
- package/src/orchestrate/test/orchestrateTestScenario.ts +179 -36
- package/src/orchestrate/test/orchestrateTestWrite.ts +18 -19
- package/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.ts +7 -6
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +1 -1
- package/src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.ts +7 -0
- package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +2 -2
- package/src/utils/executeCachedBatch.ts +15 -0
- package/src/utils/predicateStateMessage.ts +107 -0
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +0 -4
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.js +0 -46
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.js.map +0 -1
- package/lib/agent/src/orchestrate/internal/IProgress.d.ts +0 -4
- package/lib/agent/src/orchestrate/internal/IProgress.js.map +0 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.d.ts +0 -7
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.js +0 -213
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCoderHistories.js.map +0 -1
- package/lib/agent/src/orchestrate/realize/internal/compile.d.ts +0 -7
- package/lib/agent/src/orchestrate/realize/internal/compile.js.map +0 -1
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +0 -345
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.js.map +0 -1
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +0 -56
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.js +0 -3
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeCompile.js.map +0 -1
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +0 -2
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js +0 -5
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js.map +0 -1
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.js +0 -3
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeReviewApplication.js.map +0 -1
- package/lib/agent/src/utils/pipe.d.ts +0 -5
- package/lib/agent/src/utils/pipe.js +0 -14
- package/lib/agent/src/utils/pipe.js.map +0 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +0 -4
- package/lib/orchestrate/internal/IProgress.d.ts +0 -4
- package/lib/orchestrate/realize/histories/transformRealizeCoderHistories.d.ts +0 -7
- package/lib/orchestrate/realize/internal/compile.d.ts +0 -7
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +0 -345
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +0 -56
- package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +0 -2
- package/lib/utils/pipe.d.ts +0 -5
- package/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.ts +0 -53
- package/src/orchestrate/internal/IProgress.ts +0 -4
- package/src/orchestrate/realize/histories/transformRealizeCoderHistories.ts +0 -248
- package/src/orchestrate/realize/internal/compile.ts +0 -84
- package/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.ts +0 -358
- package/src/orchestrate/realize/structures/IAutoBeRealizeCompile.ts +0 -70
- package/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.ts +0 -2
- package/src/utils/pipe.ts +0 -39
- /package/lib/agent/src/orchestrate/realize/structures/{IAutoBeRealizeReviewApplication.d.ts → IAutoBeRealizeCorrectApplication.d.ts} +0 -0
- /package/lib/orchestrate/realize/structures/{IAutoBeRealizeReviewApplication.d.ts → IAutoBeRealizeCorrectApplication.d.ts} +0 -0
- /package/src/orchestrate/realize/structures/{IAutoBeRealizeReviewApplication.ts → IAutoBeRealizeCorrectApplication.ts} +0 -0
|
@@ -51,8 +51,10 @@ const __typia_transform__llmApplicationFinalize = __importStar(require("typia/li
|
|
|
51
51
|
const utils_1 = require("@autobe/utils");
|
|
52
52
|
const tstl_1 = require("tstl");
|
|
53
53
|
const typia_1 = __importDefault(require("typia"));
|
|
54
|
+
const uuid_1 = require("uuid");
|
|
54
55
|
const assertSchemaModel_1 = require("../../context/assertSchemaModel");
|
|
55
56
|
const divideArray_1 = require("../../utils/divideArray");
|
|
57
|
+
const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
|
|
56
58
|
const transformTestScenarioHistories_1 = require("./histories/transformTestScenarioHistories");
|
|
57
59
|
function orchestrateTestScenario(ctx) {
|
|
58
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -83,8 +85,16 @@ function orchestrateTestScenario(ctx) {
|
|
|
83
85
|
array: include,
|
|
84
86
|
capacity: 5,
|
|
85
87
|
});
|
|
86
|
-
yield
|
|
87
|
-
exclude.push(...(yield divideAndConquer(ctx,
|
|
88
|
+
yield (0, executeCachedBatch_1.executeCachedBatch)(matrix.map((include) => (promptCacheKey) => __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
exclude.push(...(yield divideAndConquer(ctx, {
|
|
90
|
+
dict,
|
|
91
|
+
endpointNotFound,
|
|
92
|
+
entire: operations,
|
|
93
|
+
include,
|
|
94
|
+
exclude: exclude.map((x) => x.endpoint),
|
|
95
|
+
progress,
|
|
96
|
+
promptCacheKey,
|
|
97
|
+
})));
|
|
88
98
|
})));
|
|
89
99
|
include = include.filter((op) => {
|
|
90
100
|
if (exclude.some((pg) => pg.endpoint.method === op.method && pg.endpoint.path === op.path)) {
|
|
@@ -105,18 +115,20 @@ function orchestrateTestScenario(ctx) {
|
|
|
105
115
|
});
|
|
106
116
|
});
|
|
107
117
|
}
|
|
108
|
-
const divideAndConquer = (ctx,
|
|
109
|
-
var _a, _b;
|
|
118
|
+
const divideAndConquer = (ctx, props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
+
var _a, _b, _c, _d;
|
|
110
120
|
const pointer = {
|
|
111
121
|
value: [],
|
|
112
122
|
};
|
|
123
|
+
const authorizations = (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.authorizations) !== null && _b !== void 0 ? _b : [];
|
|
113
124
|
const { tokenUsage } = yield ctx.conversate({
|
|
114
125
|
source: "testScenarios",
|
|
115
|
-
histories: (0, transformTestScenarioHistories_1.transformTestScenarioHistories)(entire, include, exclude),
|
|
126
|
+
histories: (0, transformTestScenarioHistories_1.transformTestScenarioHistories)(ctx.state(), props.entire, props.include, props.exclude),
|
|
116
127
|
controller: createController({
|
|
117
128
|
model: ctx.model,
|
|
118
|
-
endpointNotFound,
|
|
119
|
-
dict,
|
|
129
|
+
endpointNotFound: props.endpointNotFound,
|
|
130
|
+
dict: props.dict,
|
|
131
|
+
authorizations,
|
|
120
132
|
build: (next) => {
|
|
121
133
|
var _a;
|
|
122
134
|
(_a = pointer.value) !== null && _a !== void 0 ? _a : (pointer.value = []);
|
|
@@ -124,12 +136,14 @@ const divideAndConquer = (ctx, dict, endpointNotFound, entire, include, exclude,
|
|
|
124
136
|
},
|
|
125
137
|
}),
|
|
126
138
|
enforceFunctionCall: true,
|
|
139
|
+
promptCacheKey: props.promptCacheKey,
|
|
127
140
|
message: `Create e2e test scenarios.`,
|
|
128
141
|
});
|
|
129
142
|
if (pointer.value.length === 0)
|
|
130
143
|
return [];
|
|
131
144
|
ctx.dispatch({
|
|
132
145
|
type: "testScenarios",
|
|
146
|
+
id: (0, uuid_1.v7)(),
|
|
133
147
|
tokenUsage,
|
|
134
148
|
scenarios: pointer.value
|
|
135
149
|
.map((v) => v.scenarios.map((s) => ({
|
|
@@ -139,9 +153,9 @@ const divideAndConquer = (ctx, dict, endpointNotFound, entire, include, exclude,
|
|
|
139
153
|
dependencies: s.dependencies,
|
|
140
154
|
})))
|
|
141
155
|
.flat(),
|
|
142
|
-
completed: ++progress.completed,
|
|
143
|
-
total: progress.total,
|
|
144
|
-
step: (
|
|
156
|
+
completed: ++props.progress.completed,
|
|
157
|
+
total: props.progress.total,
|
|
158
|
+
step: (_d = (_c = ctx.state().interface) === null || _c === void 0 ? void 0 : _c.step) !== null && _d !== void 0 ? _d : 0,
|
|
145
159
|
created_at: new Date().toISOString(),
|
|
146
160
|
});
|
|
147
161
|
return pointer.value;
|
|
@@ -276,17 +290,7 @@ function createController(props) {
|
|
|
276
290
|
if (result.success === false)
|
|
277
291
|
return result;
|
|
278
292
|
// merge to unique scenario groups
|
|
279
|
-
const scenarioGroups =
|
|
280
|
-
result.data.scenarioGroups.forEach((sg) => {
|
|
281
|
-
const created = scenarioGroups.find((el) => el.endpoint.method === sg.endpoint.method &&
|
|
282
|
-
el.endpoint.path === sg.endpoint.path);
|
|
283
|
-
if (created) {
|
|
284
|
-
created.scenarios.push(...sg.scenarios);
|
|
285
|
-
}
|
|
286
|
-
else {
|
|
287
|
-
scenarioGroups.push(sg);
|
|
288
|
-
}
|
|
289
|
-
});
|
|
293
|
+
const scenarioGroups = uniqueScenarioGroups(result.data.scenarioGroups);
|
|
290
294
|
// validate endpoints
|
|
291
295
|
const errors = [];
|
|
292
296
|
scenarioGroups.forEach((group, i) => {
|
|
@@ -309,6 +313,114 @@ function createController(props) {
|
|
|
309
313
|
});
|
|
310
314
|
});
|
|
311
315
|
});
|
|
316
|
+
// Authentication Correction
|
|
317
|
+
const entireRoles = new Map();
|
|
318
|
+
for (const authorization of props.authorizations) {
|
|
319
|
+
for (const op of authorization.operations) {
|
|
320
|
+
if (op.authorizationType === null)
|
|
321
|
+
continue;
|
|
322
|
+
const value = utils_1.MapUtil.take(entireRoles, authorization.role, () => ({
|
|
323
|
+
name: authorization.role,
|
|
324
|
+
join: null,
|
|
325
|
+
login: null,
|
|
326
|
+
}));
|
|
327
|
+
if (op.authorizationType === "join")
|
|
328
|
+
value.join = op;
|
|
329
|
+
else if (op.authorizationType === "login")
|
|
330
|
+
value.login = op;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
scenarioGroups.forEach((group) => {
|
|
334
|
+
if (props.dict.has(group.endpoint) === false)
|
|
335
|
+
return;
|
|
336
|
+
const operation = props.dict.get(group.endpoint);
|
|
337
|
+
group.scenarios.forEach((scenario) => {
|
|
338
|
+
var _a, _b, _c, _d, _e, _f;
|
|
339
|
+
// gathere authorization roles
|
|
340
|
+
const localRoles = new Map();
|
|
341
|
+
const add = (operation) => {
|
|
342
|
+
const role = operation.authorizationRole;
|
|
343
|
+
if (role === null)
|
|
344
|
+
return;
|
|
345
|
+
utils_1.MapUtil.take(localRoles, role, () => ({
|
|
346
|
+
name: role,
|
|
347
|
+
join: null,
|
|
348
|
+
login: null,
|
|
349
|
+
}));
|
|
350
|
+
};
|
|
351
|
+
add(operation);
|
|
352
|
+
scenario.dependencies.forEach((d) => {
|
|
353
|
+
if (props.dict.has(d.endpoint) === false)
|
|
354
|
+
return;
|
|
355
|
+
const depOperation = props.dict.get(d.endpoint);
|
|
356
|
+
add(depOperation);
|
|
357
|
+
});
|
|
358
|
+
// Single role case - add join operation
|
|
359
|
+
if (localRoles.size === 1) {
|
|
360
|
+
const role = localRoles
|
|
361
|
+
.values()
|
|
362
|
+
.next().value;
|
|
363
|
+
if (role.join === null) {
|
|
364
|
+
const joinOperation = (_b = (_a = entireRoles.get(role.name)) === null || _a === void 0 ? void 0 : _a.join) !== null && _b !== void 0 ? _b : null;
|
|
365
|
+
if (joinOperation === null)
|
|
366
|
+
throw new Error("Unreachable code");
|
|
367
|
+
scenario.dependencies.push({
|
|
368
|
+
endpoint: {
|
|
369
|
+
method: joinOperation.method,
|
|
370
|
+
path: joinOperation.path,
|
|
371
|
+
},
|
|
372
|
+
purpose: utils_1.StringUtil.trim `
|
|
373
|
+
Essential authentication prerequisite:
|
|
374
|
+
This join operation (${joinOperation.method} ${joinOperation.path}) must be executed before any operations requiring '${role.name}' role authorization.
|
|
375
|
+
It establishes the necessary user account and authentication context for the '${role.name}' role, enabling subsequent API calls that depend on this specific authorization level.
|
|
376
|
+
Without this join operation, the main scenario endpoint and its dependencies will fail due to insufficient authentication credentials.
|
|
377
|
+
`,
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
// Multiple roles case - add both join and login operations
|
|
382
|
+
if (localRoles.size > 1) {
|
|
383
|
+
for (const role of localRoles.values()) {
|
|
384
|
+
if (role.join === null) {
|
|
385
|
+
const joinOperation = (_d = (_c = entireRoles.get(role.name)) === null || _c === void 0 ? void 0 : _c.join) !== null && _d !== void 0 ? _d : null;
|
|
386
|
+
if (joinOperation === null)
|
|
387
|
+
throw new Error("Unreachable code");
|
|
388
|
+
scenario.dependencies.push({
|
|
389
|
+
endpoint: {
|
|
390
|
+
path: joinOperation.path,
|
|
391
|
+
method: joinOperation.method,
|
|
392
|
+
},
|
|
393
|
+
purpose: utils_1.StringUtil.trim `
|
|
394
|
+
Multi-actor authentication setup:
|
|
395
|
+
This join operation (${joinOperation.method} ${joinOperation.path}) is required to establish a '${role.name}' role user account in the system.
|
|
396
|
+
This scenario involves multiple authorization roles, requiring separate user accounts for each role to properly test cross-role interactions and authorization boundaries.
|
|
397
|
+
The join operation creates the foundational user identity that will be used throughout the test scenario for '${role.name}' specific operations.
|
|
398
|
+
This join operation is required for the '${role.name}' role authentication.
|
|
399
|
+
`,
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
if (role.login === null) {
|
|
403
|
+
const loginOperation = (_f = (_e = entireRoles.get(role.name)) === null || _e === void 0 ? void 0 : _e.login) !== null && _f !== void 0 ? _f : null;
|
|
404
|
+
if (loginOperation === null)
|
|
405
|
+
throw new Error("Unreachable code");
|
|
406
|
+
scenario.dependencies.push({
|
|
407
|
+
endpoint: {
|
|
408
|
+
path: loginOperation.path,
|
|
409
|
+
method: loginOperation.method,
|
|
410
|
+
},
|
|
411
|
+
purpose: utils_1.StringUtil.trim `
|
|
412
|
+
Role switching authentication:
|
|
413
|
+
This login operation (${loginOperation.method} ${loginOperation.path}) enables dynamic user role switching during test execution for the '${role.name}' role.
|
|
414
|
+
In scenarios with multiple actors, the test agent needs to authenticate as different users to simulate real-world multi-user interactions.
|
|
415
|
+
This login operation ensures proper session management and authorization context switching, allowing the test to validate permissions, access controls, and business logic that span across different user roles within a single test scenario.
|
|
416
|
+
This login operation may be required for user role swapping between multiple actors.
|
|
417
|
+
`,
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
});
|
|
423
|
+
});
|
|
312
424
|
return errors.length === 0
|
|
313
425
|
? {
|
|
314
426
|
success: true,
|
|
@@ -336,6 +448,9 @@ function createController(props) {
|
|
|
336
448
|
},
|
|
337
449
|
};
|
|
338
450
|
}
|
|
451
|
+
const uniqueScenarioGroups = (groups) => new tstl_1.HashMap(groups.map((g) => new tstl_1.Pair(g.endpoint, g)), utils_1.AutoBeEndpointComparator.hashCode, utils_1.AutoBeEndpointComparator.equals)
|
|
452
|
+
.toJSON()
|
|
453
|
+
.map((it) => it.second);
|
|
339
454
|
const collection = {
|
|
340
455
|
chatgpt: (validate) => (() => {
|
|
341
456
|
const application = {
|
|
@@ -419,7 +534,7 @@ const collection = {
|
|
|
419
534
|
type: "string"
|
|
420
535
|
},
|
|
421
536
|
functionName: {
|
|
422
|
-
description: "Descriptive function name derived from the user scenario.\n\nThe function name serves as a concise, technical identifier that clearly\nrepresents the specific user scenario being described. It should be\nimmediately understandable and directly correspond to the user situation\nwithout requiring additional context.\n\n## Naming Convention\n\
|
|
537
|
+
description: "Descriptive function name derived from the user scenario.\n\nThe function name serves as a concise, technical identifier that clearly\nrepresents the specific user scenario being described. It should be\nimmediately understandable and directly correspond to the user situation\nwithout requiring additional context.\n\n## Naming Convention\n\nDO: Use snake_case naming convention.\n\n- Must start with `test_api_` prefix (mandatory requirement)\n- ALWAYS start with business feature, NOT action verbs\n- Business feature comes first, followed by scenario context\n- Embed action verbs within the scenario description, not at the beginning\n\n## Content Structure\n\nFunction names should follow this pattern:\n`test_api_[core_feature]_[specific_scenario]`\n\nWhere:\n\n- `core_feature`: The main business feature or entity being tested\n (customer, seller, cart, push_message, etc.)\n- `specific_scenario`: The specific operation or scenario context\n (join_verification_not_found, login_success,\n moderator_assignment_update, discountable_ticket_duplicated,\n csv_export, etc.)\n\n## Business Feature-Based Examples\n\n- `test_api_customer_join_verification_not_found` - Customer join\n verification when verification code not found\n- `test_api_seller_login` - Seller login operation\n- `test_api_cart_discountable_ticket_duplicated` - Cart discountable ticket\n with duplication scenario\n- `test_api_push_message_csv` - Push message functionality with CSV format\n- `test_api_product_review_update` - Product review update operation\n\n## Clarity Guidelines\n\n- Prioritize clarity over brevity\n- Avoid technical jargon or implementation terms\n- Use terminology that reflects user perspective\n- Ensure the name alone conveys the user's intent\n- Make it understandable to non-technical stakeholders\n- Keep consistent with user scenario description\n\n## Single Endpoint Alignment\n\nFunction names must reflect scenarios that:\n\n- Accomplish user goals through this single endpoint only\n- Don't imply dependency on other API operations\n- Represent complete user interactions\n\n\n@pattern ^[a-z][a-z0-9_]*$",
|
|
423
538
|
type: "string"
|
|
424
539
|
},
|
|
425
540
|
dependencies: {
|
|
@@ -682,7 +797,7 @@ const collection = {
|
|
|
682
797
|
type: "string"
|
|
683
798
|
},
|
|
684
799
|
functionName: {
|
|
685
|
-
description: "Descriptive function name derived from the user scenario.\n\nThe function name serves as a concise, technical identifier that clearly\nrepresents the specific user scenario being described. It should be\nimmediately understandable and directly correspond to the user situation\nwithout requiring additional context.\n\n## Naming Convention\n\
|
|
800
|
+
description: "Descriptive function name derived from the user scenario.\n\nThe function name serves as a concise, technical identifier that clearly\nrepresents the specific user scenario being described. It should be\nimmediately understandable and directly correspond to the user situation\nwithout requiring additional context.\n\n## Naming Convention\n\nDO: Use snake_case naming convention.\n\n- Must start with `test_api_` prefix (mandatory requirement)\n- ALWAYS start with business feature, NOT action verbs\n- Business feature comes first, followed by scenario context\n- Embed action verbs within the scenario description, not at the beginning\n\n## Content Structure\n\nFunction names should follow this pattern:\n`test_api_[core_feature]_[specific_scenario]`\n\nWhere:\n\n- `core_feature`: The main business feature or entity being tested\n (customer, seller, cart, push_message, etc.)\n- `specific_scenario`: The specific operation or scenario context\n (join_verification_not_found, login_success,\n moderator_assignment_update, discountable_ticket_duplicated,\n csv_export, etc.)\n\n## Business Feature-Based Examples\n\n- `test_api_customer_join_verification_not_found` - Customer join\n verification when verification code not found\n- `test_api_seller_login` - Seller login operation\n- `test_api_cart_discountable_ticket_duplicated` - Cart discountable ticket\n with duplication scenario\n- `test_api_push_message_csv` - Push message functionality with CSV format\n- `test_api_product_review_update` - Product review update operation\n\n## Clarity Guidelines\n\n- Prioritize clarity over brevity\n- Avoid technical jargon or implementation terms\n- Use terminology that reflects user perspective\n- Ensure the name alone conveys the user's intent\n- Make it understandable to non-technical stakeholders\n- Keep consistent with user scenario description\n\n## Single Endpoint Alignment\n\nFunction names must reflect scenarios that:\n\n- Accomplish user goals through this single endpoint only\n- Don't imply dependency on other API operations\n- Represent complete user interactions",
|
|
686
801
|
type: "string",
|
|
687
802
|
pattern: "^[a-z][a-z0-9_]*$"
|
|
688
803
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrateTestScenario.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestScenario.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orchestrateTestScenario.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestScenario.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
48
48
|
exports.orchestrateTestWrite = orchestrateTestWrite;
|
|
49
49
|
const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
|
|
50
50
|
const typia_1 = __importDefault(require("typia"));
|
|
51
|
+
const uuid_1 = require("uuid");
|
|
51
52
|
const assertSchemaModel_1 = require("../../context/assertSchemaModel");
|
|
53
|
+
const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
|
|
52
54
|
const completeTestCode_1 = require("./compile/completeTestCode");
|
|
53
55
|
const getTestScenarioArtifacts_1 = require("./compile/getTestScenarioArtifacts");
|
|
54
56
|
const transformTestWriteHistories_1 = require("./histories/transformTestWriteHistories");
|
|
@@ -58,16 +60,21 @@ function orchestrateTestWrite(ctx, scenarios) {
|
|
|
58
60
|
total: scenarios.length,
|
|
59
61
|
completed: 0,
|
|
60
62
|
};
|
|
61
|
-
const result = yield
|
|
63
|
+
const result = yield (0, executeCachedBatch_1.executeCachedBatch)(
|
|
62
64
|
/**
|
|
63
65
|
* Generate test code for each scenario. Maps through plans array to create
|
|
64
66
|
* individual test code implementations. Each scenario is processed to
|
|
65
67
|
* generate corresponding test code and progress events.
|
|
66
68
|
*/
|
|
67
|
-
scenarios.map((scenario) => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
scenarios.map((scenario) => (promptCacheKey) => __awaiter(this, void 0, void 0, function* () {
|
|
68
70
|
try {
|
|
69
71
|
const artifacts = yield (0, getTestScenarioArtifacts_1.getTestScenarioArtifacts)(ctx, scenario);
|
|
70
|
-
const event = yield process(ctx,
|
|
72
|
+
const event = yield process(ctx, {
|
|
73
|
+
scenario,
|
|
74
|
+
artifacts,
|
|
75
|
+
progress,
|
|
76
|
+
promptCacheKey,
|
|
77
|
+
});
|
|
71
78
|
ctx.dispatch(event);
|
|
72
79
|
return {
|
|
73
80
|
scenario,
|
|
@@ -82,18 +89,10 @@ function orchestrateTestWrite(ctx, scenarios) {
|
|
|
82
89
|
return result.filter((r) => r !== null);
|
|
83
90
|
});
|
|
84
91
|
}
|
|
85
|
-
|
|
86
|
-
* Process function that generates test code for each individual scenario. Takes
|
|
87
|
-
* the AutoBeContext and scenario information as input and uses MicroAgentica to
|
|
88
|
-
* generate appropriate test code through LLM interaction.
|
|
89
|
-
*
|
|
90
|
-
* @param ctx - The AutoBeContext containing model, vendor and configuration
|
|
91
|
-
* @param scenario - The test scenario information to generate code for
|
|
92
|
-
* @param artifacts - The artifacts containing the reference files and schemas
|
|
93
|
-
*/
|
|
94
|
-
function process(ctx, scenario, artifacts, progress) {
|
|
92
|
+
function process(ctx, props) {
|
|
95
93
|
return __awaiter(this, void 0, void 0, function* () {
|
|
96
94
|
var _a, _b;
|
|
95
|
+
const { scenario, artifacts, progress, promptCacheKey } = props;
|
|
97
96
|
const pointer = {
|
|
98
97
|
value: null,
|
|
99
98
|
};
|
|
@@ -108,13 +107,14 @@ function process(ctx, scenario, artifacts, progress) {
|
|
|
108
107
|
},
|
|
109
108
|
}),
|
|
110
109
|
enforceFunctionCall: true,
|
|
110
|
+
promptCacheKey,
|
|
111
111
|
message: "Create e2e test functions.",
|
|
112
112
|
});
|
|
113
113
|
if (pointer.value === null)
|
|
114
114
|
throw new Error("Failed to create test code.");
|
|
115
115
|
const compiler = yield ctx.compiler();
|
|
116
116
|
pointer.value.final = yield compiler.typescript.beautify(pointer.value.final);
|
|
117
|
-
return Object.assign(Object.assign({ type: "testWrite", created_at: new Date().toISOString(), location: `test/features/api/${pointer.value.domain}/${scenario.functionName}.ts` }, pointer.value), { tokenUsage, completed: ++progress.completed, total: progress.total, step: (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0 });
|
|
117
|
+
return Object.assign(Object.assign({ type: "testWrite", id: (0, uuid_1.v7)(), created_at: new Date().toISOString(), location: `test/features/api/${pointer.value.domain}/${scenario.functionName}.ts` }, pointer.value), { tokenUsage, completed: ++progress.completed, total: progress.total, step: (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0 });
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
function createController(props) {
|
|
@@ -151,7 +151,7 @@ const claude = {
|
|
|
151
151
|
type: "string"
|
|
152
152
|
},
|
|
153
153
|
domain: {
|
|
154
|
-
description: "Step 2: Functional domain classification for test organization.\n\nAI determines the appropriate domain category based on the scenario\nanalysis. This classification drives file structure, test categorization,\nand logical grouping. The domain must be a single, lowercase word
|
|
154
|
+
description: "Step 2: Functional domain classification for test organization.\n\nAI determines the appropriate domain category based on the scenario\nanalysis. This classification drives file structure, test categorization,\nand logical grouping. The domain must be a single, lowercase word in\nsnake_case format that represents the primary API resource.\n\nWorkflow: Scenario analysis \u2192 Domain identification \u2192 Test organization\nstructure",
|
|
155
155
|
type: "string",
|
|
156
156
|
pattern: "^[a-z][a-z0-9_]*$"
|
|
157
157
|
},
|
|
@@ -254,7 +254,7 @@ const collection = {
|
|
|
254
254
|
type: "string"
|
|
255
255
|
},
|
|
256
256
|
domain: {
|
|
257
|
-
description: "Step 2: Functional domain classification for test organization.\n\nAI determines the appropriate domain category based on the scenario\nanalysis. This classification drives file structure, test categorization,\nand logical grouping. The domain must be a single, lowercase word
|
|
257
|
+
description: "Step 2: Functional domain classification for test organization.\n\nAI determines the appropriate domain category based on the scenario\nanalysis. This classification drives file structure, test categorization,\nand logical grouping. The domain must be a single, lowercase word in\nsnake_case format that represents the primary API resource.\n\nWorkflow: Scenario analysis \u2192 Domain identification \u2192 Test organization\nstructure\n\n\n@pattern ^[a-z][a-z0-9_]*$",
|
|
258
258
|
type: "string"
|
|
259
259
|
},
|
|
260
260
|
draft: {
|
|
@@ -360,7 +360,7 @@ const collection = {
|
|
|
360
360
|
domain: {
|
|
361
361
|
type: "string",
|
|
362
362
|
pattern: "^[a-z][a-z0-9_]*$",
|
|
363
|
-
description: "Step 2: Functional domain classification for test organization.\n\nAI determines the appropriate domain category based on the scenario\nanalysis. This classification drives file structure, test categorization,\nand logical grouping. The domain must be a single, lowercase word
|
|
363
|
+
description: "Step 2: Functional domain classification for test organization.\n\nAI determines the appropriate domain category based on the scenario\nanalysis. This classification drives file structure, test categorization,\nand logical grouping. The domain must be a single, lowercase word in\nsnake_case format that represents the primary API resource.\n\nWorkflow: Scenario analysis \u2192 Domain identification \u2192 Test organization\nstructure"
|
|
364
364
|
},
|
|
365
365
|
draft: {
|
|
366
366
|
type: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrateTestWrite.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestWrite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orchestrateTestWrite.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestWrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export declare namespace IAutoBeTestCorrectApplication {
|
|
|
30
30
|
* AI analyzes the original test scenario, business requirements, and
|
|
31
31
|
* intended functionality without being influenced by compilation errors.
|
|
32
32
|
* This clean analysis establishes a clear understanding of what the test
|
|
33
|
-
*
|
|
33
|
+
* accomplishes, the expected business workflow, and the correct API
|
|
34
34
|
* integration patterns.
|
|
35
35
|
*
|
|
36
36
|
* This step ensures that error correction doesn't lose sight of the
|
|
@@ -67,17 +67,18 @@ export declare namespace IAutoBeTestCorrectApplication {
|
|
|
67
67
|
* AI generates the first corrected version of the test code based on error
|
|
68
68
|
* analysis and correction strategies. This draft addresses all identified
|
|
69
69
|
* compilation errors while preserving the original business logic and test
|
|
70
|
-
* workflow. The code
|
|
71
|
-
*
|
|
70
|
+
* workflow. The code is compilation-error-free and follows all established
|
|
71
|
+
* conventions.
|
|
72
72
|
*
|
|
73
73
|
* The implementation incorporates lessons learned from error analysis to
|
|
74
74
|
* produce properly typed, syntactically correct code that maintains the
|
|
75
75
|
* intended test functionality. All type safety requirements and framework
|
|
76
|
-
* conventions
|
|
76
|
+
* conventions are followed in this corrected implementation.
|
|
77
77
|
*
|
|
78
78
|
* Workflow: Error correction → TypeScript implementation → Functional
|
|
79
|
-
* preservation
|
|
80
|
-
*
|
|
79
|
+
* preservation
|
|
80
|
+
*
|
|
81
|
+
* DO: Resolve all compilation errors while maintaining original test intent
|
|
81
82
|
*/
|
|
82
83
|
draft: string;
|
|
83
84
|
/**
|
|
@@ -57,7 +57,7 @@ export declare namespace IAutoBeTestScenarioApplication {
|
|
|
57
57
|
*
|
|
58
58
|
* ## Naming Convention
|
|
59
59
|
*
|
|
60
|
-
*
|
|
60
|
+
* DO: Use snake_case naming convention.
|
|
61
61
|
*
|
|
62
62
|
* - Must start with `test_api_` prefix (mandatory requirement)
|
|
63
63
|
* - ALWAYS start with business feature, NOT action verbs
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAutoBeTestScenarioAuthorizationRole.js","sourceRoot":"","sources":["../../../../../../src/orchestrate/test/structures/IAutoBeTestScenarioAuthorizationRole.ts"],"names":[],"mappings":""}
|
|
@@ -32,8 +32,8 @@ export declare namespace IAutoBeTestWriteApplication {
|
|
|
32
32
|
*
|
|
33
33
|
* AI determines the appropriate domain category based on the scenario
|
|
34
34
|
* analysis. This classification drives file structure, test categorization,
|
|
35
|
-
* and logical grouping. The domain must be a single, lowercase word
|
|
36
|
-
* represents the primary API resource.
|
|
35
|
+
* and logical grouping. The domain must be a single, lowercase word in
|
|
36
|
+
* snake_case format that represents the primary API resource.
|
|
37
37
|
*
|
|
38
38
|
* Workflow: Scenario analysis → Domain identification → Test organization
|
|
39
39
|
* structure
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const executeCachedBatch: <T>(tasks: Array<(user: string) => Promise<T>>, promptCacheKey?: string) => Promise<T[]>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.executeCachedBatch = void 0;
|
|
13
|
+
const uuid_1 = require("uuid");
|
|
14
|
+
const executeCachedBatch = (tasks, promptCacheKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
if (tasks.length === 0)
|
|
16
|
+
return [];
|
|
17
|
+
promptCacheKey !== null && promptCacheKey !== void 0 ? promptCacheKey : (promptCacheKey = (0, uuid_1.v7)());
|
|
18
|
+
const first = yield tasks[0](promptCacheKey);
|
|
19
|
+
const tail = yield Promise.all(tasks.slice(1).map((task) => task(promptCacheKey)));
|
|
20
|
+
return [first, ...tail];
|
|
21
|
+
});
|
|
22
|
+
exports.executeCachedBatch = executeCachedBatch;
|
|
23
|
+
//# sourceMappingURL=executeCachedBatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeCachedBatch.js","sourceRoot":"","sources":["../../../../src/utils/executeCachedBatch.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA0B;AAEnB,MAAM,kBAAkB,GAAG,CAChC,KAA0C,EAC1C,cAAuB,EACT,EAAE;IAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,IAAA,SAAE,GAAE,EAAC;IACxB,MAAM,KAAK,GAAM,MAAM,KAAK,CAAC,CAAC,CAAE,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,IAAI,GAAQ,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CACnD,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAA,CAAC;AAZW,QAAA,kBAAkB,sBAY7B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.predicateStateMessage = void 0;
|
|
4
|
+
const utils_1 = require("@autobe/utils");
|
|
5
|
+
const predicateStateMessage = (state, future) => {
|
|
6
|
+
if (future === "analyze")
|
|
7
|
+
return null;
|
|
8
|
+
if (future === "prisma")
|
|
9
|
+
return predicatePrisma(state);
|
|
10
|
+
const futureIndex = STEP_ORDER.indexOf(future);
|
|
11
|
+
for (const key of STEP_ORDER.slice(0, futureIndex))
|
|
12
|
+
if (state[key] === null)
|
|
13
|
+
return buildMissingStepsMessage(future, key);
|
|
14
|
+
const prevStepName = STEP_ORDER[futureIndex - 1];
|
|
15
|
+
if (state.analyze.step !== state[prevStepName].step)
|
|
16
|
+
return buildOutdatedMessage(prevStepName, "analyze", state);
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
exports.predicateStateMessage = predicateStateMessage;
|
|
20
|
+
const buildMissingStepsMessage = (current, missing) => {
|
|
21
|
+
const currentIndex = STEP_ORDER.indexOf(current);
|
|
22
|
+
const missingIndex = STEP_ORDER.indexOf(missing);
|
|
23
|
+
const remainingSteps = STEP_ORDER.slice(missingIndex, currentIndex + 1)
|
|
24
|
+
.map((step, index) => `${index + 1}. ${STEP_DESCRIPTIONS[step]}`)
|
|
25
|
+
.join("\n ");
|
|
26
|
+
const currentAction = ACTION_NAMES[current];
|
|
27
|
+
return utils_1.StringUtil.trim `
|
|
28
|
+
${STEP_DESCRIPTIONS[missing]} not completed yet.
|
|
29
|
+
|
|
30
|
+
To ${currentAction}, complete these steps:
|
|
31
|
+
|
|
32
|
+
${remainingSteps}
|
|
33
|
+
|
|
34
|
+
Start with step ${missingIndex + 1}.
|
|
35
|
+
`;
|
|
36
|
+
};
|
|
37
|
+
const buildOutdatedMessage = (outdatedStep, currentStep, state) => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const outdatedVersion = (_a = state[outdatedStep]) === null || _a === void 0 ? void 0 : _a.step;
|
|
40
|
+
const currentVersion = (_b = state[currentStep]) === null || _b === void 0 ? void 0 : _b.step;
|
|
41
|
+
return utils_1.StringUtil.trim `
|
|
42
|
+
${STEP_NAMES[outdatedStep]} is outdated (step ${outdatedVersion}).
|
|
43
|
+
|
|
44
|
+
Requirements are now at step ${currentVersion}.
|
|
45
|
+
|
|
46
|
+
Please update ${outdatedStep} to match current requirements.
|
|
47
|
+
`;
|
|
48
|
+
};
|
|
49
|
+
const predicatePrisma = (state) => {
|
|
50
|
+
if (state.analyze !== null)
|
|
51
|
+
return null;
|
|
52
|
+
return utils_1.StringUtil.trim `
|
|
53
|
+
Requirements analysis not started.
|
|
54
|
+
|
|
55
|
+
Discuss your project with AI to generate requirements analysis.
|
|
56
|
+
Database design will follow after requirements are ready.
|
|
57
|
+
`;
|
|
58
|
+
};
|
|
59
|
+
const STEP_DESCRIPTIONS = {
|
|
60
|
+
analyze: "Requirements analysis",
|
|
61
|
+
prisma: "Database design",
|
|
62
|
+
interface: "API interface design",
|
|
63
|
+
test: "E2E test creation",
|
|
64
|
+
realize: "Implementation",
|
|
65
|
+
};
|
|
66
|
+
const STEP_NAMES = {
|
|
67
|
+
analyze: "Requirements analysis",
|
|
68
|
+
prisma: "Database schema",
|
|
69
|
+
interface: "API interface",
|
|
70
|
+
test: "Test functions",
|
|
71
|
+
realize: "Implementation",
|
|
72
|
+
};
|
|
73
|
+
const ACTION_NAMES = {
|
|
74
|
+
analyze: "analyze requirements",
|
|
75
|
+
prisma: "design database",
|
|
76
|
+
interface: "design API interface",
|
|
77
|
+
test: "create tests",
|
|
78
|
+
realize: "implement the program",
|
|
79
|
+
};
|
|
80
|
+
const STEP_ORDER = [
|
|
81
|
+
"analyze",
|
|
82
|
+
"prisma",
|
|
83
|
+
"interface",
|
|
84
|
+
"test",
|
|
85
|
+
"realize",
|
|
86
|
+
];
|
|
87
|
+
//# sourceMappingURL=predicateStateMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predicateStateMessage.js","sourceRoot":"","sources":["../../../../src/utils/predicateStateMessage.ts"],"names":[],"mappings":"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"}
|