@autobe/agent 0.19.1 → 0.21.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/agent/src/AutoBeAgent.js +3 -2
- package/lib/agent/src/AutoBeAgent.js.map +1 -1
- package/lib/agent/src/AutoBeMockAgent.js +4 -3
- package/lib/agent/src/AutoBeMockAgent.js.map +1 -1
- package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +12 -11
- package/lib/agent/src/constants/AutoBeSystemPromptConstant.js.map +1 -1
- package/lib/agent/src/context/AutoBeContext.d.ts +3 -2
- package/lib/agent/src/factory/consentFunctionCall.js +3 -2
- package/lib/agent/src/factory/consentFunctionCall.js.map +1 -1
- package/lib/agent/src/factory/createAutoBeContext.js +11 -6
- 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/{transformAnalyzeReviewerHistories.js → transformAnalyzeReviewHistories.js} +24 -29
- 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.js +31 -29
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js +19 -5
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +7 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js +9 -6
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeScenario.js +11 -9
- 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 +5 -1
- package/lib/agent/src/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js +45 -46
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +13 -13
- 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 +23 -22
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +4 -0
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +33 -0
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +1 -0
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceGroupHistories.js +2 -2
- 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 +32 -31
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterface.js +3 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterface.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js +28 -24
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js +2 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js +11 -5
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +10 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +365 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js +2 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js +80 -54
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +1635 -1180
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemas.js +30 -24
- 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 +178 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceSchemasReview.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +60 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js +3 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js.map +1 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +38 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +78 -0
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js +54 -54
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js +18 -29
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js +37 -34
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +38 -25
- package/lib/agent/src/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js +3 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrisma.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js +2 -0
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js +3 -0
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js +19 -9
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
- package/lib/agent/src/orchestrate/prisma/orchestratePrismaSchemas.js +28 -21
- 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 +58 -56
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +1 -1
- 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.js +12 -3
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +35 -30
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
- package/lib/{orchestrate/realize/internal/compile.d.ts → agent/src/orchestrate/realize/internal/compileRealizeFiles.d.ts} +1 -1
- package/lib/agent/src/orchestrate/realize/internal/{compile.js → compileRealizeFiles.js} +6 -6
- package/lib/agent/src/orchestrate/realize/internal/compileRealizeFiles.js.map +1 -0
- package/lib/agent/src/orchestrate/realize/orchestrateRealize.js +26 -12
- package/lib/agent/src/orchestrate/realize/orchestrateRealize.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js +9 -3
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +3 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.d.ts +2 -6
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js +12 -8
- 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 +2 -2
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.d.ts +3 -6
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js +25 -21
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +2 -2
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +7 -2
- 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/compile/getTestExternalDeclarations.js +1 -1
- package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.d.ts +3 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js +44 -27
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +63 -60
- package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.d.ts +3 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +118 -96
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTest.js +6 -5
- package/lib/agent/src/orchestrate/test/orchestrateTest.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js +17 -8
- package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js +30 -18
- package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js +18 -18
- package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +2 -2
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +28 -1
- 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/constants/AutoBeSystemPromptConstant.d.ts +12 -11
- package/lib/context/AutoBeContext.d.ts +3 -2
- package/lib/index.mjs +3265 -1702
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +6 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.d.ts +7 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +6 -4
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +4 -0
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +10 -0
- package/lib/orchestrate/interface/orchestrateInterfaceSchemasReview.d.ts +2 -5
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +60 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +38 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +78 -0
- package/lib/{agent/src/orchestrate/realize/internal/compile.d.ts → orchestrate/realize/internal/compileRealizeFiles.d.ts} +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.d.ts +2 -6
- package/lib/orchestrate/realize/orchestrateRealizeScenario.d.ts +0 -66
- package/lib/orchestrate/realize/orchestrateRealizeWrite.d.ts +3 -6
- package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +2 -2
- package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +7 -2
- package/lib/orchestrate/test/histories/transformTestCorrectHistories.d.ts +3 -1
- package/lib/orchestrate/test/histories/transformTestWriteHistories.d.ts +3 -1
- package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +2 -2
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +28 -1
- package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +2 -2
- package/lib/utils/executeCachedBatch.d.ts +1 -0
- package/package.json +7 -7
- package/src/AutoBeAgent.ts +4 -3
- package/src/AutoBeMockAgent.ts +5 -4
- package/src/constants/AutoBeSystemPromptConstant.ts +12 -11
- package/src/context/AutoBeContext.ts +3 -0
- package/src/factory/consentFunctionCall.ts +4 -3
- package/src/factory/createAutoBeContext.ts +11 -7
- package/src/orchestrate/analyze/histories/{transformAnalyzeReviewerHistories.ts → transformAnalyzeReviewHistories.ts} +23 -30
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.ts +13 -10
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.ts +60 -61
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +20 -13
- package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +20 -9
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +13 -11
- package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +10 -5
- package/src/orchestrate/interface/histories/transformInterfaceAssetHistories.ts +47 -48
- 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 -19
- package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +39 -0
- 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 +31 -30
- package/src/orchestrate/interface/orchestrateInterface.ts +4 -2
- package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +36 -29
- package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +2 -0
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +18 -10
- package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +95 -0
- package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +2 -0
- package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +53 -50
- package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +120 -10
- package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +47 -23
- package/src/orchestrate/interface/orchestrateInterfaceSchemasReview.ts +85 -1
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.ts +65 -0
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +39 -0
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.ts +82 -1
- package/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.ts +57 -55
- 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 +4 -2
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +2 -0
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +3 -0
- package/src/orchestrate/prisma/orchestratePrismaReview.ts +26 -13
- package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +25 -17
- package/src/orchestrate/realize/histories/transformRealizeAuthorization.ts +24 -21
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.ts +42 -40
- package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +17 -13
- package/src/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.ts +14 -5
- package/src/orchestrate/realize/histories/transformRealizeWriteHistories.ts +35 -30
- package/src/orchestrate/realize/internal/{compile.ts → compileRealizeFiles.ts} +15 -11
- package/src/orchestrate/realize/orchestrateRealize.ts +59 -40
- package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +19 -10
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +3 -0
- package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +10 -10
- package/src/orchestrate/realize/orchestrateRealizeScenario.ts +7 -77
- package/src/orchestrate/realize/orchestrateRealizeWrite.ts +24 -23
- package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.ts +6 -2
- package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +10 -5
- package/src/orchestrate/test/compile/completeTestCode.ts +17 -13
- package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +2 -0
- package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +4 -4
- package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +50 -37
- package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +62 -57
- package/src/orchestrate/test/histories/transformTestWriteHistories.ts +27 -7
- package/src/orchestrate/test/orchestrateTest.ts +7 -9
- package/src/orchestrate/test/orchestrateTestCorrect.ts +39 -25
- package/src/orchestrate/test/orchestrateTestScenario.ts +28 -21
- package/src/orchestrate/test/orchestrateTestWrite.ts +17 -18
- package/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.ts +3 -3
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +28 -1
- package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +2 -2
- package/src/utils/executeCachedBatch.ts +15 -0
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +0 -6
- package/lib/agent/src/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.js.map +0 -1
- package/lib/agent/src/orchestrate/realize/internal/compile.js.map +0 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.d.ts +0 -3
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js +0 -74
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js.map +0 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeReviewerHistories.d.ts +0 -6
- package/lib/orchestrate/test/histories/transformTestHistories.d.ts +0 -3
- package/src/orchestrate/test/histories/transformTestHistories.ts +0 -77
|
@@ -47,12 +47,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
48
|
exports.orchestrateTestCorrect = void 0;
|
|
49
49
|
const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
|
|
50
|
+
const utils_1 = require("@autobe/utils");
|
|
50
51
|
const typia_1 = __importDefault(require("typia"));
|
|
52
|
+
const uuid_1 = require("uuid");
|
|
51
53
|
const assertSchemaModel_1 = require("../../context/assertSchemaModel");
|
|
54
|
+
const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
|
|
52
55
|
const completeTestCode_1 = require("./compile/completeTestCode");
|
|
53
56
|
const transformTestCorrectHistories_1 = require("./histories/transformTestCorrectHistories");
|
|
54
57
|
const orchestrateTestCorrect = (ctx_1, writeResult_1, ...args_1) => __awaiter(void 0, [ctx_1, writeResult_1, ...args_1], void 0, function* (ctx, writeResult, life = 4) {
|
|
55
|
-
const result = yield
|
|
58
|
+
const result = yield (0, executeCachedBatch_1.executeCachedBatch)(writeResult.map((w) => () => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
59
|
try {
|
|
57
60
|
const event = yield compile(ctx, {
|
|
58
61
|
artifacts: w.artifacts,
|
|
@@ -60,7 +63,7 @@ const orchestrateTestCorrect = (ctx_1, writeResult_1, ...args_1) => __awaiter(vo
|
|
|
60
63
|
location: w.event.location,
|
|
61
64
|
script: w.event.final,
|
|
62
65
|
});
|
|
63
|
-
return predicate(ctx, {
|
|
66
|
+
return yield predicate(ctx, {
|
|
64
67
|
artifacts: w.artifacts,
|
|
65
68
|
scenario: w.scenario,
|
|
66
69
|
location: w.event.location,
|
|
@@ -82,6 +85,7 @@ const compile = (ctx, func) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
82
85
|
});
|
|
83
86
|
return {
|
|
84
87
|
type: "testValidate",
|
|
88
|
+
id: (0, uuid_1.v7)(),
|
|
85
89
|
file: {
|
|
86
90
|
scenario: func.scenario,
|
|
87
91
|
location: func.location,
|
|
@@ -96,7 +100,7 @@ const predicate = (ctx, content, event, life) => __awaiter(void 0, void 0, void
|
|
|
96
100
|
if (event.result.type === "failure")
|
|
97
101
|
ctx.dispatch(event);
|
|
98
102
|
return event.result.type === "failure"
|
|
99
|
-
? correct(ctx, content, event, life - 1)
|
|
103
|
+
? yield correct(ctx, content, event, life - 1)
|
|
100
104
|
: event;
|
|
101
105
|
});
|
|
102
106
|
const correct = (ctx, content, validate, life) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -110,7 +114,7 @@ const correct = (ctx, content, validate, life) => __awaiter(void 0, void 0, void
|
|
|
110
114
|
};
|
|
111
115
|
const { tokenUsage } = yield ctx.conversate({
|
|
112
116
|
source: "testCorrect",
|
|
113
|
-
histories: (0, transformTestCorrectHistories_1.transformTestCorrectHistories)(content, validate.result),
|
|
117
|
+
histories: yield (0, transformTestCorrectHistories_1.transformTestCorrectHistories)(ctx, content, validate.result),
|
|
114
118
|
controller: createController({
|
|
115
119
|
model: ctx.model,
|
|
116
120
|
artifacts: content.artifacts,
|
|
@@ -119,13 +123,18 @@ const correct = (ctx, content, validate, life) => __awaiter(void 0, void 0, void
|
|
|
119
123
|
},
|
|
120
124
|
}),
|
|
121
125
|
enforceFunctionCall: true,
|
|
122
|
-
message:
|
|
126
|
+
message: utils_1.StringUtil.trim `
|
|
127
|
+
Fix the AutoBeTest.IFunction data to resolve the compilation error.
|
|
128
|
+
|
|
129
|
+
You don't need to explain me anything, but just fix it immediately
|
|
130
|
+
without any hesitation, explanation, and questions.
|
|
131
|
+
`,
|
|
123
132
|
});
|
|
124
133
|
if (pointer.value === null)
|
|
125
134
|
throw new Error("Failed to modify test code.");
|
|
126
135
|
const compiler = yield ctx.compiler();
|
|
127
136
|
pointer.value.final = yield compiler.typescript.beautify(pointer.value.final);
|
|
128
|
-
ctx.dispatch(Object.assign({ type: "testCorrect", created_at: new Date().toISOString(), file: validate.file, result: validate.result, tokenUsage, step: (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0 }, pointer.value));
|
|
137
|
+
ctx.dispatch(Object.assign({ type: "testCorrect", id: (0, uuid_1.v7)(), created_at: new Date().toISOString(), file: validate.file, result: validate.result, tokenUsage, step: (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0 }, pointer.value));
|
|
129
138
|
const newContent = Object.assign(Object.assign({}, content), { script: pointer.value.final });
|
|
130
139
|
const newValidate = yield compile(ctx, newContent);
|
|
131
140
|
return predicate(ctx, newContent, newValidate, life);
|
|
@@ -168,7 +177,7 @@ const claude = {
|
|
|
168
177
|
type: "string"
|
|
169
178
|
},
|
|
170
179
|
draft: {
|
|
171
|
-
description: "Step 3: Draft corrected TypeScript E2E test code implementation.\n\nAI generates the first corrected version of the test code based on error\nanalysis and correction strategies. This draft addresses all identified\ncompilation errors while preserving the original business logic and test\nworkflow. The code is compilation-error-free and follows all\
|
|
180
|
+
description: "Step 3: Draft corrected TypeScript E2E test code implementation.\n\nAI generates the first corrected version of the test code based on error\nanalysis and correction strategies. This draft addresses all identified\ncompilation errors while preserving the original business logic and test\nworkflow. The code is compilation-error-free and follows all established\nconventions.\n\nThe implementation incorporates lessons learned from error analysis to\nproduce properly typed, syntactically correct code that maintains the\nintended test functionality. All type safety requirements and framework\nconventions are followed in this corrected implementation.\n\nWorkflow: Error correction \u2192 TypeScript implementation \u2192 Functional\npreservation\n\nDO: Resolve all compilation errors while maintaining original test intent",
|
|
172
181
|
type: "string"
|
|
173
182
|
},
|
|
174
183
|
review: {
|
|
@@ -266,7 +275,7 @@ const collection = {
|
|
|
266
275
|
type: "string"
|
|
267
276
|
},
|
|
268
277
|
draft: {
|
|
269
|
-
description: "Step 3: Draft corrected TypeScript E2E test code implementation.\n\nAI generates the first corrected version of the test code based on error\nanalysis and correction strategies. This draft addresses all identified\ncompilation errors while preserving the original business logic and test\nworkflow. The code is compilation-error-free and follows all\
|
|
278
|
+
description: "Step 3: Draft corrected TypeScript E2E test code implementation.\n\nAI generates the first corrected version of the test code based on error\nanalysis and correction strategies. This draft addresses all identified\ncompilation errors while preserving the original business logic and test\nworkflow. The code is compilation-error-free and follows all established\nconventions.\n\nThe implementation incorporates lessons learned from error analysis to\nproduce properly typed, syntactically correct code that maintains the\nintended test functionality. All type safety requirements and framework\nconventions are followed in this corrected implementation.\n\nWorkflow: Error correction \u2192 TypeScript implementation \u2192 Functional\npreservation\n\nDO: Resolve all compilation errors while maintaining original test intent",
|
|
270
279
|
type: "string"
|
|
271
280
|
},
|
|
272
281
|
review: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrateTestCorrect.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestCorrect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orchestrateTestCorrect.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestCorrect.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,7 +115,7 @@ function orchestrateTestScenario(ctx) {
|
|
|
105
115
|
});
|
|
106
116
|
});
|
|
107
117
|
}
|
|
108
|
-
const divideAndConquer = (ctx,
|
|
118
|
+
const divideAndConquer = (ctx, props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
119
|
var _a, _b, _c, _d;
|
|
110
120
|
const pointer = {
|
|
111
121
|
value: [],
|
|
@@ -113,11 +123,11 @@ const divideAndConquer = (ctx, dict, endpointNotFound, entire, include, exclude,
|
|
|
113
123
|
const authorizations = (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.authorizations) !== null && _b !== void 0 ? _b : [];
|
|
114
124
|
const { tokenUsage } = yield ctx.conversate({
|
|
115
125
|
source: "testScenarios",
|
|
116
|
-
histories: (0, transformTestScenarioHistories_1.transformTestScenarioHistories)(ctx.state(), entire, include, exclude),
|
|
126
|
+
histories: (0, transformTestScenarioHistories_1.transformTestScenarioHistories)(ctx.state(), props.entire, props.include, props.exclude),
|
|
117
127
|
controller: createController({
|
|
118
128
|
model: ctx.model,
|
|
119
|
-
endpointNotFound,
|
|
120
|
-
dict,
|
|
129
|
+
endpointNotFound: props.endpointNotFound,
|
|
130
|
+
dict: props.dict,
|
|
121
131
|
authorizations,
|
|
122
132
|
build: (next) => {
|
|
123
133
|
var _a;
|
|
@@ -126,12 +136,14 @@ const divideAndConquer = (ctx, dict, endpointNotFound, entire, include, exclude,
|
|
|
126
136
|
},
|
|
127
137
|
}),
|
|
128
138
|
enforceFunctionCall: true,
|
|
139
|
+
promptCacheKey: props.promptCacheKey,
|
|
129
140
|
message: `Create e2e test scenarios.`,
|
|
130
141
|
});
|
|
131
142
|
if (pointer.value.length === 0)
|
|
132
143
|
return [];
|
|
133
144
|
ctx.dispatch({
|
|
134
145
|
type: "testScenarios",
|
|
146
|
+
id: (0, uuid_1.v7)(),
|
|
135
147
|
tokenUsage,
|
|
136
148
|
scenarios: pointer.value
|
|
137
149
|
.map((v) => v.scenarios.map((s) => ({
|
|
@@ -141,8 +153,8 @@ const divideAndConquer = (ctx, dict, endpointNotFound, entire, include, exclude,
|
|
|
141
153
|
dependencies: s.dependencies,
|
|
142
154
|
})))
|
|
143
155
|
.flat(),
|
|
144
|
-
completed: ++progress.completed,
|
|
145
|
-
total: progress.total,
|
|
156
|
+
completed: ++props.progress.completed,
|
|
157
|
+
total: props.progress.total,
|
|
146
158
|
step: (_d = (_c = ctx.state().interface) === null || _c === void 0 ? void 0 : _c.step) !== null && _d !== void 0 ? _d : 0,
|
|
147
159
|
created_at: new Date().toISOString(),
|
|
148
160
|
});
|
|
@@ -476,7 +488,7 @@ const collection = {
|
|
|
476
488
|
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
477
489
|
},
|
|
478
490
|
scenarios: {
|
|
479
|
-
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\n\n@minItems 1",
|
|
491
|
+
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.\n\n\n@minItems 1",
|
|
480
492
|
type: "array",
|
|
481
493
|
items: {
|
|
482
494
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
|
|
@@ -497,7 +509,7 @@ const collection = {
|
|
|
497
509
|
type: "string"
|
|
498
510
|
},
|
|
499
511
|
method: {
|
|
500
|
-
description: "HTTP method of the API operation.\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
512
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\", not \"GET\").\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
501
513
|
type: "string",
|
|
502
514
|
"enum": [
|
|
503
515
|
"get",
|
|
@@ -514,7 +526,7 @@ const collection = {
|
|
|
514
526
|
]
|
|
515
527
|
},
|
|
516
528
|
"IAutoBeTestScenarioApplication.IScenario": {
|
|
517
|
-
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.",
|
|
529
|
+
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only.",
|
|
518
530
|
type: "object",
|
|
519
531
|
properties: {
|
|
520
532
|
draft: {
|
|
@@ -526,7 +538,7 @@ const collection = {
|
|
|
526
538
|
type: "string"
|
|
527
539
|
},
|
|
528
540
|
dependencies: {
|
|
529
|
-
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose
|
|
541
|
+
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose`.\n\nWARNING: Every endpoint referenced here MUST exist in the provided API\noperations. Do NOT reference endpoints that are not explicitly available,\neven if they seem logically necessary based on database schema or\nbusiness logic.",
|
|
530
542
|
type: "array",
|
|
531
543
|
items: {
|
|
532
544
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IDependencies"
|
|
@@ -540,7 +552,7 @@ const collection = {
|
|
|
540
552
|
]
|
|
541
553
|
},
|
|
542
554
|
"IAutoBeTestScenarioApplication.IDependencies": {
|
|
543
|
-
description: "### Description of {@link endpoint} property:\n\n> Target API endpoint that this scenario depends on.",
|
|
555
|
+
description: "### Description of {@link endpoint} property:\n\n> Target API endpoint that this scenario depends on.\n> \n> This endpoint MUST exist in the available API operations list.\n> Non-existent endpoints will cause test implementation failures.",
|
|
544
556
|
type: "object",
|
|
545
557
|
properties: {
|
|
546
558
|
endpoint: {
|
|
@@ -728,7 +740,7 @@ const collection = {
|
|
|
728
740
|
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
729
741
|
},
|
|
730
742
|
scenarios: {
|
|
731
|
-
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method
|
|
743
|
+
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.",
|
|
732
744
|
type: "array",
|
|
733
745
|
items: {
|
|
734
746
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
|
|
@@ -751,7 +763,7 @@ const collection = {
|
|
|
751
763
|
pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
|
|
752
764
|
},
|
|
753
765
|
method: {
|
|
754
|
-
description: "HTTP method of the API operation.\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
766
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\", not \"GET\").\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
755
767
|
oneOf: [
|
|
756
768
|
{
|
|
757
769
|
"const": "get"
|
|
@@ -777,7 +789,7 @@ const collection = {
|
|
|
777
789
|
]
|
|
778
790
|
},
|
|
779
791
|
"IAutoBeTestScenarioApplication.IScenario": {
|
|
780
|
-
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.",
|
|
792
|
+
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only.",
|
|
781
793
|
type: "object",
|
|
782
794
|
properties: {
|
|
783
795
|
draft: {
|
|
@@ -790,7 +802,7 @@ const collection = {
|
|
|
790
802
|
pattern: "^[a-z][a-z0-9_]*$"
|
|
791
803
|
},
|
|
792
804
|
dependencies: {
|
|
793
|
-
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose
|
|
805
|
+
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose`.\n\nWARNING: Every endpoint referenced here MUST exist in the provided API\noperations. Do NOT reference endpoints that are not explicitly available,\neven if they seem logically necessary based on database schema or\nbusiness logic.",
|
|
794
806
|
type: "array",
|
|
795
807
|
items: {
|
|
796
808
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IDependencies"
|
|
@@ -807,7 +819,7 @@ const collection = {
|
|
|
807
819
|
type: "object",
|
|
808
820
|
properties: {
|
|
809
821
|
endpoint: {
|
|
810
|
-
description: "Target API endpoint that this scenario depends on.",
|
|
822
|
+
description: "Target API endpoint that this scenario depends on.\n\nThis endpoint MUST exist in the available API operations list.\nNon-existent endpoints will cause test implementation failures.",
|
|
811
823
|
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
812
824
|
},
|
|
813
825
|
purpose: {
|
|
@@ -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,24 +89,16 @@ 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
|
};
|
|
100
99
|
const { tokenUsage } = yield ctx.conversate({
|
|
101
100
|
source: "testWrite",
|
|
102
|
-
histories: (0, transformTestWriteHistories_1.transformTestWriteHistories)(scenario, artifacts),
|
|
101
|
+
histories: yield (0, transformTestWriteHistories_1.transformTestWriteHistories)(ctx, scenario, artifacts),
|
|
103
102
|
controller: createController({
|
|
104
103
|
model: ctx.model,
|
|
105
104
|
artifacts,
|
|
@@ -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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"}
|
|
@@ -67,8 +67,8 @@ 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 is compilation-error-free and follows all
|
|
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
|
|
@@ -28,6 +28,18 @@ export declare namespace IAutoBeTestScenarioApplication {
|
|
|
28
28
|
*
|
|
29
29
|
* Each scenario represents a specific test case for the same `path` and
|
|
30
30
|
* `method`.
|
|
31
|
+
*
|
|
32
|
+
* IMPORTANT: Each scenario must be actually implementable. A scenario's
|
|
33
|
+
* implementability is determined by the existence of ALL APIs (endpoints)
|
|
34
|
+
* required to test it. This includes not only the primary endpoint being
|
|
35
|
+
* tested, but also ALL dependency endpoints needed for setup,
|
|
36
|
+
* authentication, and data preparation. If even one required dependency API
|
|
37
|
+
* is missing from the available operations, the scenario cannot be
|
|
38
|
+
* implemented and should not be generated.
|
|
39
|
+
*
|
|
40
|
+
* Example: A "test banned user login" scenario requires both a login API
|
|
41
|
+
* AND a ban user API. If the ban API doesn't exist, this scenario is not
|
|
42
|
+
* implementable regardless of database schema fields.
|
|
31
43
|
*/
|
|
32
44
|
scenarios: IScenario[] & tags.MinItems<1>;
|
|
33
45
|
}
|
|
@@ -37,6 +49,11 @@ export declare namespace IAutoBeTestScenarioApplication {
|
|
|
37
49
|
* This interface defines a structured, user-centric test draft that includes
|
|
38
50
|
* a descriptive function name, a detailed scenario draft, and logical
|
|
39
51
|
* dependencies on other endpoints required for context or setup.
|
|
52
|
+
*
|
|
53
|
+
* CRITICAL: All referenced endpoints MUST exist in the provided API
|
|
54
|
+
* operations. Do NOT create scenarios for non-existent APIs, even if database
|
|
55
|
+
* schema fields suggest their existence. Test scenarios must be implementable
|
|
56
|
+
* with available APIs only.
|
|
40
57
|
*/
|
|
41
58
|
interface IScenario {
|
|
42
59
|
/**
|
|
@@ -113,11 +130,21 @@ export declare namespace IAutoBeTestScenarioApplication {
|
|
|
113
130
|
* authentication, resource creation, or data setup, that are relevant to
|
|
114
131
|
* the test. This list is not a strict execution order — if ordering is
|
|
115
132
|
* important, it must be described explicitly in the `purpose`.
|
|
133
|
+
*
|
|
134
|
+
* WARNING: Every endpoint referenced here MUST exist in the provided API
|
|
135
|
+
* operations. Do NOT reference endpoints that are not explicitly available,
|
|
136
|
+
* even if they seem logically necessary based on database schema or
|
|
137
|
+
* business logic.
|
|
116
138
|
*/
|
|
117
139
|
dependencies: IDependencies[];
|
|
118
140
|
}
|
|
119
141
|
interface IDependencies {
|
|
120
|
-
/**
|
|
142
|
+
/**
|
|
143
|
+
* Target API endpoint that this scenario depends on.
|
|
144
|
+
*
|
|
145
|
+
* This endpoint MUST exist in the available API operations list.
|
|
146
|
+
* Non-existent endpoints will cause test implementation failures.
|
|
147
|
+
*/
|
|
121
148
|
endpoint: AutoBeOpenApi.IEndpoint;
|
|
122
149
|
/**
|
|
123
150
|
* A concise explanation of why this API call is relevant or required for
|
|
@@ -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"}
|