@autobe/agent 0.28.0 → 0.29.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/AutoBeAgent.js +1 -0
- package/lib/AutoBeAgent.js.map +1 -1
- package/lib/AutoBeMockAgent.js +1 -0
- package/lib/AutoBeMockAgent.js.map +1 -1
- package/lib/constants/AutoBeConfigConstant.d.ts +3 -1
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +39 -26
- package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
- package/lib/context/AutoBeContext.d.ts +1 -1
- package/lib/factory/createAutoBeContext.js +5 -3
- package/lib/factory/createAutoBeContext.js.map +1 -1
- package/lib/index.mjs +37005 -17000
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.d.ts +7 -2
- package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js +11 -21
- package/lib/orchestrate/analyze/histories/transformAnalyzeReviewHistories.js.map +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.d.ts +2 -2
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +12 -5
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.d.ts +2 -2
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js +53 -50
- package/lib/orchestrate/analyze/histories/transformAnalyzeWriteHistories.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyze.js +2 -2
- package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js +855 -258
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +15 -22
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +2 -9
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +110 -36
- package/lib/orchestrate/common/AutoBePreliminaryController.d.ts +40 -0
- package/lib/orchestrate/common/AutoBePreliminaryController.js +97 -0
- package/lib/orchestrate/common/AutoBePreliminaryController.js.map +1 -0
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.d.ts +8 -0
- package/lib/orchestrate/{realize/histories/transformRealizeCorrectCastingHistories.js → common/histories/transformCommonCorrectCastingHistory.js} +16 -13
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistory.js.map +1 -0
- package/lib/orchestrate/common/histories/transformPreliminaryHistory.d.ts +4 -0
- package/lib/orchestrate/common/histories/transformPreliminaryHistory.js +285 -0
- package/lib/orchestrate/common/histories/transformPreliminaryHistory.js.map +1 -0
- package/lib/orchestrate/common/histories/{transformPreviousAndLatestCorrectHistories.d.ts → transformPreviousAndLatestCorrectHistory.d.ts} +1 -1
- package/lib/orchestrate/common/histories/{transformPreviousAndLatestCorrectHistories.js → transformPreviousAndLatestCorrectHistory.js} +4 -4
- package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js.map +1 -0
- package/lib/orchestrate/common/internal/complementPreliminaryCollection.d.ts +7 -0
- package/lib/orchestrate/common/internal/complementPreliminaryCollection.js +99 -0
- package/lib/orchestrate/common/internal/complementPreliminaryCollection.js.map +1 -0
- package/lib/orchestrate/common/internal/createPreliminaryCollection.d.ts +3 -0
- package/lib/orchestrate/common/internal/createPreliminaryCollection.js +20 -0
- package/lib/orchestrate/common/internal/createPreliminaryCollection.js.map +1 -0
- package/lib/orchestrate/common/internal/validatePreliminary.d.ts +5 -0
- package/lib/orchestrate/common/internal/validatePreliminary.js +217 -0
- package/lib/orchestrate/common/internal/validatePreliminary.js.map +1 -0
- package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +10 -22
- package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js.map +1 -1
- package/lib/orchestrate/common/orchestratePreliminary.d.ts +12 -0
- package/lib/orchestrate/common/orchestratePreliminary.js +231 -0
- package/lib/orchestrate/common/orchestratePreliminary.js.map +1 -0
- package/lib/orchestrate/common/structures/AutoBePreliminaryRequest.d.ts +16 -0
- package/lib/orchestrate/{realize/structures/IAutoBeRealizeAuthorizationApplication.js → common/structures/AutoBePreliminaryRequest.js} +1 -1
- package/lib/orchestrate/common/structures/AutoBePreliminaryRequest.js.map +1 -0
- package/lib/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.d.ts +1 -4
- package/lib/orchestrate/common/structures/IAutoBeOrchestrateResult.d.ts +9 -0
- package/lib/orchestrate/{interface/structures/IAutoBeInterfacePrerequisitesApplication.js → common/structures/IAutoBeOrchestrateResult.js} +1 -1
- package/lib/orchestrate/common/structures/IAutoBeOrchestrateResult.js.map +1 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryCollection.d.ts +8 -0
- package/lib/orchestrate/{interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js → common/structures/IAutoBePreliminaryCollection.js} +1 -1
- package/lib/orchestrate/common/structures/IAutoBePreliminaryCollection.js.map +1 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisFiles.d.ts +27 -0
- package/lib/orchestrate/{interface/structures/IAutoBeInterfaceOperationsReviewApplication.js → common/structures/IAutoBePreliminaryGetAnalysisFiles.js} +1 -1
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisFiles.js.map +1 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.d.ts +28 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.js +3 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.js.map +1 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.d.ts +27 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.js +3 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.js.map +1 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.d.ts +27 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.js +3 -0
- package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.d.ts +10 -0
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js +70 -0
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceCommonHistory.d.ts +3 -0
- package/lib/orchestrate/interface/histories/{transformInterfaceCommonHistories.js → transformInterfaceCommonHistory.js} +4 -4
- package/lib/orchestrate/interface/histories/transformInterfaceCommonHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistory.d.ts +9 -0
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistory.js +60 -0
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistory.d.ts +12 -0
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistory.js +63 -0
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.d.ts +7 -0
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.js +36 -0
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.d.ts +6 -0
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js +68 -0
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.d.ts +9 -0
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js +72 -0
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.d.ts +7 -0
- package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js +38 -0
- package/lib/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.d.ts +8 -0
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js +73 -0
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistory.d.ts +11 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistory.js +95 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.d.ts +5 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js +54 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.js.map +1 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.d.ts +12 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js +75 -0
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.js.map +1 -0
- package/lib/orchestrate/interface/orchestrateInterface.js +90 -46
- package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.d.ts +6 -0
- package/lib/orchestrate/interface/{orchestrateInterfaceAuthorizations.js → orchestrateInterfaceAuthorization.js} +1395 -241
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js.map +1 -0
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.d.ts +4 -3
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +2843 -556
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
- package/lib/orchestrate/interface/{orchestrateInterfaceEndpoints.d.ts → orchestrateInterfaceEndpoint.d.ts} +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoint.js +1356 -0
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoint.js.map +1 -0
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.d.ts +4 -0
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +1337 -0
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js.map +1 -0
- package/lib/orchestrate/interface/{orchestrateInterfaceGroups.d.ts → orchestrateInterfaceGroup.d.ts} +1 -2
- package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +621 -0
- package/lib/orchestrate/interface/orchestrateInterfaceGroup.js.map +1 -0
- package/lib/orchestrate/interface/{orchestrateInterfaceOperations.d.ts → orchestrateInterfaceOperation.d.ts} +1 -2
- package/lib/orchestrate/interface/{orchestrateInterfaceOperations.js → orchestrateInterfaceOperation.js} +1299 -232
- package/lib/orchestrate/interface/orchestrateInterfaceOperation.js.map +1 -0
- package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.d.ts +4 -0
- package/lib/orchestrate/interface/{orchestrateInterfaceOperationsReview.js → orchestrateInterfaceOperationReview.js} +1447 -264
- package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js.map +1 -0
- package/lib/orchestrate/interface/{orchestrateInterfacePrerequisites.d.ts → orchestrateInterfacePrerequisite.d.ts} +1 -1
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +2159 -0
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js.map +1 -0
- package/lib/orchestrate/interface/{orchestrateInterfaceSchemas.d.ts → orchestrateInterfaceSchema.d.ts} +1 -2
- package/lib/orchestrate/interface/{orchestrateInterfaceSchemas.js → orchestrateInterfaceSchema.js} +2586 -570
- package/lib/orchestrate/interface/orchestrateInterfaceSchema.js.map +1 -0
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +7 -17
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.d.ts +1 -0
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +2875 -588
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.d.ts +56 -5
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.d.ts +57 -10
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.d.ts +55 -10
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.d.ts +96 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.js +3 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.js.map +1 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +6 -82
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +58 -13
- package/lib/orchestrate/interface/structures/{IAutoBeInterfaceOperationsReviewApplication.d.ts → IAutoBeInterfaceOperationReviewApplication.d.ts} +58 -28
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.js +3 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.js.map +1 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.d.ts +98 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.js +3 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.js.map +1 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +56 -15
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.d.ts +62 -22
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.d.ts +60 -21
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.d.ts +61 -19
- package/lib/orchestrate/interface/utils/JsonSchemaFactory.js +29 -23
- package/lib/orchestrate/interface/utils/JsonSchemaFactory.js.map +1 -1
- package/lib/orchestrate/interface/utils/JsonSchemaNamingConvention.js +67 -61
- package/lib/orchestrate/interface/utils/JsonSchemaNamingConvention.js.map +1 -1
- package/lib/orchestrate/interface/utils/JsonSchemaValidator.d.ts +2 -1
- package/lib/orchestrate/interface/utils/JsonSchemaValidator.js +52 -25
- package/lib/orchestrate/interface/utils/JsonSchemaValidator.js.map +1 -1
- package/lib/orchestrate/interface/utils/OperationValidator.js +59 -1
- package/lib/orchestrate/interface/utils/OperationValidator.js.map +1 -1
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.d.ts +6 -0
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js +98 -0
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistory.js.map +1 -0
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.d.ts +7 -0
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js +31 -0
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistory.js.map +1 -0
- package/lib/orchestrate/prisma/histories/transformPrismaReviewHistory.d.ts +7 -0
- package/lib/orchestrate/prisma/histories/transformPrismaReviewHistory.js +38 -0
- package/lib/orchestrate/prisma/histories/transformPrismaReviewHistory.js.map +1 -0
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.d.ts +8 -0
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js +79 -0
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistory.js.map +1 -0
- package/lib/orchestrate/prisma/orchestratePrisma.js +9 -6
- package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.d.ts +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +19 -22
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +2864 -1535
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaReview.d.ts +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaReview.js +2886 -1557
- package/lib/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
- package/lib/orchestrate/prisma/{orchestratePrismaSchemas.d.ts → orchestratePrismaSchema.d.ts} +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js +3068 -0
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +1 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.d.ts +74 -76
- package/lib/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.d.ts +90 -72
- package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.d.ts +89 -66
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.d.ts +9 -0
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js +79 -0
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.js.map +1 -0
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.d.ts +7 -0
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js +41 -0
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.js.map +1 -0
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.d.ts +12 -0
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js +67 -0
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.js.map +1 -0
- package/lib/orchestrate/realize/histories/transformRealizeCorrectHistory.d.ts +18 -0
- package/lib/orchestrate/realize/histories/transformRealizeCorrectHistory.js +54 -0
- package/lib/orchestrate/realize/histories/transformRealizeCorrectHistory.js.map +1 -0
- package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.d.ts +4 -2
- package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js +140 -106
- package/lib/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
- package/lib/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.d.ts +3 -0
- package/lib/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.js +23 -0
- package/lib/orchestrate/realize/histories/transformRealizeWriteMembershipHistory.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealize.js +4 -4
- package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.d.ts +5 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +1288 -569
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
- package/lib/orchestrate/realize/{orchestrateRealizeAuthorization.d.ts → orchestrateRealizeAuthorizationWrite.d.ts} +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +1410 -0
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.js +664 -140
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js +20 -65
- package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeWrite.js +660 -135
- package/lib/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
- package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +79 -19
- package/lib/orchestrate/realize/structures/{IAutoBeRealizeAuthorizationApplication.d.ts → IAutoBeRealizeAuthorizationWriteApplication.d.ts} +60 -27
- package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.js +3 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.js.map +1 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.d.ts +54 -5
- package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.d.ts +6 -14
- package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +54 -6
- package/lib/orchestrate/realize/utils/generateRealizeScenario.d.ts +1 -3
- package/lib/orchestrate/realize/utils/generateRealizeScenario.js +1 -7
- package/lib/orchestrate/realize/utils/generateRealizeScenario.js.map +1 -1
- package/lib/orchestrate/test/histories/transformTestCorrectHistories.d.ts +3 -3
- package/lib/orchestrate/test/histories/transformTestCorrectHistories.js +23 -20
- package/lib/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
- package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.d.ts +4 -0
- package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.js +36 -0
- package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.js.map +1 -0
- package/lib/orchestrate/test/histories/transformTestScenarioHistory.d.ts +11 -0
- package/lib/orchestrate/test/histories/transformTestScenarioHistory.js +95 -0
- package/lib/orchestrate/test/histories/transformTestScenarioHistory.js.map +1 -0
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.d.ts +10 -0
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js +67 -0
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistory.js.map +1 -0
- package/lib/orchestrate/test/histories/{transformTestWriteHistories.d.ts → transformTestWriteHistory.d.ts} +4 -4
- package/lib/orchestrate/test/histories/{transformTestWriteHistories.js → transformTestWriteHistory.js} +79 -76
- package/lib/orchestrate/test/histories/transformTestWriteHistory.js.map +1 -0
- package/lib/orchestrate/test/orchestrateTestCorrect.js +13 -26
- package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +3 -15
- package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenario.d.ts +1 -1
- package/lib/orchestrate/test/orchestrateTestScenario.js +1381 -325
- package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenarioReview.d.ts +5 -3
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js +1072 -291
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestWrite.js +8 -15
- package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +66 -4
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.d.ts +82 -14
- package/lib/structures/IAutoBeOrchestrateHistory.d.ts +5 -0
- package/lib/structures/IAutoBeOrchestrateHistory.js +3 -0
- package/lib/structures/IAutoBeOrchestrateHistory.js.map +1 -0
- package/lib/utils/executeCachedBatch.d.ts +5 -1
- package/lib/utils/executeCachedBatch.js +23 -5
- package/lib/utils/executeCachedBatch.js.map +1 -1
- package/lib/utils/validateEmptyCode.js +2 -2
- package/lib/utils/validateEmptyCode.js.map +1 -1
- package/package.json +10 -8
- package/src/AutoBeAgent.ts +1 -0
- package/src/AutoBeMockAgent.ts +1 -0
- package/src/constants/AutoBeConfigConstant.ts +2 -0
- package/src/constants/AutoBeSystemPromptConstant.ts +39 -26
- package/src/context/AutoBeContext.ts +1 -1
- package/src/factory/createAutoBeContext.ts +5 -2
- package/src/orchestrate/analyze/histories/transformAnalyzeReviewHistories.ts +17 -28
- package/src/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.ts +12 -6
- package/src/orchestrate/analyze/histories/transformAnalyzeWriteHistories.ts +62 -61
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +2 -0
- package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +97 -48
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +3 -16
- package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +1 -2
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +114 -36
- package/src/orchestrate/common/AutoBePreliminaryController.ts +161 -0
- package/src/orchestrate/common/histories/transformCommonCorrectCastingHistory.ts +32 -0
- package/src/orchestrate/common/histories/transformPreliminaryHistory.ts +383 -0
- package/src/orchestrate/common/histories/{transformPreviousAndLatestCorrectHistories.ts → transformPreviousAndLatestCorrectHistory.ts} +1 -1
- package/src/orchestrate/common/internal/complementPreliminaryCollection.ts +123 -0
- package/src/orchestrate/common/internal/createPreliminaryCollection.ts +32 -0
- package/src/orchestrate/common/internal/validatePreliminary.ts +315 -0
- package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +8 -15
- package/src/orchestrate/common/orchestratePreliminary.ts +361 -0
- package/src/orchestrate/common/structures/AutoBePreliminaryRequest.ts +18 -0
- package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +1 -4
- package/src/orchestrate/common/structures/IAutoBeOrchestrateResult.ts +13 -0
- package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +9 -0
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisFiles.ts +29 -0
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +30 -0
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +29 -0
- package/src/orchestrate/common/structures/IAutoBePreliminaryGetPrismaSchemas.ts +29 -0
- package/src/orchestrate/interface/histories/transformInterfaceAuthorizationHistory.ts +77 -0
- package/src/orchestrate/interface/histories/{transformInterfaceCommonHistories.ts → transformInterfaceCommonHistory.ts} +1 -1
- package/src/orchestrate/interface/histories/{transformInterfaceGroupHistories.ts → transformInterfaceComplementHistory.ts} +35 -21
- package/src/orchestrate/interface/histories/transformInterfaceEndpointHistory.ts +74 -0
- package/src/orchestrate/interface/histories/transformInterfaceEndpointReviewHistory.ts +40 -0
- package/src/orchestrate/interface/histories/transformInterfaceGroupHistory.ts +72 -0
- package/src/orchestrate/interface/histories/transformInterfaceOperationHistory.ts +79 -0
- package/src/orchestrate/interface/histories/transformInterfaceOperationReviewHistory.ts +43 -0
- package/src/orchestrate/interface/histories/transformInterfacePrerequisiteHistory.ts +89 -0
- package/src/orchestrate/interface/histories/transformInterfaceSchemaHistory.ts +105 -0
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistory.ts +56 -0
- package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistory.ts +88 -0
- package/src/orchestrate/interface/orchestrateInterface.ts +115 -51
- package/src/orchestrate/interface/{orchestrateInterfaceAuthorizations.ts → orchestrateInterfaceAuthorization.ts} +91 -67
- package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +174 -78
- package/src/orchestrate/interface/orchestrateInterfaceEndpoint.ts +207 -0
- package/src/orchestrate/interface/orchestrateInterfaceEndpointReview.ts +139 -0
- package/src/orchestrate/interface/orchestrateInterfaceGroup.ts +153 -0
- package/src/orchestrate/interface/{orchestrateInterfaceOperations.ts → orchestrateInterfaceOperation.ts} +109 -86
- package/src/orchestrate/interface/orchestrateInterfaceOperationReview.ts +186 -0
- package/src/orchestrate/interface/{orchestrateInterfacePrerequisites.ts → orchestrateInterfacePrerequisite.ts} +123 -58
- package/src/orchestrate/interface/{orchestrateInterfaceSchemas.ts → orchestrateInterfaceSchema.ts} +96 -90
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +10 -11
- package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +127 -60
- package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationsApplication.ts +63 -5
- package/src/orchestrate/interface/structures/IAutoBeInterfaceComplementApplication.ts +67 -12
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointApplication.ts +63 -10
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +106 -0
- package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +6 -84
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +65 -13
- package/src/orchestrate/interface/structures/{IAutoBeInterfaceOperationsReviewApplication.ts → IAutoBeInterfaceOperationReviewApplication.ts} +65 -30
- package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +111 -0
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +65 -15
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaContentReviewApplication.ts +71 -24
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRelationReviewApplication.ts +68 -23
- package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaSecurityReviewApplication.ts +69 -21
- package/src/orchestrate/interface/utils/JsonSchemaFactory.ts +31 -23
- package/src/orchestrate/interface/utils/JsonSchemaNamingConvention.ts +73 -61
- package/src/orchestrate/interface/utils/JsonSchemaValidator.ts +53 -26
- package/src/orchestrate/interface/utils/OperationValidator.ts +69 -1
- package/src/orchestrate/prisma/histories/transformPrismaComponentsHistory.ts +109 -0
- package/src/orchestrate/prisma/histories/{transformPrismaCorrectHistories.ts → transformPrismaCorrectHistory.ts} +13 -22
- package/src/orchestrate/prisma/histories/transformPrismaReviewHistory.ts +42 -0
- package/src/orchestrate/prisma/histories/{transformPrismaSchemaHistories.ts → transformPrismaSchemaHistory.ts} +7 -8
- package/src/orchestrate/prisma/orchestratePrisma.ts +12 -17
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +7 -15
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +129 -64
- package/src/orchestrate/prisma/orchestratePrismaReview.ts +115 -59
- package/src/orchestrate/prisma/{orchestratePrismaSchemas.ts → orchestratePrismaSchema.ts} +92 -60
- package/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.ts +81 -76
- package/src/orchestrate/prisma/structures/IAutoBePrismaReviewApplication.ts +97 -72
- package/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.ts +93 -66
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistory.ts +89 -0
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationWriteHistory.ts +45 -0
- package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistory.ts +85 -0
- package/src/orchestrate/realize/histories/transformRealizeCorrectHistory.ts +77 -0
- package/src/orchestrate/realize/histories/transformRealizeWriteHistories.ts +152 -121
- package/src/orchestrate/realize/histories/{transformRealizeWriteAuthorizationsHistories.ts → transformRealizeWriteMembershipHistory.ts} +2 -2
- package/src/orchestrate/realize/orchestrateRealize.ts +4 -3
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +155 -97
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationWrite.ts +241 -0
- package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +88 -86
- package/src/orchestrate/realize/orchestrateRealizeCorrectCasting.ts +17 -56
- package/src/orchestrate/realize/orchestrateRealizeWrite.ts +82 -78
- package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +85 -22
- package/src/orchestrate/realize/structures/{IAutoBeRealizeAuthorizationApplication.ts → IAutoBeRealizeAuthorizationWriteApplication.ts} +64 -29
- package/src/orchestrate/realize/structures/IAutoBeRealizeCorrectApplication.ts +58 -5
- package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioResult.ts +6 -19
- package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +58 -6
- package/src/orchestrate/realize/utils/generateRealizeScenario.ts +2 -20
- package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +30 -30
- package/src/orchestrate/test/histories/transformTestCorrectInvalidRequestHistory.ts +40 -0
- package/src/orchestrate/test/histories/transformTestScenarioHistory.ts +116 -0
- package/src/orchestrate/test/histories/transformTestScenarioReviewHistory.ts +85 -0
- package/src/orchestrate/test/histories/transformTestWriteHistory.ts +169 -0
- package/src/orchestrate/test/orchestrateTestCorrect.ts +13 -19
- package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +5 -12
- package/src/orchestrate/test/orchestrateTestScenario.ts +143 -83
- package/src/orchestrate/test/orchestrateTestScenarioReview.ts +93 -76
- package/src/orchestrate/test/orchestrateTestWrite.ts +7 -7
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +74 -4
- package/src/orchestrate/test/structures/IAutoBeTestScenarioReviewApplication.ts +89 -14
- package/src/structures/IAutoBeOrchestrateHistory.ts +6 -0
- package/src/utils/executeCachedBatch.ts +33 -7
- package/src/utils/validateEmptyCode.ts +2 -2
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.d.ts +0 -8
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js +0 -16
- package/lib/orchestrate/common/histories/transformCommonCorrectCastingHistories.js.map +0 -1
- package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.d.ts +0 -3
- package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.js +0 -62
- package/lib/orchestrate/interface/histories/transformInterfaceAssetHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.d.ts +0 -8
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js +0 -68
- package/lib/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceCommonHistories.d.ts +0 -3
- package/lib/orchestrate/interface/histories/transformInterfaceCommonHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.d.ts +0 -9
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js +0 -74
- package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.d.ts +0 -10
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +0 -61
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +0 -4
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +0 -34
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.d.ts +0 -6
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js +0 -52
- package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.d.ts +0 -8
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js +0 -71
- package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.d.ts +0 -5
- package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +0 -36
- package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.d.ts +0 -3
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.js +0 -102
- package/lib/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.d.ts +0 -9
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +0 -74
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.d.ts +0 -5
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.js +0 -51
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.js.map +0 -1
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.d.ts +0 -11
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.js +0 -81
- package/lib/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.d.ts +0 -4
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +0 -506
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +0 -4
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +0 -487
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +0 -455
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.d.ts +0 -4
- package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js +0 -916
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js.map +0 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +0 -1
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +0 -60
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js.map +0 -1
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.js.map +0 -1
- package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisitesApplication.d.ts +0 -52
- package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisitesApplication.js.map +0 -1
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.d.ts +0 -6
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js +0 -95
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +0 -1
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.d.ts +0 -3
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.js +0 -41
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +0 -1
- package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.d.ts +0 -8
- package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.js +0 -62
- package/lib/orchestrate/prisma/histories/transformPrismaReviewHistories.js.map +0 -1
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.d.ts +0 -8
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +0 -78
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +0 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +0 -1678
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +0 -1
- package/lib/orchestrate/realize/histories/transformRealizeAuthorization.d.ts +0 -5
- package/lib/orchestrate/realize/histories/transformRealizeAuthorization.js +0 -44
- package/lib/orchestrate/realize/histories/transformRealizeAuthorization.js.map +0 -1
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.d.ts +0 -5
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js +0 -82
- package/lib/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.js.map +0 -1
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.d.ts +0 -5
- package/lib/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.js.map +0 -1
- package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.d.ts +0 -13
- package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js +0 -29
- package/lib/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +0 -1
- package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.d.ts +0 -3
- package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js +0 -23
- package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +0 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +0 -707
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +0 -1
- package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationApplication.js.map +0 -1
- package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.d.ts +0 -4
- package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js +0 -33
- package/lib/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.js.map +0 -1
- package/lib/orchestrate/test/histories/transformTestScenarioHistories.d.ts +0 -10
- package/lib/orchestrate/test/histories/transformTestScenarioHistories.js +0 -101
- package/lib/orchestrate/test/histories/transformTestScenarioHistories.js.map +0 -1
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.d.ts +0 -8
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.js +0 -72
- package/lib/orchestrate/test/histories/transformTestScenarioReviewHistories.js.map +0 -1
- package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +0 -1
- package/src/orchestrate/common/histories/transformCommonCorrectCastingHistories.ts +0 -25
- package/src/orchestrate/interface/histories/transformInterfaceAssetHistories.ts +0 -72
- package/src/orchestrate/interface/histories/transformInterfaceAuthorizationsHistories.ts +0 -75
- package/src/orchestrate/interface/histories/transformInterfaceComplementHistories.ts +0 -82
- package/src/orchestrate/interface/histories/transformInterfaceEndpointHistories.ts +0 -72
- package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +0 -40
- package/src/orchestrate/interface/histories/transformInterfaceOperationHistories.ts +0 -78
- package/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.ts +0 -44
- package/src/orchestrate/interface/histories/transformInterfacePrerequisitesHistories.ts +0 -118
- package/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.ts +0 -80
- package/src/orchestrate/interface/histories/transformInterfaceSchemaRenameHistories.ts +0 -55
- package/src/orchestrate/interface/histories/transformInterfaceSchemaReviewHistories.ts +0 -90
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +0 -152
- package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +0 -98
- package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +0 -91
- package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +0 -157
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.ts +0 -65
- package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisitesApplication.ts +0 -58
- package/src/orchestrate/prisma/histories/transformPrismaComponentsHistories.ts +0 -104
- package/src/orchestrate/prisma/histories/transformPrismaReviewHistories.ts +0 -69
- package/src/orchestrate/realize/histories/transformRealizeAuthorization.ts +0 -52
- package/src/orchestrate/realize/histories/transformRealizeAuthorizationCorrectHistories.ts +0 -95
- package/src/orchestrate/realize/histories/transformRealizeCorrectCastingHistories.ts +0 -30
- package/src/orchestrate/realize/histories/transformRealizeCorrectHistories.ts +0 -46
- package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +0 -185
- package/src/orchestrate/test/histories/transformTestCorrectInvalidRequestHistories.ts +0 -39
- package/src/orchestrate/test/histories/transformTestScenarioHistories.ts +0 -125
- package/src/orchestrate/test/histories/transformTestScenarioReviewHistories.ts +0 -89
- package/src/orchestrate/test/histories/transformTestWriteHistories.ts +0 -172
|
@@ -0,0 +1,1337 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.orchestrateInterfaceEndpointReview = orchestrateInterfaceEndpointReview;
|
|
49
|
+
const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
|
|
50
|
+
const __typia_transform__llmApplicationFinalize = __importStar(require("typia/lib/internal/_llmApplicationFinalize.js"));
|
|
51
|
+
const typia_1 = __importDefault(require("typia"));
|
|
52
|
+
const uuid_1 = require("uuid");
|
|
53
|
+
const assertSchemaModel_1 = require("../../context/assertSchemaModel");
|
|
54
|
+
const AutoBePreliminaryController_1 = require("../common/AutoBePreliminaryController");
|
|
55
|
+
const transformInterfaceEndpointReviewHistory_1 = require("./histories/transformInterfaceEndpointReviewHistory");
|
|
56
|
+
function orchestrateInterfaceEndpointReview(ctx, endpoints) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const preliminary = new AutoBePreliminaryController_1.AutoBePreliminaryController({
|
|
59
|
+
application: {
|
|
60
|
+
version: "3.1",
|
|
61
|
+
components: {
|
|
62
|
+
schemas: {
|
|
63
|
+
"IAutoBeInterfaceEndpointReviewApplication.IProps": {
|
|
64
|
+
type: "object",
|
|
65
|
+
properties: {
|
|
66
|
+
thinking: {
|
|
67
|
+
type: "string",
|
|
68
|
+
description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion."
|
|
69
|
+
},
|
|
70
|
+
request: {
|
|
71
|
+
oneOf: [
|
|
72
|
+
{
|
|
73
|
+
$ref: "#/components/schemas/IAutoBePreliminaryGetAnalysisFiles"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
$ref: "#/components/schemas/IAutoBePreliminaryGetPrismaSchemas"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
$ref: "#/components/schemas/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
discriminator: {
|
|
83
|
+
propertyName: "type",
|
|
84
|
+
mapping: {
|
|
85
|
+
getAnalysisFiles: "#/components/schemas/IAutoBePreliminaryGetAnalysisFiles",
|
|
86
|
+
getPrismaSchemas: "#/components/schemas/IAutoBePreliminaryGetPrismaSchemas",
|
|
87
|
+
complete: "#/components/schemas/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint review (complete).\nWhen preliminary returns empty array, that type is removed from the\nunion, physically preventing repeated calls."
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
required: [
|
|
94
|
+
"thinking",
|
|
95
|
+
"request"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
IAutoBePreliminaryGetAnalysisFiles: {
|
|
99
|
+
type: "object",
|
|
100
|
+
properties: {
|
|
101
|
+
type: {
|
|
102
|
+
"const": "getAnalysisFiles",
|
|
103
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files."
|
|
104
|
+
},
|
|
105
|
+
fileNames: {
|
|
106
|
+
type: "array",
|
|
107
|
+
items: {
|
|
108
|
+
type: "string"
|
|
109
|
+
},
|
|
110
|
+
minItems: 1,
|
|
111
|
+
description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls."
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
required: [
|
|
115
|
+
"type",
|
|
116
|
+
"fileNames"
|
|
117
|
+
],
|
|
118
|
+
description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context."
|
|
119
|
+
},
|
|
120
|
+
IAutoBePreliminaryGetPrismaSchemas: {
|
|
121
|
+
type: "object",
|
|
122
|
+
properties: {
|
|
123
|
+
type: {
|
|
124
|
+
"const": "getPrismaSchemas",
|
|
125
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas."
|
|
126
|
+
},
|
|
127
|
+
schemaNames: {
|
|
128
|
+
type: "array",
|
|
129
|
+
items: {
|
|
130
|
+
type: "string"
|
|
131
|
+
},
|
|
132
|
+
minItems: 1,
|
|
133
|
+
description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls."
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
required: [
|
|
137
|
+
"type",
|
|
138
|
+
"schemaNames"
|
|
139
|
+
],
|
|
140
|
+
description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations."
|
|
141
|
+
},
|
|
142
|
+
"IAutoBeInterfaceEndpointReviewApplication.IComplete": {
|
|
143
|
+
type: "object",
|
|
144
|
+
properties: {
|
|
145
|
+
type: {
|
|
146
|
+
"const": "complete",
|
|
147
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request."
|
|
148
|
+
},
|
|
149
|
+
review: {
|
|
150
|
+
type: "string",
|
|
151
|
+
description: "Comprehensive review analysis of all collected endpoints.\n\nContains detailed findings from the holistic review including:\n\n- Identified inconsistencies in naming conventions\n- Duplicate endpoints that serve the same purpose\n- Over-engineered solutions that add unnecessary complexity\n- Violations of REST API design principles\n- Recommendations for improvement and standardization\n\nThe review provides actionable feedback for creating a clean, consistent,\nand maintainable API structure."
|
|
152
|
+
},
|
|
153
|
+
endpoints: {
|
|
154
|
+
type: "array",
|
|
155
|
+
items: {
|
|
156
|
+
$ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
|
|
157
|
+
},
|
|
158
|
+
description: "Refined collection of API endpoints after review and cleanup.\n\nThe final optimized set of endpoints after:\n\n- Removing duplicates and redundant endpoints\n- Standardizing naming conventions across all paths\n- Simplifying over-engineered solutions\n- Ensuring consistent REST patterns\n- Aligning HTTP methods with their semantic meanings\n\nThis collection represents the production-ready API structure that\nbalances functionality with simplicity and maintainability."
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
required: [
|
|
162
|
+
"type",
|
|
163
|
+
"review",
|
|
164
|
+
"endpoints"
|
|
165
|
+
],
|
|
166
|
+
description: "Request to review and refine API endpoints.\n\nExecutes comprehensive endpoint review to consolidate independently\ngenerated endpoints, ensure consistency, eliminate redundancy, and create a\nclean, maintainable API structure following REST best practices."
|
|
167
|
+
},
|
|
168
|
+
"AutoBeOpenApi.IEndpoint": {
|
|
169
|
+
type: "object",
|
|
170
|
+
properties: {
|
|
171
|
+
path: {
|
|
172
|
+
type: "string",
|
|
173
|
+
pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$",
|
|
174
|
+
description: "HTTP path of the API operation.\n\nThe URL path for accessing this API operation, using path parameters\nenclosed in curly braces (e.g., `/shoppings/customers/sales/{saleId}`).\n\nIt must be corresponded to the {@link parameters path parameters}.\n\nThe path structure should clearly indicate which database entity this\noperation is manipulating, helping to ensure all entities have\nappropriate API coverage.\n\nPath validation rules:\n\n- Must start with a forward slash (/)\n- Can contain only: letters (a-z, A-Z), numbers (0-9), forward slashes (/),\n curly braces for parameters ({paramName}), hyphens (-), and underscores\n (_)\n- Parameters must be enclosed in curly braces: {paramName}\n- Resource names should be in camelCase\n- No quotes, spaces, or invalid special characters allowed\n- No domain or role-based prefixes\n\nValid examples:\n\n- \"/users\"\n- \"/users/{userId}\"\n- \"/articles/{articleId}/comments\"\n- \"/attachmentFiles\"\n- \"/orders/{orderId}/items/{itemId}\"\n\nInvalid examples:\n\n- \"'/users'\" (contains quotes)\n- \"/user profile\" (contains space)\n- \"/users/[userId]\" (wrong bracket format)\n- \"/admin/users\" (role prefix)\n- \"/api/v1/users\" (API prefix)"
|
|
175
|
+
},
|
|
176
|
+
method: {
|
|
177
|
+
oneOf: [
|
|
178
|
+
{
|
|
179
|
+
"const": "get"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"const": "post"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"const": "put"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"const": "delete"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"const": "patch"
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\",\nnot \"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"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
required: [
|
|
198
|
+
"path",
|
|
199
|
+
"method"
|
|
200
|
+
],
|
|
201
|
+
description: "API endpoint information."
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
functions: [
|
|
206
|
+
{
|
|
207
|
+
name: "process",
|
|
208
|
+
async: false,
|
|
209
|
+
parameters: [
|
|
210
|
+
{
|
|
211
|
+
name: "props",
|
|
212
|
+
description: " Request containing either preliminary data request or complete\ntask",
|
|
213
|
+
required: true,
|
|
214
|
+
schema: {
|
|
215
|
+
$ref: "#/components/schemas/IAutoBeInterfaceEndpointReviewApplication.IProps"
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
description: "Process endpoint review task or preliminary data requests.\n\nConsolidates all endpoints generated independently and performs holistic\nreview to ensure consistency, remove duplicates, eliminate\nover-engineering, and verify REST API design principles."
|
|
220
|
+
}
|
|
221
|
+
]
|
|
222
|
+
},
|
|
223
|
+
source: SOURCE,
|
|
224
|
+
kinds: ["analysisFiles", "prismaSchemas"],
|
|
225
|
+
state: ctx.state(),
|
|
226
|
+
});
|
|
227
|
+
return yield preliminary.orchestrate(ctx, () => __awaiter(this, void 0, void 0, function* () {
|
|
228
|
+
var _a, _b, _c, _d, _e;
|
|
229
|
+
const pointer = {
|
|
230
|
+
value: null,
|
|
231
|
+
};
|
|
232
|
+
const result = yield ctx.conversate(Object.assign({ source: SOURCE, controller: createController({
|
|
233
|
+
preliminary,
|
|
234
|
+
model: ctx.model,
|
|
235
|
+
build: (props) => {
|
|
236
|
+
pointer.value = props;
|
|
237
|
+
},
|
|
238
|
+
}), enforceFunctionCall: true }, (0, transformInterfaceEndpointReviewHistory_1.transformInterfaceEndpointReviewHistory)({
|
|
239
|
+
preliminary,
|
|
240
|
+
endpoints,
|
|
241
|
+
})));
|
|
242
|
+
const out = (value) => (Object.assign(Object.assign({}, result), { value }));
|
|
243
|
+
if (pointer.value !== null) {
|
|
244
|
+
const response = (_b = (_a = pointer.value) === null || _a === void 0 ? void 0 : _a.endpoints) !== null && _b !== void 0 ? _b : [];
|
|
245
|
+
ctx.dispatch({
|
|
246
|
+
id: (0, uuid_1.v7)(),
|
|
247
|
+
type: SOURCE,
|
|
248
|
+
endpoints,
|
|
249
|
+
content: response,
|
|
250
|
+
created_at: new Date().toISOString(),
|
|
251
|
+
review: (_c = pointer.value) === null || _c === void 0 ? void 0 : _c.review,
|
|
252
|
+
step: (_e = (_d = ctx.state().analyze) === null || _d === void 0 ? void 0 : _d.step) !== null && _e !== void 0 ? _e : 0,
|
|
253
|
+
metric: result.metric,
|
|
254
|
+
tokenUsage: result.tokenUsage,
|
|
255
|
+
});
|
|
256
|
+
return out(response);
|
|
257
|
+
}
|
|
258
|
+
return out(null);
|
|
259
|
+
}));
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
function createController(props) {
|
|
263
|
+
(0, assertSchemaModel_1.assertSchemaModel)(props.model);
|
|
264
|
+
const validate = (input) => {
|
|
265
|
+
const result = (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && "string" === typeof input.review && (Array.isArray(input.endpoints) && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _iu0 = input => (() => {
|
|
266
|
+
if ("getAnalysisFiles" === input.type)
|
|
267
|
+
return _io1(input);
|
|
268
|
+
else if ("getPrismaSchemas" === input.type)
|
|
269
|
+
return _io2(input);
|
|
270
|
+
else if ("complete" === input.type)
|
|
271
|
+
return _io3(input);
|
|
272
|
+
else
|
|
273
|
+
return false;
|
|
274
|
+
})(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
|
|
275
|
+
path: _path + ".thinking",
|
|
276
|
+
expected: "string",
|
|
277
|
+
value: input.thinking
|
|
278
|
+
}), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
|
|
279
|
+
path: _path + ".request",
|
|
280
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
281
|
+
value: input.request
|
|
282
|
+
})) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
|
|
283
|
+
path: _path + ".request",
|
|
284
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
285
|
+
value: input.request
|
|
286
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
|
|
287
|
+
path: _path + ".type",
|
|
288
|
+
expected: "\"getAnalysisFiles\"",
|
|
289
|
+
value: input.type
|
|
290
|
+
}), (Array.isArray(input.fileNames) || _report(_exceptionable, {
|
|
291
|
+
path: _path + ".fileNames",
|
|
292
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
293
|
+
value: input.fileNames
|
|
294
|
+
})) && ((1 <= input.fileNames.length || _report(_exceptionable, {
|
|
295
|
+
path: _path + ".fileNames",
|
|
296
|
+
expected: "Array<> & MinItems<1>",
|
|
297
|
+
value: input.fileNames
|
|
298
|
+
})) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
|
|
299
|
+
path: _path + ".fileNames[" + _index4 + "]",
|
|
300
|
+
expected: "string",
|
|
301
|
+
value: elem
|
|
302
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
303
|
+
path: _path + ".fileNames",
|
|
304
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
305
|
+
value: input.fileNames
|
|
306
|
+
})].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
|
|
307
|
+
path: _path + ".type",
|
|
308
|
+
expected: "\"getPrismaSchemas\"",
|
|
309
|
+
value: input.type
|
|
310
|
+
}), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
|
|
311
|
+
path: _path + ".schemaNames",
|
|
312
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
313
|
+
value: input.schemaNames
|
|
314
|
+
})) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
|
|
315
|
+
path: _path + ".schemaNames",
|
|
316
|
+
expected: "Array<> & MinItems<1>",
|
|
317
|
+
value: input.schemaNames
|
|
318
|
+
})) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
|
|
319
|
+
path: _path + ".schemaNames[" + _index5 + "]",
|
|
320
|
+
expected: "string",
|
|
321
|
+
value: elem
|
|
322
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
323
|
+
path: _path + ".schemaNames",
|
|
324
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
325
|
+
value: input.schemaNames
|
|
326
|
+
})].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
|
|
327
|
+
path: _path + ".type",
|
|
328
|
+
expected: "\"complete\"",
|
|
329
|
+
value: input.type
|
|
330
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
331
|
+
path: _path + ".review",
|
|
332
|
+
expected: "string",
|
|
333
|
+
value: input.review
|
|
334
|
+
}), (Array.isArray(input.endpoints) || _report(_exceptionable, {
|
|
335
|
+
path: _path + ".endpoints",
|
|
336
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
337
|
+
value: input.endpoints
|
|
338
|
+
})) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
339
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
340
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
341
|
+
value: elem
|
|
342
|
+
})) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
343
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
344
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
345
|
+
value: elem
|
|
346
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
347
|
+
path: _path + ".endpoints",
|
|
348
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
349
|
+
value: input.endpoints
|
|
350
|
+
})].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
|
|
351
|
+
path: _path + ".path",
|
|
352
|
+
expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
|
|
353
|
+
value: input.path
|
|
354
|
+
})) || _report(_exceptionable, {
|
|
355
|
+
path: _path + ".path",
|
|
356
|
+
expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
|
|
357
|
+
value: input.path
|
|
358
|
+
}), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
|
|
359
|
+
path: _path + ".method",
|
|
360
|
+
expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
|
|
361
|
+
value: input.method
|
|
362
|
+
})].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
|
|
363
|
+
if ("getAnalysisFiles" === input.type)
|
|
364
|
+
return _vo1(input, _path, true && _exceptionable);
|
|
365
|
+
else if ("getPrismaSchemas" === input.type)
|
|
366
|
+
return _vo2(input, _path, true && _exceptionable);
|
|
367
|
+
else if ("complete" === input.type)
|
|
368
|
+
return _vo3(input, _path, true && _exceptionable);
|
|
369
|
+
else
|
|
370
|
+
return _report(_exceptionable, {
|
|
371
|
+
path: _path,
|
|
372
|
+
expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointReviewApplication.IComplete)",
|
|
373
|
+
value: input
|
|
374
|
+
});
|
|
375
|
+
})(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
376
|
+
if (false === __is(input)) {
|
|
377
|
+
errors = [];
|
|
378
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
379
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
380
|
+
path: _path + "",
|
|
381
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
382
|
+
value: input
|
|
383
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
384
|
+
path: _path + "",
|
|
385
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
386
|
+
value: input
|
|
387
|
+
}))(input, "$input", true);
|
|
388
|
+
const success = 0 === errors.length;
|
|
389
|
+
return success ? {
|
|
390
|
+
success,
|
|
391
|
+
data: input
|
|
392
|
+
} : {
|
|
393
|
+
success,
|
|
394
|
+
errors,
|
|
395
|
+
data: input
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
return {
|
|
399
|
+
success: true,
|
|
400
|
+
data: input
|
|
401
|
+
};
|
|
402
|
+
}; })()(input);
|
|
403
|
+
if (result.success === false || result.data.request.type === "complete")
|
|
404
|
+
return result;
|
|
405
|
+
return props.preliminary.validate({
|
|
406
|
+
thinking: result.data.thinking,
|
|
407
|
+
request: result.data.request,
|
|
408
|
+
});
|
|
409
|
+
};
|
|
410
|
+
const application = collection[props.model === "chatgpt"
|
|
411
|
+
? "chatgpt"
|
|
412
|
+
: props.model === "gemini"
|
|
413
|
+
? "gemini"
|
|
414
|
+
: "claude"](validate);
|
|
415
|
+
return {
|
|
416
|
+
protocol: "class",
|
|
417
|
+
name: SOURCE,
|
|
418
|
+
application,
|
|
419
|
+
execute: {
|
|
420
|
+
process: (next) => {
|
|
421
|
+
if (next.request.type === "complete")
|
|
422
|
+
props.build(next.request);
|
|
423
|
+
},
|
|
424
|
+
},
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
const collection = {
|
|
428
|
+
chatgpt: (validate) => (() => {
|
|
429
|
+
const application = {
|
|
430
|
+
model: "chatgpt",
|
|
431
|
+
options: {
|
|
432
|
+
reference: true,
|
|
433
|
+
strict: false,
|
|
434
|
+
separate: null
|
|
435
|
+
},
|
|
436
|
+
functions: [
|
|
437
|
+
{
|
|
438
|
+
name: "process",
|
|
439
|
+
parameters: {
|
|
440
|
+
description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceEndpointReviewApplication.IProps}",
|
|
441
|
+
type: "object",
|
|
442
|
+
properties: {
|
|
443
|
+
thinking: {
|
|
444
|
+
description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion.",
|
|
445
|
+
type: "string"
|
|
446
|
+
},
|
|
447
|
+
request: {
|
|
448
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint review (complete).\nWhen preliminary returns empty array, that type is removed from the\nunion, physically preventing repeated calls.",
|
|
449
|
+
anyOf: [
|
|
450
|
+
{
|
|
451
|
+
$ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
$ref: "#/$defs/IAutoBePreliminaryGetPrismaSchemas"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
$ref: "#/$defs/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
458
|
+
}
|
|
459
|
+
],
|
|
460
|
+
"x-discriminator": {
|
|
461
|
+
propertyName: "type",
|
|
462
|
+
mapping: {
|
|
463
|
+
getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
|
|
464
|
+
getPrismaSchemas: "#/$defs/IAutoBePreliminaryGetPrismaSchemas",
|
|
465
|
+
complete: "#/$defs/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
},
|
|
470
|
+
required: [
|
|
471
|
+
"thinking",
|
|
472
|
+
"request"
|
|
473
|
+
],
|
|
474
|
+
additionalProperties: false,
|
|
475
|
+
$defs: {
|
|
476
|
+
IAutoBePreliminaryGetAnalysisFiles: {
|
|
477
|
+
description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context.",
|
|
478
|
+
type: "object",
|
|
479
|
+
properties: {
|
|
480
|
+
type: {
|
|
481
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files.",
|
|
482
|
+
type: "string",
|
|
483
|
+
"enum": [
|
|
484
|
+
"getAnalysisFiles"
|
|
485
|
+
]
|
|
486
|
+
},
|
|
487
|
+
fileNames: {
|
|
488
|
+
description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls.\n\n\n@minItems 1",
|
|
489
|
+
type: "array",
|
|
490
|
+
items: {
|
|
491
|
+
type: "string"
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
},
|
|
495
|
+
required: [
|
|
496
|
+
"type",
|
|
497
|
+
"fileNames"
|
|
498
|
+
]
|
|
499
|
+
},
|
|
500
|
+
IAutoBePreliminaryGetPrismaSchemas: {
|
|
501
|
+
description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations.",
|
|
502
|
+
type: "object",
|
|
503
|
+
properties: {
|
|
504
|
+
type: {
|
|
505
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas.",
|
|
506
|
+
type: "string",
|
|
507
|
+
"enum": [
|
|
508
|
+
"getPrismaSchemas"
|
|
509
|
+
]
|
|
510
|
+
},
|
|
511
|
+
schemaNames: {
|
|
512
|
+
description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls.\n\n\n@minItems 1",
|
|
513
|
+
type: "array",
|
|
514
|
+
items: {
|
|
515
|
+
type: "string"
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
required: [
|
|
520
|
+
"type",
|
|
521
|
+
"schemaNames"
|
|
522
|
+
]
|
|
523
|
+
},
|
|
524
|
+
"IAutoBeInterfaceEndpointReviewApplication.IComplete": {
|
|
525
|
+
description: "Request to review and refine API endpoints.\n\nExecutes comprehensive endpoint review to consolidate independently\ngenerated endpoints, ensure consistency, eliminate redundancy, and create a\nclean, maintainable API structure following REST best practices.",
|
|
526
|
+
type: "object",
|
|
527
|
+
properties: {
|
|
528
|
+
type: {
|
|
529
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request.",
|
|
530
|
+
type: "string",
|
|
531
|
+
"enum": [
|
|
532
|
+
"complete"
|
|
533
|
+
]
|
|
534
|
+
},
|
|
535
|
+
review: {
|
|
536
|
+
description: "Comprehensive review analysis of all collected endpoints.\n\nContains detailed findings from the holistic review including:\n\n- Identified inconsistencies in naming conventions\n- Duplicate endpoints that serve the same purpose\n- Over-engineered solutions that add unnecessary complexity\n- Violations of REST API design principles\n- Recommendations for improvement and standardization\n\nThe review provides actionable feedback for creating a clean, consistent,\nand maintainable API structure.",
|
|
537
|
+
type: "string"
|
|
538
|
+
},
|
|
539
|
+
endpoints: {
|
|
540
|
+
description: "Refined collection of API endpoints after review and cleanup.\n\nThe final optimized set of endpoints after:\n\n- Removing duplicates and redundant endpoints\n- Standardizing naming conventions across all paths\n- Simplifying over-engineered solutions\n- Ensuring consistent REST patterns\n- Aligning HTTP methods with their semantic meanings\n\nThis collection represents the production-ready API structure that\nbalances functionality with simplicity and maintainability.",
|
|
541
|
+
type: "array",
|
|
542
|
+
items: {
|
|
543
|
+
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
},
|
|
547
|
+
required: [
|
|
548
|
+
"type",
|
|
549
|
+
"review",
|
|
550
|
+
"endpoints"
|
|
551
|
+
]
|
|
552
|
+
},
|
|
553
|
+
"AutoBeOpenApi.IEndpoint": {
|
|
554
|
+
description: "API endpoint information.",
|
|
555
|
+
type: "object",
|
|
556
|
+
properties: {
|
|
557
|
+
path: {
|
|
558
|
+
description: "HTTP path of the API operation.\n\nThe URL path for accessing this API operation, using path parameters\nenclosed in curly braces (e.g., `/shoppings/customers/sales/{saleId}`).\n\nIt must be corresponded to the {@link parameters path parameters}.\n\nThe path structure should clearly indicate which database entity this\noperation is manipulating, helping to ensure all entities have\nappropriate API coverage.\n\nPath validation rules:\n\n- Must start with a forward slash (/)\n- Can contain only: letters (a-z, A-Z), numbers (0-9), forward slashes (/),\n curly braces for parameters ({paramName}), hyphens (-), and underscores\n (_)\n- Parameters must be enclosed in curly braces: {paramName}\n- Resource names should be in camelCase\n- No quotes, spaces, or invalid special characters allowed\n- No domain or role-based prefixes\n\nValid examples:\n\n- \"/users\"\n- \"/users/{userId}\"\n- \"/articles/{articleId}/comments\"\n- \"/attachmentFiles\"\n- \"/orders/{orderId}/items/{itemId}\"\n\nInvalid examples:\n\n- \"'/users'\" (contains quotes)\n- \"/user profile\" (contains space)\n- \"/users/[userId]\" (wrong bracket format)\n- \"/admin/users\" (role prefix)\n- \"/api/v1/users\" (API prefix)\n\n\n@pattern ^\\/[a-zA-Z0-9\\/_{}.-]*$",
|
|
559
|
+
type: "string"
|
|
560
|
+
},
|
|
561
|
+
method: {
|
|
562
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\",\nnot \"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",
|
|
563
|
+
type: "string",
|
|
564
|
+
"enum": [
|
|
565
|
+
"get",
|
|
566
|
+
"post",
|
|
567
|
+
"put",
|
|
568
|
+
"delete",
|
|
569
|
+
"patch"
|
|
570
|
+
]
|
|
571
|
+
}
|
|
572
|
+
},
|
|
573
|
+
required: [
|
|
574
|
+
"path",
|
|
575
|
+
"method"
|
|
576
|
+
]
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
description: "Process endpoint review task or preliminary data requests.\n\nConsolidates all endpoints generated independently and performs holistic\nreview to ensure consistency, remove duplicates, eliminate\nover-engineering, and verify REST API design principles.",
|
|
581
|
+
validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && "string" === typeof input.review && (Array.isArray(input.endpoints) && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _iu0 = input => (() => {
|
|
582
|
+
if ("getAnalysisFiles" === input.type)
|
|
583
|
+
return _io1(input);
|
|
584
|
+
else if ("getPrismaSchemas" === input.type)
|
|
585
|
+
return _io2(input);
|
|
586
|
+
else if ("complete" === input.type)
|
|
587
|
+
return _io3(input);
|
|
588
|
+
else
|
|
589
|
+
return false;
|
|
590
|
+
})(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
|
|
591
|
+
path: _path + ".thinking",
|
|
592
|
+
expected: "string",
|
|
593
|
+
value: input.thinking
|
|
594
|
+
}), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
|
|
595
|
+
path: _path + ".request",
|
|
596
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
597
|
+
value: input.request
|
|
598
|
+
})) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
|
|
599
|
+
path: _path + ".request",
|
|
600
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
601
|
+
value: input.request
|
|
602
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
|
|
603
|
+
path: _path + ".type",
|
|
604
|
+
expected: "\"getAnalysisFiles\"",
|
|
605
|
+
value: input.type
|
|
606
|
+
}), (Array.isArray(input.fileNames) || _report(_exceptionable, {
|
|
607
|
+
path: _path + ".fileNames",
|
|
608
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
609
|
+
value: input.fileNames
|
|
610
|
+
})) && ((1 <= input.fileNames.length || _report(_exceptionable, {
|
|
611
|
+
path: _path + ".fileNames",
|
|
612
|
+
expected: "Array<> & MinItems<1>",
|
|
613
|
+
value: input.fileNames
|
|
614
|
+
})) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
|
|
615
|
+
path: _path + ".fileNames[" + _index4 + "]",
|
|
616
|
+
expected: "string",
|
|
617
|
+
value: elem
|
|
618
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
619
|
+
path: _path + ".fileNames",
|
|
620
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
621
|
+
value: input.fileNames
|
|
622
|
+
})].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
|
|
623
|
+
path: _path + ".type",
|
|
624
|
+
expected: "\"getPrismaSchemas\"",
|
|
625
|
+
value: input.type
|
|
626
|
+
}), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
|
|
627
|
+
path: _path + ".schemaNames",
|
|
628
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
629
|
+
value: input.schemaNames
|
|
630
|
+
})) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
|
|
631
|
+
path: _path + ".schemaNames",
|
|
632
|
+
expected: "Array<> & MinItems<1>",
|
|
633
|
+
value: input.schemaNames
|
|
634
|
+
})) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
|
|
635
|
+
path: _path + ".schemaNames[" + _index5 + "]",
|
|
636
|
+
expected: "string",
|
|
637
|
+
value: elem
|
|
638
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
639
|
+
path: _path + ".schemaNames",
|
|
640
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
641
|
+
value: input.schemaNames
|
|
642
|
+
})].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
|
|
643
|
+
path: _path + ".type",
|
|
644
|
+
expected: "\"complete\"",
|
|
645
|
+
value: input.type
|
|
646
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
647
|
+
path: _path + ".review",
|
|
648
|
+
expected: "string",
|
|
649
|
+
value: input.review
|
|
650
|
+
}), (Array.isArray(input.endpoints) || _report(_exceptionable, {
|
|
651
|
+
path: _path + ".endpoints",
|
|
652
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
653
|
+
value: input.endpoints
|
|
654
|
+
})) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
655
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
656
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
657
|
+
value: elem
|
|
658
|
+
})) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
659
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
660
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
661
|
+
value: elem
|
|
662
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
663
|
+
path: _path + ".endpoints",
|
|
664
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
665
|
+
value: input.endpoints
|
|
666
|
+
})].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
|
|
667
|
+
path: _path + ".path",
|
|
668
|
+
expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
|
|
669
|
+
value: input.path
|
|
670
|
+
})) || _report(_exceptionable, {
|
|
671
|
+
path: _path + ".path",
|
|
672
|
+
expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
|
|
673
|
+
value: input.path
|
|
674
|
+
}), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
|
|
675
|
+
path: _path + ".method",
|
|
676
|
+
expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
|
|
677
|
+
value: input.method
|
|
678
|
+
})].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
|
|
679
|
+
if ("getAnalysisFiles" === input.type)
|
|
680
|
+
return _vo1(input, _path, true && _exceptionable);
|
|
681
|
+
else if ("getPrismaSchemas" === input.type)
|
|
682
|
+
return _vo2(input, _path, true && _exceptionable);
|
|
683
|
+
else if ("complete" === input.type)
|
|
684
|
+
return _vo3(input, _path, true && _exceptionable);
|
|
685
|
+
else
|
|
686
|
+
return _report(_exceptionable, {
|
|
687
|
+
path: _path,
|
|
688
|
+
expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointReviewApplication.IComplete)",
|
|
689
|
+
value: input
|
|
690
|
+
});
|
|
691
|
+
})(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
692
|
+
if (false === __is(input)) {
|
|
693
|
+
errors = [];
|
|
694
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
695
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
696
|
+
path: _path + "",
|
|
697
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
698
|
+
value: input
|
|
699
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
700
|
+
path: _path + "",
|
|
701
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
702
|
+
value: input
|
|
703
|
+
}))(input, "$input", true);
|
|
704
|
+
const success = 0 === errors.length;
|
|
705
|
+
return success ? {
|
|
706
|
+
success,
|
|
707
|
+
data: input
|
|
708
|
+
} : {
|
|
709
|
+
success,
|
|
710
|
+
errors,
|
|
711
|
+
data: input
|
|
712
|
+
};
|
|
713
|
+
}
|
|
714
|
+
return {
|
|
715
|
+
success: true,
|
|
716
|
+
data: input
|
|
717
|
+
};
|
|
718
|
+
}; })()
|
|
719
|
+
}
|
|
720
|
+
]
|
|
721
|
+
};
|
|
722
|
+
__typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
|
|
723
|
+
validate: {
|
|
724
|
+
process: validate,
|
|
725
|
+
},
|
|
726
|
+
}), { equals: false }));
|
|
727
|
+
return application;
|
|
728
|
+
})(),
|
|
729
|
+
claude: (validate) => (() => {
|
|
730
|
+
const application = {
|
|
731
|
+
model: "claude",
|
|
732
|
+
options: {
|
|
733
|
+
reference: true,
|
|
734
|
+
separate: null
|
|
735
|
+
},
|
|
736
|
+
functions: [
|
|
737
|
+
{
|
|
738
|
+
name: "process",
|
|
739
|
+
parameters: {
|
|
740
|
+
description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceEndpointReviewApplication.IProps}",
|
|
741
|
+
type: "object",
|
|
742
|
+
properties: {
|
|
743
|
+
thinking: {
|
|
744
|
+
description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion.",
|
|
745
|
+
type: "string"
|
|
746
|
+
},
|
|
747
|
+
request: {
|
|
748
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint review (complete).\nWhen preliminary returns empty array, that type is removed from the\nunion, physically preventing repeated calls.",
|
|
749
|
+
oneOf: [
|
|
750
|
+
{
|
|
751
|
+
$ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
$ref: "#/$defs/IAutoBePreliminaryGetPrismaSchemas"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
$ref: "#/$defs/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
758
|
+
}
|
|
759
|
+
],
|
|
760
|
+
discriminator: {
|
|
761
|
+
propertyName: "type",
|
|
762
|
+
mapping: {
|
|
763
|
+
getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
|
|
764
|
+
getPrismaSchemas: "#/$defs/IAutoBePreliminaryGetPrismaSchemas",
|
|
765
|
+
complete: "#/$defs/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
required: [
|
|
771
|
+
"thinking",
|
|
772
|
+
"request"
|
|
773
|
+
],
|
|
774
|
+
additionalProperties: false,
|
|
775
|
+
$defs: {
|
|
776
|
+
IAutoBePreliminaryGetAnalysisFiles: {
|
|
777
|
+
description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context.",
|
|
778
|
+
type: "object",
|
|
779
|
+
properties: {
|
|
780
|
+
type: {
|
|
781
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files.",
|
|
782
|
+
"const": "getAnalysisFiles"
|
|
783
|
+
},
|
|
784
|
+
fileNames: {
|
|
785
|
+
description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls.",
|
|
786
|
+
type: "array",
|
|
787
|
+
items: {
|
|
788
|
+
type: "string"
|
|
789
|
+
},
|
|
790
|
+
minItems: 1
|
|
791
|
+
}
|
|
792
|
+
},
|
|
793
|
+
required: [
|
|
794
|
+
"type",
|
|
795
|
+
"fileNames"
|
|
796
|
+
]
|
|
797
|
+
},
|
|
798
|
+
IAutoBePreliminaryGetPrismaSchemas: {
|
|
799
|
+
description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations.",
|
|
800
|
+
type: "object",
|
|
801
|
+
properties: {
|
|
802
|
+
type: {
|
|
803
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas.",
|
|
804
|
+
"const": "getPrismaSchemas"
|
|
805
|
+
},
|
|
806
|
+
schemaNames: {
|
|
807
|
+
description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls.",
|
|
808
|
+
type: "array",
|
|
809
|
+
items: {
|
|
810
|
+
type: "string"
|
|
811
|
+
},
|
|
812
|
+
minItems: 1
|
|
813
|
+
}
|
|
814
|
+
},
|
|
815
|
+
required: [
|
|
816
|
+
"type",
|
|
817
|
+
"schemaNames"
|
|
818
|
+
]
|
|
819
|
+
},
|
|
820
|
+
"IAutoBeInterfaceEndpointReviewApplication.IComplete": {
|
|
821
|
+
description: "Request to review and refine API endpoints.\n\nExecutes comprehensive endpoint review to consolidate independently\ngenerated endpoints, ensure consistency, eliminate redundancy, and create a\nclean, maintainable API structure following REST best practices.",
|
|
822
|
+
type: "object",
|
|
823
|
+
properties: {
|
|
824
|
+
type: {
|
|
825
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request.",
|
|
826
|
+
"const": "complete"
|
|
827
|
+
},
|
|
828
|
+
review: {
|
|
829
|
+
description: "Comprehensive review analysis of all collected endpoints.\n\nContains detailed findings from the holistic review including:\n\n- Identified inconsistencies in naming conventions\n- Duplicate endpoints that serve the same purpose\n- Over-engineered solutions that add unnecessary complexity\n- Violations of REST API design principles\n- Recommendations for improvement and standardization\n\nThe review provides actionable feedback for creating a clean, consistent,\nand maintainable API structure.",
|
|
830
|
+
type: "string"
|
|
831
|
+
},
|
|
832
|
+
endpoints: {
|
|
833
|
+
description: "Refined collection of API endpoints after review and cleanup.\n\nThe final optimized set of endpoints after:\n\n- Removing duplicates and redundant endpoints\n- Standardizing naming conventions across all paths\n- Simplifying over-engineered solutions\n- Ensuring consistent REST patterns\n- Aligning HTTP methods with their semantic meanings\n\nThis collection represents the production-ready API structure that\nbalances functionality with simplicity and maintainability.",
|
|
834
|
+
type: "array",
|
|
835
|
+
items: {
|
|
836
|
+
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
},
|
|
840
|
+
required: [
|
|
841
|
+
"type",
|
|
842
|
+
"review",
|
|
843
|
+
"endpoints"
|
|
844
|
+
]
|
|
845
|
+
},
|
|
846
|
+
"AutoBeOpenApi.IEndpoint": {
|
|
847
|
+
description: "API endpoint information.",
|
|
848
|
+
type: "object",
|
|
849
|
+
properties: {
|
|
850
|
+
path: {
|
|
851
|
+
description: "HTTP path of the API operation.\n\nThe URL path for accessing this API operation, using path parameters\nenclosed in curly braces (e.g., `/shoppings/customers/sales/{saleId}`).\n\nIt must be corresponded to the {@link parameters path parameters}.\n\nThe path structure should clearly indicate which database entity this\noperation is manipulating, helping to ensure all entities have\nappropriate API coverage.\n\nPath validation rules:\n\n- Must start with a forward slash (/)\n- Can contain only: letters (a-z, A-Z), numbers (0-9), forward slashes (/),\n curly braces for parameters ({paramName}), hyphens (-), and underscores\n (_)\n- Parameters must be enclosed in curly braces: {paramName}\n- Resource names should be in camelCase\n- No quotes, spaces, or invalid special characters allowed\n- No domain or role-based prefixes\n\nValid examples:\n\n- \"/users\"\n- \"/users/{userId}\"\n- \"/articles/{articleId}/comments\"\n- \"/attachmentFiles\"\n- \"/orders/{orderId}/items/{itemId}\"\n\nInvalid examples:\n\n- \"'/users'\" (contains quotes)\n- \"/user profile\" (contains space)\n- \"/users/[userId]\" (wrong bracket format)\n- \"/admin/users\" (role prefix)\n- \"/api/v1/users\" (API prefix)",
|
|
852
|
+
type: "string",
|
|
853
|
+
pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
|
|
854
|
+
},
|
|
855
|
+
method: {
|
|
856
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\",\nnot \"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",
|
|
857
|
+
oneOf: [
|
|
858
|
+
{
|
|
859
|
+
"const": "get"
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"const": "post"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"const": "put"
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"const": "delete"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"const": "patch"
|
|
872
|
+
}
|
|
873
|
+
]
|
|
874
|
+
}
|
|
875
|
+
},
|
|
876
|
+
required: [
|
|
877
|
+
"path",
|
|
878
|
+
"method"
|
|
879
|
+
]
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
},
|
|
883
|
+
description: "Process endpoint review task or preliminary data requests.\n\nConsolidates all endpoints generated independently and performs holistic\nreview to ensure consistency, remove duplicates, eliminate\nover-engineering, and verify REST API design principles.",
|
|
884
|
+
validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && "string" === typeof input.review && (Array.isArray(input.endpoints) && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _iu0 = input => (() => {
|
|
885
|
+
if ("getAnalysisFiles" === input.type)
|
|
886
|
+
return _io1(input);
|
|
887
|
+
else if ("getPrismaSchemas" === input.type)
|
|
888
|
+
return _io2(input);
|
|
889
|
+
else if ("complete" === input.type)
|
|
890
|
+
return _io3(input);
|
|
891
|
+
else
|
|
892
|
+
return false;
|
|
893
|
+
})(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
|
|
894
|
+
path: _path + ".thinking",
|
|
895
|
+
expected: "string",
|
|
896
|
+
value: input.thinking
|
|
897
|
+
}), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
|
|
898
|
+
path: _path + ".request",
|
|
899
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
900
|
+
value: input.request
|
|
901
|
+
})) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
|
|
902
|
+
path: _path + ".request",
|
|
903
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
904
|
+
value: input.request
|
|
905
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
|
|
906
|
+
path: _path + ".type",
|
|
907
|
+
expected: "\"getAnalysisFiles\"",
|
|
908
|
+
value: input.type
|
|
909
|
+
}), (Array.isArray(input.fileNames) || _report(_exceptionable, {
|
|
910
|
+
path: _path + ".fileNames",
|
|
911
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
912
|
+
value: input.fileNames
|
|
913
|
+
})) && ((1 <= input.fileNames.length || _report(_exceptionable, {
|
|
914
|
+
path: _path + ".fileNames",
|
|
915
|
+
expected: "Array<> & MinItems<1>",
|
|
916
|
+
value: input.fileNames
|
|
917
|
+
})) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
|
|
918
|
+
path: _path + ".fileNames[" + _index4 + "]",
|
|
919
|
+
expected: "string",
|
|
920
|
+
value: elem
|
|
921
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
922
|
+
path: _path + ".fileNames",
|
|
923
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
924
|
+
value: input.fileNames
|
|
925
|
+
})].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
|
|
926
|
+
path: _path + ".type",
|
|
927
|
+
expected: "\"getPrismaSchemas\"",
|
|
928
|
+
value: input.type
|
|
929
|
+
}), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
|
|
930
|
+
path: _path + ".schemaNames",
|
|
931
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
932
|
+
value: input.schemaNames
|
|
933
|
+
})) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
|
|
934
|
+
path: _path + ".schemaNames",
|
|
935
|
+
expected: "Array<> & MinItems<1>",
|
|
936
|
+
value: input.schemaNames
|
|
937
|
+
})) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
|
|
938
|
+
path: _path + ".schemaNames[" + _index5 + "]",
|
|
939
|
+
expected: "string",
|
|
940
|
+
value: elem
|
|
941
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
942
|
+
path: _path + ".schemaNames",
|
|
943
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
944
|
+
value: input.schemaNames
|
|
945
|
+
})].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
|
|
946
|
+
path: _path + ".type",
|
|
947
|
+
expected: "\"complete\"",
|
|
948
|
+
value: input.type
|
|
949
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
950
|
+
path: _path + ".review",
|
|
951
|
+
expected: "string",
|
|
952
|
+
value: input.review
|
|
953
|
+
}), (Array.isArray(input.endpoints) || _report(_exceptionable, {
|
|
954
|
+
path: _path + ".endpoints",
|
|
955
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
956
|
+
value: input.endpoints
|
|
957
|
+
})) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
958
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
959
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
960
|
+
value: elem
|
|
961
|
+
})) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
962
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
963
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
964
|
+
value: elem
|
|
965
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
966
|
+
path: _path + ".endpoints",
|
|
967
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
968
|
+
value: input.endpoints
|
|
969
|
+
})].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
|
|
970
|
+
path: _path + ".path",
|
|
971
|
+
expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
|
|
972
|
+
value: input.path
|
|
973
|
+
})) || _report(_exceptionable, {
|
|
974
|
+
path: _path + ".path",
|
|
975
|
+
expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
|
|
976
|
+
value: input.path
|
|
977
|
+
}), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
|
|
978
|
+
path: _path + ".method",
|
|
979
|
+
expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
|
|
980
|
+
value: input.method
|
|
981
|
+
})].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
|
|
982
|
+
if ("getAnalysisFiles" === input.type)
|
|
983
|
+
return _vo1(input, _path, true && _exceptionable);
|
|
984
|
+
else if ("getPrismaSchemas" === input.type)
|
|
985
|
+
return _vo2(input, _path, true && _exceptionable);
|
|
986
|
+
else if ("complete" === input.type)
|
|
987
|
+
return _vo3(input, _path, true && _exceptionable);
|
|
988
|
+
else
|
|
989
|
+
return _report(_exceptionable, {
|
|
990
|
+
path: _path,
|
|
991
|
+
expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointReviewApplication.IComplete)",
|
|
992
|
+
value: input
|
|
993
|
+
});
|
|
994
|
+
})(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
995
|
+
if (false === __is(input)) {
|
|
996
|
+
errors = [];
|
|
997
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
998
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
999
|
+
path: _path + "",
|
|
1000
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
1001
|
+
value: input
|
|
1002
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1003
|
+
path: _path + "",
|
|
1004
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
1005
|
+
value: input
|
|
1006
|
+
}))(input, "$input", true);
|
|
1007
|
+
const success = 0 === errors.length;
|
|
1008
|
+
return success ? {
|
|
1009
|
+
success,
|
|
1010
|
+
data: input
|
|
1011
|
+
} : {
|
|
1012
|
+
success,
|
|
1013
|
+
errors,
|
|
1014
|
+
data: input
|
|
1015
|
+
};
|
|
1016
|
+
}
|
|
1017
|
+
return {
|
|
1018
|
+
success: true,
|
|
1019
|
+
data: input
|
|
1020
|
+
};
|
|
1021
|
+
}; })()
|
|
1022
|
+
}
|
|
1023
|
+
]
|
|
1024
|
+
};
|
|
1025
|
+
__typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
|
|
1026
|
+
validate: {
|
|
1027
|
+
process: validate,
|
|
1028
|
+
},
|
|
1029
|
+
}), { equals: false }));
|
|
1030
|
+
return application;
|
|
1031
|
+
})(),
|
|
1032
|
+
gemini: (validate) => (() => {
|
|
1033
|
+
const application = {
|
|
1034
|
+
model: "gemini",
|
|
1035
|
+
options: {
|
|
1036
|
+
reference: true,
|
|
1037
|
+
separate: null
|
|
1038
|
+
},
|
|
1039
|
+
functions: [
|
|
1040
|
+
{
|
|
1041
|
+
name: "process",
|
|
1042
|
+
parameters: {
|
|
1043
|
+
description: " Request containing either preliminary data request or complete\ntask\n\n------------------------------\n\nCurrent Type: {@link IAutoBeInterfaceEndpointReviewApplication.IProps}",
|
|
1044
|
+
type: "object",
|
|
1045
|
+
properties: {
|
|
1046
|
+
thinking: {
|
|
1047
|
+
description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on your\ncurrent state and explain your reasoning:\n\nFor preliminary requests (getAnalysisFiles, getPrismaSchemas, etc.):\n- What critical information is missing that you don't already have?\n- Why do you need it specifically right now?\n- Be brief - state the gap, don't list everything you have.\n\nFor completion (complete):\n- What key assets did you acquire?\n- What did you accomplish?\n- Why is it sufficient to complete?\n- Summarize - don't enumerate every single item.\n\nThis reflection helps you avoid duplicate requests and premature completion.",
|
|
1048
|
+
type: "string"
|
|
1049
|
+
},
|
|
1050
|
+
request: {
|
|
1051
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisFiles, getPrismaSchemas) or final endpoint review (complete).\nWhen preliminary returns empty array, that type is removed from the\nunion, physically preventing repeated calls.",
|
|
1052
|
+
anyOf: [
|
|
1053
|
+
{
|
|
1054
|
+
$ref: "#/$defs/IAutoBePreliminaryGetAnalysisFiles"
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
$ref: "#/$defs/IAutoBePreliminaryGetPrismaSchemas"
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
$ref: "#/$defs/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
1061
|
+
}
|
|
1062
|
+
],
|
|
1063
|
+
"x-discriminator": {
|
|
1064
|
+
propertyName: "type",
|
|
1065
|
+
mapping: {
|
|
1066
|
+
getAnalysisFiles: "#/$defs/IAutoBePreliminaryGetAnalysisFiles",
|
|
1067
|
+
getPrismaSchemas: "#/$defs/IAutoBePreliminaryGetPrismaSchemas",
|
|
1068
|
+
complete: "#/$defs/IAutoBeInterfaceEndpointReviewApplication.IComplete"
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1072
|
+
},
|
|
1073
|
+
required: [
|
|
1074
|
+
"thinking",
|
|
1075
|
+
"request"
|
|
1076
|
+
],
|
|
1077
|
+
additionalProperties: false,
|
|
1078
|
+
$defs: {
|
|
1079
|
+
IAutoBePreliminaryGetAnalysisFiles: {
|
|
1080
|
+
description: "Request to retrieve requirements analysis files for context.\n\nThis type is used in the preliminary phase to request specific analysis files\nthat provide business requirements and domain context.",
|
|
1081
|
+
type: "object",
|
|
1082
|
+
properties: {
|
|
1083
|
+
type: {
|
|
1084
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisFiles\" indicates this is a preliminary\ndata request for analysis files.",
|
|
1085
|
+
type: "string",
|
|
1086
|
+
"enum": [
|
|
1087
|
+
"getAnalysisFiles"
|
|
1088
|
+
]
|
|
1089
|
+
},
|
|
1090
|
+
fileNames: {
|
|
1091
|
+
description: "List of analysis file names to retrieve.\n\nFile names from the analyze phase containing requirements, use cases, and\nbusiness logic documentation.\n\nCRITICAL: DO NOT request the same file names that you have already\nrequested in previous calls.",
|
|
1092
|
+
type: "array",
|
|
1093
|
+
items: {
|
|
1094
|
+
type: "string"
|
|
1095
|
+
},
|
|
1096
|
+
minItems: 1
|
|
1097
|
+
}
|
|
1098
|
+
},
|
|
1099
|
+
required: [
|
|
1100
|
+
"type",
|
|
1101
|
+
"fileNames"
|
|
1102
|
+
]
|
|
1103
|
+
},
|
|
1104
|
+
IAutoBePreliminaryGetPrismaSchemas: {
|
|
1105
|
+
description: "Request to retrieve Prisma database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific Prisma table\nschemas needed for generating type-safe API operations.",
|
|
1106
|
+
type: "object",
|
|
1107
|
+
properties: {
|
|
1108
|
+
type: {
|
|
1109
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPrismaSchemas\" indicates this is a preliminary\ndata request for Prisma schemas.",
|
|
1110
|
+
type: "string",
|
|
1111
|
+
"enum": [
|
|
1112
|
+
"getPrismaSchemas"
|
|
1113
|
+
]
|
|
1114
|
+
},
|
|
1115
|
+
schemaNames: {
|
|
1116
|
+
description: "List of Prisma table names to retrieve.\n\nTable names from the Prisma schema file representing database entities\n(e.g., \"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls.",
|
|
1117
|
+
type: "array",
|
|
1118
|
+
items: {
|
|
1119
|
+
type: "string"
|
|
1120
|
+
},
|
|
1121
|
+
minItems: 1
|
|
1122
|
+
}
|
|
1123
|
+
},
|
|
1124
|
+
required: [
|
|
1125
|
+
"type",
|
|
1126
|
+
"schemaNames"
|
|
1127
|
+
]
|
|
1128
|
+
},
|
|
1129
|
+
"IAutoBeInterfaceEndpointReviewApplication.IComplete": {
|
|
1130
|
+
description: "Request to review and refine API endpoints.\n\nExecutes comprehensive endpoint review to consolidate independently\ngenerated endpoints, ensure consistency, eliminate redundancy, and create a\nclean, maintainable API structure following REST best practices.",
|
|
1131
|
+
type: "object",
|
|
1132
|
+
properties: {
|
|
1133
|
+
type: {
|
|
1134
|
+
description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request.",
|
|
1135
|
+
type: "string",
|
|
1136
|
+
"enum": [
|
|
1137
|
+
"complete"
|
|
1138
|
+
]
|
|
1139
|
+
},
|
|
1140
|
+
review: {
|
|
1141
|
+
description: "Comprehensive review analysis of all collected endpoints.\n\nContains detailed findings from the holistic review including:\n\n- Identified inconsistencies in naming conventions\n- Duplicate endpoints that serve the same purpose\n- Over-engineered solutions that add unnecessary complexity\n- Violations of REST API design principles\n- Recommendations for improvement and standardization\n\nThe review provides actionable feedback for creating a clean, consistent,\nand maintainable API structure.",
|
|
1142
|
+
type: "string"
|
|
1143
|
+
},
|
|
1144
|
+
endpoints: {
|
|
1145
|
+
description: "Refined collection of API endpoints after review and cleanup.\n\nThe final optimized set of endpoints after:\n\n- Removing duplicates and redundant endpoints\n- Standardizing naming conventions across all paths\n- Simplifying over-engineered solutions\n- Ensuring consistent REST patterns\n- Aligning HTTP methods with their semantic meanings\n\nThis collection represents the production-ready API structure that\nbalances functionality with simplicity and maintainability.",
|
|
1146
|
+
type: "array",
|
|
1147
|
+
items: {
|
|
1148
|
+
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
},
|
|
1152
|
+
required: [
|
|
1153
|
+
"type",
|
|
1154
|
+
"review",
|
|
1155
|
+
"endpoints"
|
|
1156
|
+
]
|
|
1157
|
+
},
|
|
1158
|
+
"AutoBeOpenApi.IEndpoint": {
|
|
1159
|
+
description: "API endpoint information.",
|
|
1160
|
+
type: "object",
|
|
1161
|
+
properties: {
|
|
1162
|
+
path: {
|
|
1163
|
+
description: "HTTP path of the API operation.\n\nThe URL path for accessing this API operation, using path parameters\nenclosed in curly braces (e.g., `/shoppings/customers/sales/{saleId}`).\n\nIt must be corresponded to the {@link parameters path parameters}.\n\nThe path structure should clearly indicate which database entity this\noperation is manipulating, helping to ensure all entities have\nappropriate API coverage.\n\nPath validation rules:\n\n- Must start with a forward slash (/)\n- Can contain only: letters (a-z, A-Z), numbers (0-9), forward slashes (/),\n curly braces for parameters ({paramName}), hyphens (-), and underscores\n (_)\n- Parameters must be enclosed in curly braces: {paramName}\n- Resource names should be in camelCase\n- No quotes, spaces, or invalid special characters allowed\n- No domain or role-based prefixes\n\nValid examples:\n\n- \"/users\"\n- \"/users/{userId}\"\n- \"/articles/{articleId}/comments\"\n- \"/attachmentFiles\"\n- \"/orders/{orderId}/items/{itemId}\"\n\nInvalid examples:\n\n- \"'/users'\" (contains quotes)\n- \"/user profile\" (contains space)\n- \"/users/[userId]\" (wrong bracket format)\n- \"/admin/users\" (role prefix)\n- \"/api/v1/users\" (API prefix)",
|
|
1164
|
+
type: "string",
|
|
1165
|
+
pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
|
|
1166
|
+
},
|
|
1167
|
+
method: {
|
|
1168
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\",\nnot \"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",
|
|
1169
|
+
type: "string",
|
|
1170
|
+
"enum": [
|
|
1171
|
+
"get",
|
|
1172
|
+
"post",
|
|
1173
|
+
"put",
|
|
1174
|
+
"delete",
|
|
1175
|
+
"patch"
|
|
1176
|
+
]
|
|
1177
|
+
}
|
|
1178
|
+
},
|
|
1179
|
+
required: [
|
|
1180
|
+
"path",
|
|
1181
|
+
"method"
|
|
1182
|
+
]
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
},
|
|
1186
|
+
description: "Process endpoint review task or preliminary data requests.\n\nConsolidates all endpoints generated independently and performs holistic\nreview to ensure consistency, remove duplicates, eliminate\nover-engineering, and verify REST API design principles.",
|
|
1187
|
+
validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisFiles" === input.type && (Array.isArray(input.fileNames) && (1 <= input.fileNames.length && input.fileNames.every(elem => "string" === typeof elem))); const _io2 = input => "getPrismaSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "complete" === input.type && "string" === typeof input.review && (Array.isArray(input.endpoints) && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _iu0 = input => (() => {
|
|
1188
|
+
if ("getAnalysisFiles" === input.type)
|
|
1189
|
+
return _io1(input);
|
|
1190
|
+
else if ("getPrismaSchemas" === input.type)
|
|
1191
|
+
return _io2(input);
|
|
1192
|
+
else if ("complete" === input.type)
|
|
1193
|
+
return _io3(input);
|
|
1194
|
+
else
|
|
1195
|
+
return false;
|
|
1196
|
+
})(); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
|
|
1197
|
+
path: _path + ".thinking",
|
|
1198
|
+
expected: "string",
|
|
1199
|
+
value: input.thinking
|
|
1200
|
+
}), ("object" === typeof input.request && null !== input.request || _report(_exceptionable, {
|
|
1201
|
+
path: _path + ".request",
|
|
1202
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
1203
|
+
value: input.request
|
|
1204
|
+
})) && _vu0(input.request, _path + ".request", true && _exceptionable) || _report(_exceptionable, {
|
|
1205
|
+
path: _path + ".request",
|
|
1206
|
+
expected: "(IAutoBeInterfaceEndpointReviewApplication.IComplete | IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas)",
|
|
1207
|
+
value: input.request
|
|
1208
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["getAnalysisFiles" === input.type || _report(_exceptionable, {
|
|
1209
|
+
path: _path + ".type",
|
|
1210
|
+
expected: "\"getAnalysisFiles\"",
|
|
1211
|
+
value: input.type
|
|
1212
|
+
}), (Array.isArray(input.fileNames) || _report(_exceptionable, {
|
|
1213
|
+
path: _path + ".fileNames",
|
|
1214
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
1215
|
+
value: input.fileNames
|
|
1216
|
+
})) && ((1 <= input.fileNames.length || _report(_exceptionable, {
|
|
1217
|
+
path: _path + ".fileNames",
|
|
1218
|
+
expected: "Array<> & MinItems<1>",
|
|
1219
|
+
value: input.fileNames
|
|
1220
|
+
})) && input.fileNames.map((elem, _index4) => "string" === typeof elem || _report(_exceptionable, {
|
|
1221
|
+
path: _path + ".fileNames[" + _index4 + "]",
|
|
1222
|
+
expected: "string",
|
|
1223
|
+
value: elem
|
|
1224
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
1225
|
+
path: _path + ".fileNames",
|
|
1226
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
1227
|
+
value: input.fileNames
|
|
1228
|
+
})].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["getPrismaSchemas" === input.type || _report(_exceptionable, {
|
|
1229
|
+
path: _path + ".type",
|
|
1230
|
+
expected: "\"getPrismaSchemas\"",
|
|
1231
|
+
value: input.type
|
|
1232
|
+
}), (Array.isArray(input.schemaNames) || _report(_exceptionable, {
|
|
1233
|
+
path: _path + ".schemaNames",
|
|
1234
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
1235
|
+
value: input.schemaNames
|
|
1236
|
+
})) && ((1 <= input.schemaNames.length || _report(_exceptionable, {
|
|
1237
|
+
path: _path + ".schemaNames",
|
|
1238
|
+
expected: "Array<> & MinItems<1>",
|
|
1239
|
+
value: input.schemaNames
|
|
1240
|
+
})) && input.schemaNames.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
|
|
1241
|
+
path: _path + ".schemaNames[" + _index5 + "]",
|
|
1242
|
+
expected: "string",
|
|
1243
|
+
value: elem
|
|
1244
|
+
})).every(flag => flag)) || _report(_exceptionable, {
|
|
1245
|
+
path: _path + ".schemaNames",
|
|
1246
|
+
expected: "(Array<string> & MinItems<1>)",
|
|
1247
|
+
value: input.schemaNames
|
|
1248
|
+
})].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["complete" === input.type || _report(_exceptionable, {
|
|
1249
|
+
path: _path + ".type",
|
|
1250
|
+
expected: "\"complete\"",
|
|
1251
|
+
value: input.type
|
|
1252
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
1253
|
+
path: _path + ".review",
|
|
1254
|
+
expected: "string",
|
|
1255
|
+
value: input.review
|
|
1256
|
+
}), (Array.isArray(input.endpoints) || _report(_exceptionable, {
|
|
1257
|
+
path: _path + ".endpoints",
|
|
1258
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
1259
|
+
value: input.endpoints
|
|
1260
|
+
})) && input.endpoints.map((elem, _index6) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
1261
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
1262
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
1263
|
+
value: elem
|
|
1264
|
+
})) && _vo4(elem, _path + ".endpoints[" + _index6 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
1265
|
+
path: _path + ".endpoints[" + _index6 + "]",
|
|
1266
|
+
expected: "AutoBeOpenApi.IEndpoint",
|
|
1267
|
+
value: elem
|
|
1268
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
1269
|
+
path: _path + ".endpoints",
|
|
1270
|
+
expected: "Array<AutoBeOpenApi.IEndpoint>",
|
|
1271
|
+
value: input.endpoints
|
|
1272
|
+
})].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.path && (RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) || _report(_exceptionable, {
|
|
1273
|
+
path: _path + ".path",
|
|
1274
|
+
expected: "string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">",
|
|
1275
|
+
value: input.path
|
|
1276
|
+
})) || _report(_exceptionable, {
|
|
1277
|
+
path: _path + ".path",
|
|
1278
|
+
expected: "(string & Pattern<\"^\\\\/[a-zA-Z0-9\\\\/_{}.-]*$\">)",
|
|
1279
|
+
value: input.path
|
|
1280
|
+
}), "get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method || _report(_exceptionable, {
|
|
1281
|
+
path: _path + ".method",
|
|
1282
|
+
expected: "(\"delete\" | \"get\" | \"patch\" | \"post\" | \"put\")",
|
|
1283
|
+
value: input.method
|
|
1284
|
+
})].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
|
|
1285
|
+
if ("getAnalysisFiles" === input.type)
|
|
1286
|
+
return _vo1(input, _path, true && _exceptionable);
|
|
1287
|
+
else if ("getPrismaSchemas" === input.type)
|
|
1288
|
+
return _vo2(input, _path, true && _exceptionable);
|
|
1289
|
+
else if ("complete" === input.type)
|
|
1290
|
+
return _vo3(input, _path, true && _exceptionable);
|
|
1291
|
+
else
|
|
1292
|
+
return _report(_exceptionable, {
|
|
1293
|
+
path: _path,
|
|
1294
|
+
expected: "(IAutoBePreliminaryGetAnalysisFiles | IAutoBePreliminaryGetPrismaSchemas | IAutoBeInterfaceEndpointReviewApplication.IComplete)",
|
|
1295
|
+
value: input
|
|
1296
|
+
});
|
|
1297
|
+
})(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
1298
|
+
if (false === __is(input)) {
|
|
1299
|
+
errors = [];
|
|
1300
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
1301
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
1302
|
+
path: _path + "",
|
|
1303
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
1304
|
+
value: input
|
|
1305
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1306
|
+
path: _path + "",
|
|
1307
|
+
expected: "IAutoBeInterfaceEndpointReviewApplication.IProps",
|
|
1308
|
+
value: input
|
|
1309
|
+
}))(input, "$input", true);
|
|
1310
|
+
const success = 0 === errors.length;
|
|
1311
|
+
return success ? {
|
|
1312
|
+
success,
|
|
1313
|
+
data: input
|
|
1314
|
+
} : {
|
|
1315
|
+
success,
|
|
1316
|
+
errors,
|
|
1317
|
+
data: input
|
|
1318
|
+
};
|
|
1319
|
+
}
|
|
1320
|
+
return {
|
|
1321
|
+
success: true,
|
|
1322
|
+
data: input
|
|
1323
|
+
};
|
|
1324
|
+
}; })()
|
|
1325
|
+
}
|
|
1326
|
+
]
|
|
1327
|
+
};
|
|
1328
|
+
__typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
|
|
1329
|
+
validate: {
|
|
1330
|
+
process: validate,
|
|
1331
|
+
},
|
|
1332
|
+
}), { equals: false }));
|
|
1333
|
+
return application;
|
|
1334
|
+
})(),
|
|
1335
|
+
};
|
|
1336
|
+
const SOURCE = "interfaceEndpointReview";
|
|
1337
|
+
//# sourceMappingURL=orchestrateInterfaceEndpointReview.js.map
|