@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
|
@@ -53,9 +53,11 @@ const tstl_1 = require("tstl");
|
|
|
53
53
|
const typia_1 = __importDefault(require("typia"));
|
|
54
54
|
const Escaper_1 = require("typia/lib/utils/Escaper");
|
|
55
55
|
const NamingConvention_1 = require("typia/lib/utils/NamingConvention");
|
|
56
|
+
const uuid_1 = require("uuid");
|
|
56
57
|
const assertSchemaModel_1 = require("../../context/assertSchemaModel");
|
|
57
58
|
const divideArray_1 = require("../../utils/divideArray");
|
|
58
59
|
const emplaceMap_1 = require("../../utils/emplaceMap");
|
|
60
|
+
const executeCachedBatch_1 = require("../../utils/executeCachedBatch");
|
|
59
61
|
const transformInterfaceOperationHistories_1 = require("./histories/transformInterfaceOperationHistories");
|
|
60
62
|
const orchestrateInterfaceOperationsReview_1 = require("./orchestrateInterfaceOperationsReview");
|
|
61
63
|
const OpenApiEndpointComparator_1 = require("./utils/OpenApiEndpointComparator");
|
|
@@ -65,21 +67,19 @@ function orchestrateInterfaceOperations(ctx_1, endpoints_1) {
|
|
|
65
67
|
array: endpoints,
|
|
66
68
|
capacity,
|
|
67
69
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return (yield Promise.all(matrix.map((it) => __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
const row = yield divideAndConquer(ctx, it, 3, operationsProgress, operationsReviewProgress);
|
|
70
|
+
return (yield (0, executeCachedBatch_1.executeCachedBatch)(matrix.map((it) => (promptCacheKey) => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const row = yield divideAndConquer(ctx, it, 3, {
|
|
72
|
+
total: matrix.length,
|
|
73
|
+
completed: 0,
|
|
74
|
+
}, {
|
|
75
|
+
total: matrix.length,
|
|
76
|
+
completed: 0,
|
|
77
|
+
}, promptCacheKey);
|
|
78
78
|
return row;
|
|
79
79
|
})))).flat();
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
-
function divideAndConquer(ctx, endpoints, retry, operationsProgress, operationsReviewProgress) {
|
|
82
|
+
function divideAndConquer(ctx, endpoints, retry, operationsProgress, operationsReviewProgress, promptCacheKey) {
|
|
83
83
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
84
|
const remained = new tstl_1.HashSet(endpoints, OpenApiEndpointComparator_1.OpenApiEndpointComparator.hashCode, OpenApiEndpointComparator_1.OpenApiEndpointComparator.equals);
|
|
85
85
|
const unique = new tstl_1.HashMap(OpenApiEndpointComparator_1.OpenApiEndpointComparator.hashCode, OpenApiEndpointComparator_1.OpenApiEndpointComparator.equals);
|
|
@@ -87,7 +87,7 @@ function divideAndConquer(ctx, endpoints, retry, operationsProgress, operationsR
|
|
|
87
87
|
if (remained.empty() === true || unique.size() >= endpoints.length)
|
|
88
88
|
break;
|
|
89
89
|
const operations = remained.size()
|
|
90
|
-
? yield process(ctx, remained, operationsProgress)
|
|
90
|
+
? yield process(ctx, remained, operationsProgress, promptCacheKey)
|
|
91
91
|
: [];
|
|
92
92
|
for (const item of operations) {
|
|
93
93
|
unique.set(item, item);
|
|
@@ -100,7 +100,7 @@ function divideAndConquer(ctx, endpoints, retry, operationsProgress, operationsR
|
|
|
100
100
|
return unique.toJSON().map((it) => it.second);
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
-
function process(ctx, endpoints, progress) {
|
|
103
|
+
function process(ctx, endpoints, progress, promptCacheKey) {
|
|
104
104
|
return __awaiter(this, void 0, void 0, function* () {
|
|
105
105
|
var _a, _b, _c, _d;
|
|
106
106
|
const prefix = NamingConvention_1.NamingConvention.camel(ctx.state().analyze.prefix);
|
|
@@ -141,18 +141,19 @@ function process(ctx, endpoints, progress) {
|
|
|
141
141
|
},
|
|
142
142
|
}),
|
|
143
143
|
enforceFunctionCall: true,
|
|
144
|
+
promptCacheKey,
|
|
144
145
|
message: "Make API operations",
|
|
145
146
|
});
|
|
146
147
|
if (pointer.value === null)
|
|
147
148
|
throw new Error("Failed to create operations."); // never be happened
|
|
148
|
-
ctx.dispatch(Object.assign(Object.assign({ type: "interfaceOperations", operations: pointer.value, tokenUsage }, progress), { step: (_d = (_c = ctx.state().analyze) === null || _c === void 0 ? void 0 : _c.step) !== null && _d !== void 0 ? _d : 0, created_at: new Date().toISOString() }));
|
|
149
|
+
ctx.dispatch(Object.assign(Object.assign({ type: "interfaceOperations", id: (0, uuid_1.v7)(), operations: pointer.value, tokenUsage }, progress), { step: (_d = (_c = ctx.state().analyze) === null || _c === void 0 ? void 0 : _c.step) !== null && _d !== void 0 ? _d : 0, created_at: new Date().toISOString() }));
|
|
149
150
|
return pointer.value;
|
|
150
151
|
});
|
|
151
152
|
}
|
|
152
153
|
function createController(props) {
|
|
153
154
|
(0, assertSchemaModel_1.assertSchemaModel)(props.model);
|
|
154
155
|
const validate = (next) => {
|
|
155
|
-
const result = (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length)) && "string" === typeof input.description && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io3 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io5 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
|
|
156
|
+
const result = (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.prisma_schemas && (Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length))) && "string" === typeof input.description && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io3 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io5 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
|
|
156
157
|
if ("number" === input.type)
|
|
157
158
|
return _io4(input);
|
|
158
159
|
else if ("integer" === input.type)
|
|
@@ -177,7 +178,11 @@ function createController(props) {
|
|
|
177
178
|
path: _path + ".operations",
|
|
178
179
|
expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
|
|
179
180
|
value: input.operations
|
|
180
|
-
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [
|
|
181
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.prisma_schemas || _report(_exceptionable, {
|
|
182
|
+
path: _path + ".prisma_schemas",
|
|
183
|
+
expected: "string",
|
|
184
|
+
value: input.prisma_schemas
|
|
185
|
+
}), (Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
|
|
181
186
|
path: _path + ".authorizationRoles",
|
|
182
187
|
expected: "Array<string & CamelPattern & MinLength<1>>",
|
|
183
188
|
value: input.authorizationRoles
|
|
@@ -476,13 +481,13 @@ function createController(props) {
|
|
|
476
481
|
errors.push({
|
|
477
482
|
path: `$input.operations[${i}].authorizationRoles[${j}]`,
|
|
478
483
|
expected: `null | ${props.roles.map((str) => JSON.stringify(str)).join(" | ")}`,
|
|
479
|
-
description:
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
484
|
+
description: utils_1.StringUtil.trim `
|
|
485
|
+
Role "${role}" is not defined in the roles list.
|
|
486
|
+
|
|
487
|
+
Please select one of them below, or do not define (\`null\`):
|
|
488
|
+
|
|
489
|
+
${props.roles.map((role) => `- ${role}`).join("\n")}
|
|
490
|
+
`,
|
|
486
491
|
value: role,
|
|
487
492
|
});
|
|
488
493
|
});
|
|
@@ -501,13 +506,16 @@ function createController(props) {
|
|
|
501
506
|
path: `$input.operations[${i}].{"path"|"method"}`,
|
|
502
507
|
expected: "Unique endpoint (path and method)",
|
|
503
508
|
value: key,
|
|
504
|
-
description:
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
509
|
+
description: utils_1.StringUtil.trim `
|
|
510
|
+
Duplicated endpoint detected (method: ${op.method}, path: ${op.path}).
|
|
511
|
+
|
|
512
|
+
The duplicated endpoints of others are located in below accessors.
|
|
513
|
+
Check them, and consider which operation endpoint would be proper to modify.
|
|
514
|
+
|
|
515
|
+
${indexes
|
|
516
|
+
.map((idx) => `- $input.operations.[${idx}].{"path"|"method"}`)
|
|
517
|
+
.join("\n")}
|
|
518
|
+
`,
|
|
511
519
|
});
|
|
512
520
|
indexes.push(i);
|
|
513
521
|
}
|
|
@@ -528,20 +536,20 @@ function createController(props) {
|
|
|
528
536
|
path: `$input.operations[${i}].name`,
|
|
529
537
|
expected: "Unique name in the same accessor scope.",
|
|
530
538
|
value: op.name,
|
|
531
|
-
description:
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
539
|
+
description: utils_1.StringUtil.trim `
|
|
540
|
+
Duplicated operation accessor detected (name: ${op.name}, accessor: ${key}).
|
|
541
|
+
|
|
542
|
+
The operation name must be unique within the parent accessor.
|
|
543
|
+
In other worlds, the operation accessor determined by the name
|
|
544
|
+
must be unique in the OpenAPI document.
|
|
545
|
+
|
|
546
|
+
Here is the list of elements of duplicated operation names.
|
|
547
|
+
Check them, and consider which operation name would be proper to modify.
|
|
548
|
+
|
|
549
|
+
${indexes
|
|
550
|
+
.map((idx) => `- ${operations[idx].name} (accessor: ${key})`)
|
|
551
|
+
.join("\n")}
|
|
552
|
+
`,
|
|
545
553
|
});
|
|
546
554
|
}
|
|
547
555
|
indexes.push(i);
|
|
@@ -599,6 +607,10 @@ const collection = {
|
|
|
599
607
|
description: "Operation of the Restful API.\n\nThis interface defines a single API endpoint with its HTTP {@link method},\n{@link path}, {@link parameters path parameters},\n{@link requestBody request body}, and {@link responseBody} structure. It\ncorresponds to an individual operation in the paths section of an OpenAPI\ndocument.\n\nEach operation requires a detailed explanation of its purpose through the\nreason and description fields, making it clear why the API was designed and\nhow it should be used.\n\nDO: Use object types for all request bodies and responses. DO: Reference\nnamed types defined in the components section. DO: Use `application/json`\nas the content-type. DO: Use `string & tags.Format<\"uri\">` in the schema\nfor file upload/download operations instead of binary data formats.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"/shoppings/customers/orders\": {\n \"post\": {\n \"description\": \"Create a new order application from shopping cart...\",\n \"parameters\": [...],\n \"requestBody\": {...},\n \"responses\": {...}\n }\n }\n}\n```",
|
|
600
608
|
type: "object",
|
|
601
609
|
properties: {
|
|
610
|
+
prisma_schemas: {
|
|
611
|
+
description: "Prisma schema models relevant to this operation.\n\nContains the complete Prisma schema definitions for all entities involved\nin this operation, including their fields, relations, and database\nconstraints. This enables comprehensive validation and schema-aware\noperation design.\n\nThe schema information serves multiple critical purposes:\n\n- **Field Verification**: Ensures all referenced fields actually exist in\n the database schema and have the correct types\n- **Relationship Validation**: Confirms that entity relationships are\n properly defined and can support the operation's data access patterns\n- **Soft-Delete Detection**: For DELETE operations, identifies whether\n entities have soft-delete fields (deleted_at, is_deleted, etc.) to\n determine if the operation should perform logical deletion instead of\n physical removal\n- **Constraint Awareness**: Understands unique constraints, required\n fields, and default values to generate accurate request/response\n schemas\n\nExample content might include:\n\n```prisma\nmodel User {\n id String",
|
|
612
|
+
type: "string"
|
|
613
|
+
},
|
|
602
614
|
authorizationRoles: {
|
|
603
615
|
description: "Authorization roles required to access this API operation.\n\nThis field specifies which user roles are allowed to access this\nendpoint. Multiple roles can be specified to allow different types of\nusers to access the same endpoint.\n\n## \u26A0\uFE0F CRITICAL: Role Multiplication Effect\n\n**EACH ROLE IN THIS ARRAY GENERATES A SEPARATE ENDPOINT**\n\n- If you specify `[\"admin\", \"moderator\", \"member\"]`, this creates 3\n separate endpoints\n- Total generated endpoints = operations \u00D7 average roles.length\n- Example: 100 operations with 3 roles each = 300 actual endpoints\n\n## \uD83D\uDD34 AVOID OVER-GENERATION\n\n**DO NOT create role-specific endpoints when a public endpoint would\nsuffice:**\n\n- \u274C BAD: Separate GET endpoints for admin, member, moderator to view the\n same public data\n- \u2705 GOOD: Single public endpoint `[]` with role-based filtering in business\n logic\n\n**DO NOT enumerate all possible roles when the Prisma schema uses a\nsingle User table:**\n\n- If Prisma has a User table with role/permission fields, you likely only\n need `[\"user\"]`\n- Avoid listing `[\"admin\", \"seller\", \"buyer\", \"moderator\", ...]`\n unnecessarily\n- The actual role checking happens in business logic, not at the endpoint\n level\n\n## Naming Convention\n\nDO: Use camelCase for all role names.\n\n## Important Guidelines\n\n- Set to empty array `[]` for public endpoints that require no\n authentication\n- Set to array with role strings for role-restricted endpoints\n- **MINIMIZE the number of roles per endpoint to prevent explosion**\n- Consider if the endpoint can be public with role-based filtering instead\n- The role names match exactly with the user type/role defined in the\n database\n- This will be used by the Realize Agent to generate appropriate decorator\n and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on these roles\n\n## Examples\n\n- `[]` - Public endpoint, no authentication required (PREFERRED for read\n operations)\n- `[\"user\"]` - Any authenticated user can access (PREFERRED for\n user-specific operations)\n- `[\"admin\"]` - Only admin users can access (USE SPARINGLY)\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n (AVOID if possible)\n- `[\"seller\"]` - Only seller users can access (ONLY if Seller is a separate\n table)\n\n## Best Practices\n\n1. **Start with public `[]` for all read operations** unless sensitive data\n is involved\n2. **Use single role `[\"user\"]` for authenticated operations** and handle\n permissions in business logic\n3. **Only use multiple roles when absolutely necessary** for different\n business logic paths\n4. **Remember: Fewer roles = Fewer endpoints = Better performance and\n maintainability**\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
|
|
604
616
|
type: "array",
|
|
@@ -608,7 +620,7 @@ const collection = {
|
|
|
608
620
|
}
|
|
609
621
|
},
|
|
610
622
|
description: {
|
|
611
|
-
description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related Prisma DB schema tables and\ncolumns. The description should be organized into MULTIPLE PARAGRAPHS\nseparated by line breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n> MUST be written in English. Never use other languages.",
|
|
623
|
+
description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related Prisma DB schema tables and\ncolumns. The description should be organized into MULTIPLE PARAGRAPHS\nseparated by line breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n**CRITICAL WARNING about soft delete keywords**:\nDO NOT use terms like \"soft delete\", \"soft-delete\", or similar variations\nin this description UNLESS the operation actually implements soft deletion.\nThese keywords trigger validation logic that expects a corresponding\nsoft_delete_column to be specified. Only use these terms when you intend\nto implement soft deletion (marking records as deleted without removing\nthem from the database).\n\nExample of problematic description:\n\u274C \"This would normally be a soft-delete, but we intentionally perform\npermanent deletion here\" - This triggers soft delete validation despite\nbeing a hard delete operation.\n\n> MUST be written in English. Never use other languages.",
|
|
612
624
|
type: "string"
|
|
613
625
|
},
|
|
614
626
|
name: {
|
|
@@ -620,7 +632,7 @@ const collection = {
|
|
|
620
632
|
type: "string"
|
|
621
633
|
},
|
|
622
634
|
summary: {
|
|
623
|
-
description: "Short summary of the API operation.\n\nThis should be a concise description of the API operation, typically one\nsentence long. It should provide a quick overview of what the API does\nwithout going into too much detail.\n\nThis summary will be used in the OpenAPI documentation to give users a\nquick understanding of the API operation's purpose.\n\nIMPORTANT: The summary should clearly indicate which Prisma DB table this\noperation relates to, helping to ensure all tables have API coverage.\n\n> MUST be written in English. Never use other languages",
|
|
635
|
+
description: "Short summary of the API operation.\n\nThis should be a concise description of the API operation, typically one\nsentence long. It should provide a quick overview of what the API does\nwithout going into too much detail.\n\nThis summary will be used in the OpenAPI documentation to give users a\nquick understanding of the API operation's purpose.\n\nIMPORTANT: The summary should clearly indicate which Prisma DB table this\noperation relates to, helping to ensure all tables have API coverage.\n\n**CRITICAL WARNING about soft delete keywords**:\nDO NOT use terms like \"soft delete\", \"soft-delete\", or similar variations\nin this summary UNLESS the operation actually implements soft deletion.\nThese keywords trigger validation logic that expects a corresponding\nsoft_delete_column to be specified. Only use these terms when you intend\nto implement soft deletion (marking records as deleted without removing\nthem from the database).\n\n> MUST be written in English. Never use other languages",
|
|
624
636
|
type: "string"
|
|
625
637
|
},
|
|
626
638
|
path: {
|
|
@@ -657,7 +669,7 @@ const collection = {
|
|
|
657
669
|
]
|
|
658
670
|
},
|
|
659
671
|
method: {
|
|
660
|
-
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",
|
|
672
|
+
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",
|
|
661
673
|
type: "string",
|
|
662
674
|
"enum": [
|
|
663
675
|
"get",
|
|
@@ -669,6 +681,7 @@ const collection = {
|
|
|
669
681
|
}
|
|
670
682
|
},
|
|
671
683
|
required: [
|
|
684
|
+
"prisma_schemas",
|
|
672
685
|
"authorizationRoles",
|
|
673
686
|
"description",
|
|
674
687
|
"name",
|
|
@@ -869,7 +882,7 @@ const collection = {
|
|
|
869
882
|
}
|
|
870
883
|
},
|
|
871
884
|
description: "Generate detailed API operations from path/method combinations.\n\nThis function creates complete API operations following REST principles and\nquality standards. Each generated operation includes specification, path,\nmethod, detailed multi-paragraph description, concise summary, parameters,\nand appropriate request/response bodies.\n\nThe function processes as many operations as possible in a single call,\nwith progress tracking to ensure iterative completion of all required\nendpoints.",
|
|
872
|
-
validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length)) && "string" === typeof input.description && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io3 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io5 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
|
|
885
|
+
validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.prisma_schemas && (Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length))) && "string" === typeof input.description && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io3 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io5 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
|
|
873
886
|
if ("number" === input.type)
|
|
874
887
|
return _io4(input);
|
|
875
888
|
else if ("integer" === input.type)
|
|
@@ -894,7 +907,11 @@ const collection = {
|
|
|
894
907
|
path: _path + ".operations",
|
|
895
908
|
expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
|
|
896
909
|
value: input.operations
|
|
897
|
-
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [
|
|
910
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.prisma_schemas || _report(_exceptionable, {
|
|
911
|
+
path: _path + ".prisma_schemas",
|
|
912
|
+
expected: "string",
|
|
913
|
+
value: input.prisma_schemas
|
|
914
|
+
}), (Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
|
|
898
915
|
path: _path + ".authorizationRoles",
|
|
899
916
|
expected: "Array<string & CamelPattern & MinLength<1>>",
|
|
900
917
|
value: input.authorizationRoles
|
|
@@ -1196,6 +1213,10 @@ const collection = {
|
|
|
1196
1213
|
description: "Operation of the Restful API.\n\nThis interface defines a single API endpoint with its HTTP {@link method},\n{@link path}, {@link parameters path parameters},\n{@link requestBody request body}, and {@link responseBody} structure. It\ncorresponds to an individual operation in the paths section of an OpenAPI\ndocument.\n\nEach operation requires a detailed explanation of its purpose through the\nreason and description fields, making it clear why the API was designed and\nhow it should be used.\n\nDO: Use object types for all request bodies and responses. DO: Reference\nnamed types defined in the components section. DO: Use `application/json`\nas the content-type. DO: Use `string & tags.Format<\"uri\">` in the schema\nfor file upload/download operations instead of binary data formats.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"/shoppings/customers/orders\": {\n \"post\": {\n \"description\": \"Create a new order application from shopping cart...\",\n \"parameters\": [...],\n \"requestBody\": {...},\n \"responses\": {...}\n }\n }\n}\n```",
|
|
1197
1214
|
type: "object",
|
|
1198
1215
|
properties: {
|
|
1216
|
+
prisma_schemas: {
|
|
1217
|
+
description: "Prisma schema models relevant to this operation.\n\nContains the complete Prisma schema definitions for all entities involved\nin this operation, including their fields, relations, and database\nconstraints. This enables comprehensive validation and schema-aware\noperation design.\n\nThe schema information serves multiple critical purposes:\n\n- **Field Verification**: Ensures all referenced fields actually exist in\n the database schema and have the correct types\n- **Relationship Validation**: Confirms that entity relationships are\n properly defined and can support the operation's data access patterns\n- **Soft-Delete Detection**: For DELETE operations, identifies whether\n entities have soft-delete fields (deleted_at, is_deleted, etc.) to\n determine if the operation should perform logical deletion instead of\n physical removal\n- **Constraint Awareness**: Understands unique constraints, required\n fields, and default values to generate accurate request/response\n schemas\n\nExample content might include:\n\n```prisma\nmodel User {\n id String",
|
|
1218
|
+
type: "string"
|
|
1219
|
+
},
|
|
1199
1220
|
authorizationRoles: {
|
|
1200
1221
|
description: "Authorization roles required to access this API operation.\n\nThis field specifies which user roles are allowed to access this\nendpoint. Multiple roles can be specified to allow different types of\nusers to access the same endpoint.\n\n## \u26A0\uFE0F CRITICAL: Role Multiplication Effect\n\n**EACH ROLE IN THIS ARRAY GENERATES A SEPARATE ENDPOINT**\n\n- If you specify `[\"admin\", \"moderator\", \"member\"]`, this creates 3\n separate endpoints\n- Total generated endpoints = operations \u00D7 average roles.length\n- Example: 100 operations with 3 roles each = 300 actual endpoints\n\n## \uD83D\uDD34 AVOID OVER-GENERATION\n\n**DO NOT create role-specific endpoints when a public endpoint would\nsuffice:**\n\n- \u274C BAD: Separate GET endpoints for admin, member, moderator to view the\n same public data\n- \u2705 GOOD: Single public endpoint `[]` with role-based filtering in business\n logic\n\n**DO NOT enumerate all possible roles when the Prisma schema uses a\nsingle User table:**\n\n- If Prisma has a User table with role/permission fields, you likely only\n need `[\"user\"]`\n- Avoid listing `[\"admin\", \"seller\", \"buyer\", \"moderator\", ...]`\n unnecessarily\n- The actual role checking happens in business logic, not at the endpoint\n level\n\n## Naming Convention\n\nDO: Use camelCase for all role names.\n\n## Important Guidelines\n\n- Set to empty array `[]` for public endpoints that require no\n authentication\n- Set to array with role strings for role-restricted endpoints\n- **MINIMIZE the number of roles per endpoint to prevent explosion**\n- Consider if the endpoint can be public with role-based filtering instead\n- The role names match exactly with the user type/role defined in the\n database\n- This will be used by the Realize Agent to generate appropriate decorator\n and authorization logic in the provider functions\n- The controller will apply the corresponding authentication decorator\n based on these roles\n\n## Examples\n\n- `[]` - Public endpoint, no authentication required (PREFERRED for read\n operations)\n- `[\"user\"]` - Any authenticated user can access (PREFERRED for\n user-specific operations)\n- `[\"admin\"]` - Only admin users can access (USE SPARINGLY)\n- `[\"admin\", \"moderator\"]` - Both admin and moderator users can access\n (AVOID if possible)\n- `[\"seller\"]` - Only seller users can access (ONLY if Seller is a separate\n table)\n\n## Best Practices\n\n1. **Start with public `[]` for all read operations** unless sensitive data\n is involved\n2. **Use single role `[\"user\"]` for authenticated operations** and handle\n permissions in business logic\n3. **Only use multiple roles when absolutely necessary** for different\n business logic paths\n4. **Remember: Fewer roles = Fewer endpoints = Better performance and\n maintainability**\n\nNote: The actual authentication/authorization implementation will be\nhandled by decorators at the controller level, and the provider function\nwill receive the authenticated user object with the appropriate type.",
|
|
1201
1222
|
type: "array",
|
|
@@ -1206,7 +1227,7 @@ const collection = {
|
|
|
1206
1227
|
}
|
|
1207
1228
|
},
|
|
1208
1229
|
description: {
|
|
1209
|
-
description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related Prisma DB schema tables and\ncolumns. The description should be organized into MULTIPLE PARAGRAPHS\nseparated by line breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n> MUST be written in English. Never use other languages.",
|
|
1230
|
+
description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related Prisma DB schema tables and\ncolumns. The description should be organized into MULTIPLE PARAGRAPHS\nseparated by line breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n**CRITICAL WARNING about soft delete keywords**:\nDO NOT use terms like \"soft delete\", \"soft-delete\", or similar variations\nin this description UNLESS the operation actually implements soft deletion.\nThese keywords trigger validation logic that expects a corresponding\nsoft_delete_column to be specified. Only use these terms when you intend\nto implement soft deletion (marking records as deleted without removing\nthem from the database).\n\nExample of problematic description:\n\u274C \"This would normally be a soft-delete, but we intentionally perform\npermanent deletion here\" - This triggers soft delete validation despite\nbeing a hard delete operation.\n\n> MUST be written in English. Never use other languages.",
|
|
1210
1231
|
type: "string"
|
|
1211
1232
|
},
|
|
1212
1233
|
name: {
|
|
@@ -1219,7 +1240,7 @@ const collection = {
|
|
|
1219
1240
|
type: "string"
|
|
1220
1241
|
},
|
|
1221
1242
|
summary: {
|
|
1222
|
-
description: "Short summary of the API operation.\n\nThis should be a concise description of the API operation, typically one\nsentence long. It should provide a quick overview of what the API does\nwithout going into too much detail.\n\nThis summary will be used in the OpenAPI documentation to give users a\nquick understanding of the API operation's purpose.\n\nIMPORTANT: The summary should clearly indicate which Prisma DB table this\noperation relates to, helping to ensure all tables have API coverage.\n\n> MUST be written in English. Never use other languages",
|
|
1243
|
+
description: "Short summary of the API operation.\n\nThis should be a concise description of the API operation, typically one\nsentence long. It should provide a quick overview of what the API does\nwithout going into too much detail.\n\nThis summary will be used in the OpenAPI documentation to give users a\nquick understanding of the API operation's purpose.\n\nIMPORTANT: The summary should clearly indicate which Prisma DB table this\noperation relates to, helping to ensure all tables have API coverage.\n\n**CRITICAL WARNING about soft delete keywords**:\nDO NOT use terms like \"soft delete\", \"soft-delete\", or similar variations\nin this summary UNLESS the operation actually implements soft deletion.\nThese keywords trigger validation logic that expects a corresponding\nsoft_delete_column to be specified. Only use these terms when you intend\nto implement soft deletion (marking records as deleted without removing\nthem from the database).\n\n> MUST be written in English. Never use other languages",
|
|
1223
1244
|
type: "string"
|
|
1224
1245
|
},
|
|
1225
1246
|
path: {
|
|
@@ -1257,7 +1278,7 @@ const collection = {
|
|
|
1257
1278
|
]
|
|
1258
1279
|
},
|
|
1259
1280
|
method: {
|
|
1260
|
-
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",
|
|
1281
|
+
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",
|
|
1261
1282
|
oneOf: [
|
|
1262
1283
|
{
|
|
1263
1284
|
"const": "get"
|
|
@@ -1278,6 +1299,7 @@ const collection = {
|
|
|
1278
1299
|
}
|
|
1279
1300
|
},
|
|
1280
1301
|
required: [
|
|
1302
|
+
"prisma_schemas",
|
|
1281
1303
|
"authorizationRoles",
|
|
1282
1304
|
"description",
|
|
1283
1305
|
"name",
|
|
@@ -1474,7 +1496,7 @@ const collection = {
|
|
|
1474
1496
|
}
|
|
1475
1497
|
},
|
|
1476
1498
|
description: "Generate detailed API operations from path/method combinations.\n\nThis function creates complete API operations following REST principles and\nquality standards. Each generated operation includes specification, path,\nmethod, detailed multi-paragraph description, concise summary, parameters,\nand appropriate request/response bodies.\n\nThe function processes as many operations as possible in a single call,\nwith progress tracking to ensure iterative completion of all required\nendpoints.",
|
|
1477
|
-
validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length)) && "string" === typeof input.description && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io3 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io5 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
|
|
1499
|
+
validate: (() => { const _io0 = input => Array.isArray(input.operations) && input.operations.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.prisma_schemas && (Array.isArray(input.authorizationRoles) && input.authorizationRoles.every(elem => "string" === typeof elem && (RegExp("^[a-z][a-zA-Z0-9]*$").test(elem) && 1 <= elem.length))) && "string" === typeof input.description && ("string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name)) && "string" === typeof input.specification && "string" === typeof input.summary && ("string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path)) && (Array.isArray(input.parameters) && input.parameters.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io6(input.requestBody)) && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io7(input.responseBody)) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu0(input.schema)); const _io3 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io4 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io5 = input => (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io6 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io7 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
|
|
1478
1500
|
if ("number" === input.type)
|
|
1479
1501
|
return _io4(input);
|
|
1480
1502
|
else if ("integer" === input.type)
|
|
@@ -1499,7 +1521,11 @@ const collection = {
|
|
|
1499
1521
|
path: _path + ".operations",
|
|
1500
1522
|
expected: "Array<IAutoBeInterfaceOperationApplication.IOperation>",
|
|
1501
1523
|
value: input.operations
|
|
1502
|
-
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => [
|
|
1524
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.prisma_schemas || _report(_exceptionable, {
|
|
1525
|
+
path: _path + ".prisma_schemas",
|
|
1526
|
+
expected: "string",
|
|
1527
|
+
value: input.prisma_schemas
|
|
1528
|
+
}), (Array.isArray(input.authorizationRoles) || _report(_exceptionable, {
|
|
1503
1529
|
path: _path + ".authorizationRoles",
|
|
1504
1530
|
expected: "Array<string & CamelPattern & MinLength<1>>",
|
|
1505
1531
|
value: input.authorizationRoles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrateInterfaceOperations.js","sourceRoot":"","sources":["../../../../../src/orchestrate/interface/orchestrateInterfaceOperations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrateInterfaceOperations.js","sourceRoot":"","sources":["../../../../../src/orchestrate/interface/orchestrateInterfaceOperations.ts"],"names":[],"mappings":"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"}
|