@autobe/agent 0.30.4-dev.20260324 → 0.30.5

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.
Files changed (221) hide show
  1. package/LICENSE +661 -661
  2. package/lib/constants/AutoBeSystemPromptConstant.d.ts +5 -4
  3. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  4. package/lib/describe/image/orchestrateImageDescribeDraft.js +6 -6
  5. package/lib/describe/image/structures/IAutoBeImageDescribeDraftApplication.d.ts +12 -63
  6. package/lib/index.mjs +2918 -2842
  7. package/lib/index.mjs.map +1 -1
  8. package/lib/orchestrate/analyze/orchestrateAnalyzeExtractDecisions.js +8 -8
  9. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +36 -37
  10. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  11. package/lib/orchestrate/analyze/orchestrateAnalyzeScenarioReview.js +7 -7
  12. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js +55 -42
  13. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js.map +1 -1
  14. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js +67 -54
  15. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js.map +1 -1
  16. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js +24 -25
  17. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js.map +1 -1
  18. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js +24 -25
  19. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js.map +1 -1
  20. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js +30 -31
  21. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js.map +1 -1
  22. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeExtractDecisionsApplication.d.ts +14 -52
  23. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +23 -96
  24. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.d.ts +12 -40
  25. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.d.ts +30 -88
  26. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.d.ts +35 -94
  27. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.d.ts +23 -93
  28. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.d.ts +15 -88
  29. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js +76 -31
  30. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js.map +1 -1
  31. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +7 -7
  32. package/lib/orchestrate/common/structures/IAnalysisSectionEntry.d.ts +2 -8
  33. package/lib/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.d.ts +8 -50
  34. package/lib/orchestrate/common/structures/IAutoBePreliminaryCollection.d.ts +1 -9
  35. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.d.ts +4 -23
  36. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.d.ts +3 -21
  37. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.d.ts +4 -22
  38. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.d.ts +4 -22
  39. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.d.ts +5 -17
  40. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.d.ts +7 -76
  41. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.d.ts +6 -89
  42. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.d.ts +7 -93
  43. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.d.ts +3 -22
  44. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.d.ts +3 -22
  45. package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js +114 -139
  46. package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js.map +1 -1
  47. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +90 -91
  48. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js.map +1 -1
  49. package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js +58 -59
  50. package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js.map +1 -1
  51. package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +58 -59
  52. package/lib/orchestrate/interface/orchestrateInterfaceGroup.js.map +1 -1
  53. package/lib/orchestrate/interface/orchestrateInterfaceOperation.js +108 -132
  54. package/lib/orchestrate/interface/orchestrateInterfaceOperation.js.map +1 -1
  55. package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js +72 -72
  56. package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +76 -77
  57. package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js.map +1 -1
  58. package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js +130 -159
  59. package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js.map +1 -1
  60. package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js +126 -155
  61. package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js.map +1 -1
  62. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js +114 -142
  63. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js.map +1 -1
  64. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +5 -5
  65. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +100 -129
  66. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
  67. package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js +120 -149
  68. package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js.map +1 -1
  69. package/lib/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.d.ts +10 -97
  70. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.d.ts +14 -83
  71. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.d.ts +12 -90
  72. package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +12 -80
  73. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +21 -116
  74. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.d.ts +24 -112
  75. package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.d.ts +11 -83
  76. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +11 -76
  77. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.d.ts +18 -96
  78. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.d.ts +11 -76
  79. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.d.ts +25 -107
  80. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.d.ts +5 -31
  81. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.d.ts +6 -42
  82. package/lib/orchestrate/interface/utils/AutoBeJsonSchemaValidator.js +283 -283
  83. package/lib/orchestrate/prisma/orchestratePrismaAuthorization.js +41 -41
  84. package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js +62 -63
  85. package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js.map +1 -1
  86. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +40 -41
  87. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  88. package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js +60 -61
  89. package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js.map +1 -1
  90. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +112 -116
  91. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  92. package/lib/orchestrate/prisma/orchestratePrismaGroup.js +48 -49
  93. package/lib/orchestrate/prisma/orchestratePrismaGroup.js.map +1 -1
  94. package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js +70 -71
  95. package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js.map +1 -1
  96. package/lib/orchestrate/prisma/orchestratePrismaSchema.js +118 -122
  97. package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +1 -1
  98. package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js +126 -131
  99. package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js.map +1 -1
  100. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.d.ts +22 -99
  101. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.d.ts +12 -109
  102. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.d.ts +14 -100
  103. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.d.ts +15 -108
  104. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.d.ts +24 -106
  105. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.d.ts +13 -76
  106. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.d.ts +13 -111
  107. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.d.ts +26 -97
  108. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.d.ts +16 -93
  109. package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js +1 -1
  110. package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js.map +1 -1
  111. package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js +1 -1
  112. package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js.map +1 -1
  113. package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js +20 -2
  114. package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js.map +1 -1
  115. package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js +22 -2
  116. package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js.map +1 -1
  117. package/lib/orchestrate/realize/internal/orchestrateRealizeCorrectCasting.js +7 -7
  118. package/lib/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.js +86 -6
  119. package/lib/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.js.map +1 -1
  120. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +38 -38
  121. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +34 -34
  122. package/lib/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.js +38 -38
  123. package/lib/orchestrate/realize/orchestrateRealizeCollectorPlan.js +54 -54
  124. package/lib/orchestrate/realize/orchestrateRealizeCollectorWrite.js +36 -36
  125. package/lib/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.js +44 -44
  126. package/lib/orchestrate/realize/orchestrateRealizeOperationWrite.js +42 -42
  127. package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.js +1 -0
  128. package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.js.map +1 -1
  129. package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.js +46 -46
  130. package/lib/orchestrate/realize/orchestrateRealizeTransformerPlan.js +36 -36
  131. package/lib/orchestrate/realize/orchestrateRealizeTransformerWrite.js +44 -44
  132. package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.d.ts +18 -0
  133. package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js +167 -8
  134. package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js.map +1 -1
  135. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +17 -71
  136. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.d.ts +32 -92
  137. package/lib/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.d.ts +32 -114
  138. package/lib/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.d.ts +29 -106
  139. package/lib/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.d.ts +38 -131
  140. package/lib/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.d.ts +16 -71
  141. package/lib/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.d.ts +16 -73
  142. package/lib/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.d.ts +37 -155
  143. package/lib/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.d.ts +25 -88
  144. package/lib/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.d.ts +48 -181
  145. package/lib/orchestrate/realize/utils/generateTS2339Hints.d.ts +5 -3
  146. package/lib/orchestrate/realize/utils/generateTS2339Hints.js +37 -19
  147. package/lib/orchestrate/realize/utils/generateTS2339Hints.js.map +1 -1
  148. package/lib/orchestrate/test/histories/transformTestOperationWriteHistory.js +2 -2
  149. package/lib/orchestrate/test/orchestrateTestScenario.js +22 -22
  150. package/lib/orchestrate/test/orchestrateTestScenarioReview.js +22 -22
  151. package/package.json +5 -5
  152. package/src/AutoBeMockAgent.ts +283 -283
  153. package/src/constants/AutoBeSystemPromptConstant.ts +5 -4
  154. package/src/describe/image/structures/IAutoBeImageDescribeDraftApplication.ts +12 -63
  155. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeExtractDecisionsApplication.ts +14 -52
  156. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +23 -96
  157. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.ts +12 -40
  158. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.ts +30 -88
  159. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.ts +35 -94
  160. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.ts +23 -93
  161. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.ts +15 -88
  162. package/src/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.ts +92 -31
  163. package/src/orchestrate/common/structures/IAnalysisSectionEntry.ts +2 -8
  164. package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +8 -50
  165. package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +1 -9
  166. package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.ts +4 -23
  167. package/src/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.ts +3 -21
  168. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +4 -22
  169. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +4 -22
  170. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.ts +5 -17
  171. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.ts +7 -76
  172. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.ts +6 -89
  173. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.ts +7 -93
  174. package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.ts +3 -22
  175. package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.ts +3 -22
  176. package/src/orchestrate/interface/orchestrateInterfaceSchemaRefine.ts +291 -291
  177. package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +309 -309
  178. package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.ts +10 -97
  179. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +14 -83
  180. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.ts +12 -90
  181. package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +12 -80
  182. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +21 -116
  183. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.ts +24 -112
  184. package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +11 -83
  185. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +11 -76
  186. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.ts +18 -96
  187. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.ts +11 -76
  188. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.ts +25 -107
  189. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.ts +5 -31
  190. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.ts +6 -42
  191. package/src/orchestrate/interface/utils/AutoBeJsonSchemaValidator.ts +763 -763
  192. package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.ts +22 -99
  193. package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.ts +12 -109
  194. package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.ts +14 -100
  195. package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.ts +15 -108
  196. package/src/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.ts +24 -106
  197. package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.ts +13 -76
  198. package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.ts +13 -111
  199. package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.ts +26 -97
  200. package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.ts +16 -93
  201. package/src/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.ts +21 -1
  202. package/src/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.ts +26 -4
  203. package/src/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.ts +125 -9
  204. package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.ts +1 -0
  205. package/src/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.ts +210 -7
  206. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +17 -71
  207. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.ts +32 -92
  208. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.ts +32 -114
  209. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.ts +29 -106
  210. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.ts +38 -131
  211. package/src/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.ts +16 -71
  212. package/src/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.ts +16 -73
  213. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.ts +37 -155
  214. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.ts +25 -88
  215. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.ts +48 -181
  216. package/src/orchestrate/realize/utils/generateTS2339Hints.ts +39 -19
  217. package/src/orchestrate/test/experimental/orchestrateTestCorrect.ast +237 -237
  218. package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +322 -322
  219. package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +52 -52
  220. package/src/structures/IAutoBeVendor.ts +127 -127
  221. package/README.md +0 -261
@@ -1,309 +1,309 @@
1
- import { IAgenticaController } from "@agentica/core";
2
- import {
3
- AutoBeDatabase,
4
- AutoBeEventSource,
5
- AutoBeInterfaceSchemaReviewEvent,
6
- // AutoBeInterfaceSchemaReviewEvent,
7
- AutoBeOpenApi,
8
- AutoBeProgressEventBase,
9
- } from "@autobe/interface";
10
- import { AutoBeOpenApiTypeChecker } from "@autobe/utils";
11
- import { IPointer } from "tstl";
12
- import typia, { ILlmApplication, IValidation } from "typia";
13
- import { v7 } from "uuid";
14
-
15
- import { AutoBeContext } from "../../context/AutoBeContext";
16
- import { buildAnalysisContextSections } from "../../utils/RAGRetrieval";
17
- import { executeCachedBatch } from "../../utils/executeCachedBatch";
18
- import { getEmbedder } from "../../utils/getEmbedder";
19
- import { AutoBePreliminaryController } from "../common/AutoBePreliminaryController";
20
- import { convertToSectionEntries } from "../common/internal/convertToSectionEntries";
21
- import { IAnalysisSectionEntry } from "../common/structures/IAnalysisSectionEntry";
22
- import { AutoBeDatabaseModelProgrammer } from "../prisma/programmers/AutoBeDatabaseModelProgrammer";
23
- import { transformInterfaceSchemaReviewHistory } from "./histories/transformInterfaceSchemaReviewHistory";
24
- import { AutoBeInterfaceSchemaProgrammer } from "./programmers/AutoBeInterfaceSchemaProgrammer";
25
- import { AutoBeInterfaceSchemaReviewProgrammer } from "./programmers/AutoBeInterfaceSchemaReviewProgrammer";
26
- import { IAutoBeInterfaceSchemaReviewApplication } from "./structures/IAutoBeInterfaceSchemaReviewApplication";
27
- import { AutoBeJsonSchemaFactory } from "./utils/AutoBeJsonSchemaFactory";
28
- import { AutoBeJsonSchemaValidator } from "./utils/AutoBeJsonSchemaValidator";
29
- import { fulfillJsonSchemaErrorMessages } from "./utils/fulfillJsonSchemaErrorMessages";
30
-
31
- export async function orchestrateInterfaceSchemaReview(
32
- ctx: AutoBeContext,
33
- props: {
34
- document: AutoBeOpenApi.IDocument;
35
- schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>;
36
- instruction: string;
37
- progress: AutoBeProgressEventBase;
38
- },
39
- ): Promise<Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>> {
40
- // Filter to only process object-type schemas (non-preset and object type)
41
- const typeNames: string[] = Object.entries(props.schemas)
42
- .filter(
43
- ([k, v]) =>
44
- AutoBeJsonSchemaValidator.isPreset(k) === false &&
45
- AutoBeOpenApiTypeChecker.isObject(v),
46
- )
47
- .map(([k]) => k);
48
- const x: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive> = {};
49
- await executeCachedBatch(
50
- ctx,
51
- typeNames.map((it) => async (promptCacheKey) => {
52
- const predicate = (key: string) =>
53
- key === it ||
54
- (AutoBeJsonSchemaValidator.isPage(key) &&
55
- AutoBeJsonSchemaFactory.getPageName(key) === it);
56
- const reviewOperations: AutoBeOpenApi.IOperation[] =
57
- props.document.operations.filter(
58
- (op) =>
59
- (op.requestBody && predicate(op.requestBody.typeName)) ||
60
- (op.responseBody && predicate(op.responseBody.typeName)),
61
- );
62
- try {
63
- const value: AutoBeOpenApi.IJsonSchemaDescriptive = props.schemas[it];
64
- if (AutoBeOpenApiTypeChecker.isObject(value) === false) {
65
- ++props.progress.completed;
66
- return;
67
- }
68
- const reviewed: AutoBeOpenApi.IJsonSchemaDescriptive.IObject =
69
- await process(ctx, {
70
- instruction: props.instruction,
71
- document: props.document,
72
- typeName: it,
73
- reviewOperations,
74
- reviewSchema: value,
75
- progress: props.progress,
76
- promptCacheKey,
77
- });
78
- x[it] = reviewed;
79
- } catch (error) {
80
- console.log("interfaceSchemaReview failure", it, error);
81
- --props.progress.total;
82
- }
83
- }),
84
- );
85
- return x;
86
- }
87
-
88
- async function process(
89
- ctx: AutoBeContext,
90
- props: {
91
- instruction: string;
92
- document: AutoBeOpenApi.IDocument;
93
- typeName: string;
94
- reviewOperations: AutoBeOpenApi.IOperation[];
95
- reviewSchema: AutoBeOpenApi.IJsonSchemaDescriptive.IObject;
96
- progress: AutoBeProgressEventBase;
97
- promptCacheKey: string;
98
- },
99
- ): Promise<AutoBeOpenApi.IJsonSchemaDescriptive.IObject> {
100
- const allSections: IAnalysisSectionEntry[] = convertToSectionEntries(
101
- ctx.state().analyze?.files ?? [],
102
- );
103
-
104
- const schemaNames = [props.typeName];
105
- const opSummaries = props.reviewOperations
106
- .map((op) => `${op.method} ${op.path}: ${op.name}`)
107
- .join("\n");
108
- const queryText: string = `${schemaNames.join(", ")}\n${opSummaries}\n${props.instruction}`;
109
-
110
- const ragSections: IAnalysisSectionEntry[] =
111
- await buildAnalysisContextSections(
112
- getEmbedder(),
113
- allSections,
114
- queryText,
115
- "TOPK",
116
- { log: false, logPrefix: "interfaceSchemaReview" },
117
- );
118
-
119
- const preliminary: AutoBePreliminaryController<
120
- | "analysisSections"
121
- | "databaseSchemas"
122
- | "interfaceOperations"
123
- | "interfaceSchemas"
124
- | "previousAnalysisSections"
125
- | "previousDatabaseSchemas"
126
- | "previousInterfaceOperations"
127
- | "previousInterfaceSchemas"
128
- > = new AutoBePreliminaryController({
129
- application:
130
- typia.json.application<IAutoBeInterfaceSchemaReviewApplication>(),
131
- source: SOURCE,
132
- kinds: [
133
- "analysisSections",
134
- "previousAnalysisSections",
135
- "databaseSchemas",
136
- "previousDatabaseSchemas",
137
- "interfaceOperations",
138
- "previousInterfaceOperations",
139
- "interfaceSchemas",
140
- "previousInterfaceSchemas",
141
- ],
142
- config: {
143
- database: "text",
144
- databaseProperty: true,
145
- },
146
- state: ctx.state(),
147
- all: {
148
- interfaceOperations: props.document.operations,
149
- interfaceSchemas: props.document.components.schemas,
150
- },
151
- local: {
152
- analysisSections: ragSections,
153
- interfaceOperations: props.reviewOperations,
154
- interfaceSchemas: { [props.typeName]: props.reviewSchema },
155
- databaseSchemas: (() => {
156
- const expected: string =
157
- props.reviewSchema["x-autobe-database-schema"] ??
158
- AutoBeInterfaceSchemaProgrammer.getDatabaseSchemaName(props.typeName);
159
- const model: AutoBeDatabase.IModel | undefined = ctx
160
- .state()
161
- .database?.result.data.files.flatMap((f) => f.models)
162
- .find((m) => m.name === expected);
163
- if (model === undefined) return [];
164
- return AutoBeDatabaseModelProgrammer.getNeighbors({
165
- application: ctx.state().database!.result.data,
166
- model,
167
- });
168
- })(),
169
- },
170
- });
171
- return await preliminary.orchestrate(ctx, async (out) => {
172
- const pointer: IPointer<IAutoBeInterfaceSchemaReviewApplication.IComplete | null> =
173
- {
174
- value: null,
175
- };
176
- const result: AutoBeContext.IResult = await ctx.conversate({
177
- source: SOURCE,
178
- controller: createController(ctx, {
179
- typeName: props.typeName,
180
- operations: props.document.operations,
181
- schema: props.reviewSchema,
182
- preliminary,
183
- pointer,
184
- }),
185
- enforceFunctionCall: true,
186
- promptCacheKey: props.promptCacheKey,
187
- ...transformInterfaceSchemaReviewHistory({
188
- state: ctx.state(),
189
- instruction: props.instruction,
190
- typeName: props.typeName,
191
- reviewOperations: props.reviewOperations,
192
- reviewSchema: props.reviewSchema,
193
- preliminary,
194
- }),
195
- });
196
- if (pointer.value === null) return out(result)(null);
197
-
198
- // Apply revises to generate the modified schema content
199
- const content: AutoBeOpenApi.IJsonSchemaDescriptive.IObject =
200
- AutoBeInterfaceSchemaReviewProgrammer.execute({
201
- schema: props.reviewSchema,
202
- revises: pointer.value.revises,
203
- });
204
- ctx.dispatch({
205
- type: SOURCE,
206
- id: v7(),
207
- typeName: props.typeName,
208
- schema: props.reviewSchema,
209
- review: pointer.value.review,
210
- excludes: pointer.value.excludes,
211
- revises: pointer.value.revises,
212
- acquisition: preliminary.getAcquisition(),
213
- metric: result.metric,
214
- tokenUsage: result.tokenUsage,
215
- step: ctx.state().analyze?.step ?? 0,
216
- total: props.progress.total,
217
- completed: ++props.progress.completed,
218
- created_at: new Date().toISOString(),
219
- } satisfies AutoBeInterfaceSchemaReviewEvent);
220
- return out(result)(content);
221
- });
222
- }
223
-
224
- function createController(
225
- ctx: AutoBeContext,
226
- props: {
227
- typeName: string;
228
- schema: AutoBeOpenApi.IJsonSchemaDescriptive.IObject;
229
- operations: AutoBeOpenApi.IOperation[];
230
- pointer: IPointer<
231
- IAutoBeInterfaceSchemaReviewApplication.IComplete | null | false
232
- >;
233
- preliminary: AutoBePreliminaryController<
234
- | "analysisSections"
235
- | "databaseSchemas"
236
- | "interfaceOperations"
237
- | "interfaceSchemas"
238
- | "previousAnalysisSections"
239
- | "previousDatabaseSchemas"
240
- | "previousInterfaceOperations"
241
- | "previousInterfaceSchemas"
242
- >;
243
- },
244
- ): IAgenticaController.IClass {
245
- const validate: Validator = (next) => {
246
- const result: IValidation<IAutoBeInterfaceSchemaReviewApplication.IProps> =
247
- typia.validate<IAutoBeInterfaceSchemaReviewApplication.IProps>(next);
248
- if (result.success === false) {
249
- fulfillJsonSchemaErrorMessages(result.errors);
250
- return result;
251
- } else if (result.data.request.type !== "complete")
252
- return props.preliminary.validate({
253
- thinking: result.data.thinking,
254
- request: result.data.request,
255
- });
256
-
257
- const errors: IValidation.IError[] = [];
258
- AutoBeInterfaceSchemaReviewProgrammer.validate({
259
- typeName: props.typeName,
260
- schema: props.schema,
261
- excludes: result.data.request.excludes,
262
- revises: result.data.request.revises,
263
- errors,
264
- path: `$input.request`,
265
- everyModels:
266
- ctx.state().database?.result.data.files.flatMap((f) => f.models) ?? [],
267
- });
268
- return errors.length
269
- ? {
270
- success: false,
271
- errors,
272
- data: result.data,
273
- }
274
- : result;
275
- };
276
-
277
- const application: ILlmApplication = props.preliminary.fixApplication(
278
- typia.llm.application<IAutoBeInterfaceSchemaReviewApplication>({
279
- validate: {
280
- process: validate,
281
- },
282
- }),
283
- );
284
- AutoBeInterfaceSchemaReviewProgrammer.fixApplication({
285
- everyModels:
286
- ctx.state().database?.result.data.files.flatMap((f) => f.models) ?? [],
287
- application,
288
- typeName: props.typeName,
289
- schema: props.schema,
290
- });
291
-
292
- return {
293
- protocol: "class",
294
- name: SOURCE,
295
- application,
296
- execute: {
297
- process: (input) => {
298
- if (input.request.type === "complete")
299
- props.pointer.value = input.request;
300
- },
301
- } satisfies IAutoBeInterfaceSchemaReviewApplication,
302
- };
303
- }
304
-
305
- type Validator = (
306
- input: unknown,
307
- ) => IValidation<IAutoBeInterfaceSchemaReviewApplication.IProps>;
308
-
309
- const SOURCE = "interfaceSchemaReview" satisfies AutoBeEventSource;
1
+ import { IAgenticaController } from "@agentica/core";
2
+ import {
3
+ AutoBeDatabase,
4
+ AutoBeEventSource,
5
+ AutoBeInterfaceSchemaReviewEvent,
6
+ // AutoBeInterfaceSchemaReviewEvent,
7
+ AutoBeOpenApi,
8
+ AutoBeProgressEventBase,
9
+ } from "@autobe/interface";
10
+ import { AutoBeOpenApiTypeChecker } from "@autobe/utils";
11
+ import { IPointer } from "tstl";
12
+ import typia, { ILlmApplication, IValidation } from "typia";
13
+ import { v7 } from "uuid";
14
+
15
+ import { AutoBeContext } from "../../context/AutoBeContext";
16
+ import { buildAnalysisContextSections } from "../../utils/RAGRetrieval";
17
+ import { executeCachedBatch } from "../../utils/executeCachedBatch";
18
+ import { getEmbedder } from "../../utils/getEmbedder";
19
+ import { AutoBePreliminaryController } from "../common/AutoBePreliminaryController";
20
+ import { convertToSectionEntries } from "../common/internal/convertToSectionEntries";
21
+ import { IAnalysisSectionEntry } from "../common/structures/IAnalysisSectionEntry";
22
+ import { AutoBeDatabaseModelProgrammer } from "../prisma/programmers/AutoBeDatabaseModelProgrammer";
23
+ import { transformInterfaceSchemaReviewHistory } from "./histories/transformInterfaceSchemaReviewHistory";
24
+ import { AutoBeInterfaceSchemaProgrammer } from "./programmers/AutoBeInterfaceSchemaProgrammer";
25
+ import { AutoBeInterfaceSchemaReviewProgrammer } from "./programmers/AutoBeInterfaceSchemaReviewProgrammer";
26
+ import { IAutoBeInterfaceSchemaReviewApplication } from "./structures/IAutoBeInterfaceSchemaReviewApplication";
27
+ import { AutoBeJsonSchemaFactory } from "./utils/AutoBeJsonSchemaFactory";
28
+ import { AutoBeJsonSchemaValidator } from "./utils/AutoBeJsonSchemaValidator";
29
+ import { fulfillJsonSchemaErrorMessages } from "./utils/fulfillJsonSchemaErrorMessages";
30
+
31
+ export async function orchestrateInterfaceSchemaReview(
32
+ ctx: AutoBeContext,
33
+ props: {
34
+ document: AutoBeOpenApi.IDocument;
35
+ schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>;
36
+ instruction: string;
37
+ progress: AutoBeProgressEventBase;
38
+ },
39
+ ): Promise<Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>> {
40
+ // Filter to only process object-type schemas (non-preset and object type)
41
+ const typeNames: string[] = Object.entries(props.schemas)
42
+ .filter(
43
+ ([k, v]) =>
44
+ AutoBeJsonSchemaValidator.isPreset(k) === false &&
45
+ AutoBeOpenApiTypeChecker.isObject(v),
46
+ )
47
+ .map(([k]) => k);
48
+ const x: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive> = {};
49
+ await executeCachedBatch(
50
+ ctx,
51
+ typeNames.map((it) => async (promptCacheKey) => {
52
+ const predicate = (key: string) =>
53
+ key === it ||
54
+ (AutoBeJsonSchemaValidator.isPage(key) &&
55
+ AutoBeJsonSchemaFactory.getPageName(key) === it);
56
+ const reviewOperations: AutoBeOpenApi.IOperation[] =
57
+ props.document.operations.filter(
58
+ (op) =>
59
+ (op.requestBody && predicate(op.requestBody.typeName)) ||
60
+ (op.responseBody && predicate(op.responseBody.typeName)),
61
+ );
62
+ try {
63
+ const value: AutoBeOpenApi.IJsonSchemaDescriptive = props.schemas[it];
64
+ if (AutoBeOpenApiTypeChecker.isObject(value) === false) {
65
+ ++props.progress.completed;
66
+ return;
67
+ }
68
+ const reviewed: AutoBeOpenApi.IJsonSchemaDescriptive.IObject =
69
+ await process(ctx, {
70
+ instruction: props.instruction,
71
+ document: props.document,
72
+ typeName: it,
73
+ reviewOperations,
74
+ reviewSchema: value,
75
+ progress: props.progress,
76
+ promptCacheKey,
77
+ });
78
+ x[it] = reviewed;
79
+ } catch (error) {
80
+ console.log("interfaceSchemaReview failure", it, error);
81
+ --props.progress.total;
82
+ }
83
+ }),
84
+ );
85
+ return x;
86
+ }
87
+
88
+ async function process(
89
+ ctx: AutoBeContext,
90
+ props: {
91
+ instruction: string;
92
+ document: AutoBeOpenApi.IDocument;
93
+ typeName: string;
94
+ reviewOperations: AutoBeOpenApi.IOperation[];
95
+ reviewSchema: AutoBeOpenApi.IJsonSchemaDescriptive.IObject;
96
+ progress: AutoBeProgressEventBase;
97
+ promptCacheKey: string;
98
+ },
99
+ ): Promise<AutoBeOpenApi.IJsonSchemaDescriptive.IObject> {
100
+ const allSections: IAnalysisSectionEntry[] = convertToSectionEntries(
101
+ ctx.state().analyze?.files ?? [],
102
+ );
103
+
104
+ const schemaNames = [props.typeName];
105
+ const opSummaries = props.reviewOperations
106
+ .map((op) => `${op.method} ${op.path}: ${op.name}`)
107
+ .join("\n");
108
+ const queryText: string = `${schemaNames.join(", ")}\n${opSummaries}\n${props.instruction}`;
109
+
110
+ const ragSections: IAnalysisSectionEntry[] =
111
+ await buildAnalysisContextSections(
112
+ getEmbedder(),
113
+ allSections,
114
+ queryText,
115
+ "TOPK",
116
+ { log: false, logPrefix: "interfaceSchemaReview" },
117
+ );
118
+
119
+ const preliminary: AutoBePreliminaryController<
120
+ | "analysisSections"
121
+ | "databaseSchemas"
122
+ | "interfaceOperations"
123
+ | "interfaceSchemas"
124
+ | "previousAnalysisSections"
125
+ | "previousDatabaseSchemas"
126
+ | "previousInterfaceOperations"
127
+ | "previousInterfaceSchemas"
128
+ > = new AutoBePreliminaryController({
129
+ application:
130
+ typia.json.application<IAutoBeInterfaceSchemaReviewApplication>(),
131
+ source: SOURCE,
132
+ kinds: [
133
+ "analysisSections",
134
+ "previousAnalysisSections",
135
+ "databaseSchemas",
136
+ "previousDatabaseSchemas",
137
+ "interfaceOperations",
138
+ "previousInterfaceOperations",
139
+ "interfaceSchemas",
140
+ "previousInterfaceSchemas",
141
+ ],
142
+ config: {
143
+ database: "text",
144
+ databaseProperty: true,
145
+ },
146
+ state: ctx.state(),
147
+ all: {
148
+ interfaceOperations: props.document.operations,
149
+ interfaceSchemas: props.document.components.schemas,
150
+ },
151
+ local: {
152
+ analysisSections: ragSections,
153
+ interfaceOperations: props.reviewOperations,
154
+ interfaceSchemas: { [props.typeName]: props.reviewSchema },
155
+ databaseSchemas: (() => {
156
+ const expected: string =
157
+ props.reviewSchema["x-autobe-database-schema"] ??
158
+ AutoBeInterfaceSchemaProgrammer.getDatabaseSchemaName(props.typeName);
159
+ const model: AutoBeDatabase.IModel | undefined = ctx
160
+ .state()
161
+ .database?.result.data.files.flatMap((f) => f.models)
162
+ .find((m) => m.name === expected);
163
+ if (model === undefined) return [];
164
+ return AutoBeDatabaseModelProgrammer.getNeighbors({
165
+ application: ctx.state().database!.result.data,
166
+ model,
167
+ });
168
+ })(),
169
+ },
170
+ });
171
+ return await preliminary.orchestrate(ctx, async (out) => {
172
+ const pointer: IPointer<IAutoBeInterfaceSchemaReviewApplication.IComplete | null> =
173
+ {
174
+ value: null,
175
+ };
176
+ const result: AutoBeContext.IResult = await ctx.conversate({
177
+ source: SOURCE,
178
+ controller: createController(ctx, {
179
+ typeName: props.typeName,
180
+ operations: props.document.operations,
181
+ schema: props.reviewSchema,
182
+ preliminary,
183
+ pointer,
184
+ }),
185
+ enforceFunctionCall: true,
186
+ promptCacheKey: props.promptCacheKey,
187
+ ...transformInterfaceSchemaReviewHistory({
188
+ state: ctx.state(),
189
+ instruction: props.instruction,
190
+ typeName: props.typeName,
191
+ reviewOperations: props.reviewOperations,
192
+ reviewSchema: props.reviewSchema,
193
+ preliminary,
194
+ }),
195
+ });
196
+ if (pointer.value === null) return out(result)(null);
197
+
198
+ // Apply revises to generate the modified schema content
199
+ const content: AutoBeOpenApi.IJsonSchemaDescriptive.IObject =
200
+ AutoBeInterfaceSchemaReviewProgrammer.execute({
201
+ schema: props.reviewSchema,
202
+ revises: pointer.value.revises,
203
+ });
204
+ ctx.dispatch({
205
+ type: SOURCE,
206
+ id: v7(),
207
+ typeName: props.typeName,
208
+ schema: props.reviewSchema,
209
+ review: pointer.value.review,
210
+ excludes: pointer.value.excludes,
211
+ revises: pointer.value.revises,
212
+ acquisition: preliminary.getAcquisition(),
213
+ metric: result.metric,
214
+ tokenUsage: result.tokenUsage,
215
+ step: ctx.state().analyze?.step ?? 0,
216
+ total: props.progress.total,
217
+ completed: ++props.progress.completed,
218
+ created_at: new Date().toISOString(),
219
+ } satisfies AutoBeInterfaceSchemaReviewEvent);
220
+ return out(result)(content);
221
+ });
222
+ }
223
+
224
+ function createController(
225
+ ctx: AutoBeContext,
226
+ props: {
227
+ typeName: string;
228
+ schema: AutoBeOpenApi.IJsonSchemaDescriptive.IObject;
229
+ operations: AutoBeOpenApi.IOperation[];
230
+ pointer: IPointer<
231
+ IAutoBeInterfaceSchemaReviewApplication.IComplete | null | false
232
+ >;
233
+ preliminary: AutoBePreliminaryController<
234
+ | "analysisSections"
235
+ | "databaseSchemas"
236
+ | "interfaceOperations"
237
+ | "interfaceSchemas"
238
+ | "previousAnalysisSections"
239
+ | "previousDatabaseSchemas"
240
+ | "previousInterfaceOperations"
241
+ | "previousInterfaceSchemas"
242
+ >;
243
+ },
244
+ ): IAgenticaController.IClass {
245
+ const validate: Validator = (next) => {
246
+ const result: IValidation<IAutoBeInterfaceSchemaReviewApplication.IProps> =
247
+ typia.validate<IAutoBeInterfaceSchemaReviewApplication.IProps>(next);
248
+ if (result.success === false) {
249
+ fulfillJsonSchemaErrorMessages(result.errors);
250
+ return result;
251
+ } else if (result.data.request.type !== "complete")
252
+ return props.preliminary.validate({
253
+ thinking: result.data.thinking,
254
+ request: result.data.request,
255
+ });
256
+
257
+ const errors: IValidation.IError[] = [];
258
+ AutoBeInterfaceSchemaReviewProgrammer.validate({
259
+ typeName: props.typeName,
260
+ schema: props.schema,
261
+ excludes: result.data.request.excludes,
262
+ revises: result.data.request.revises,
263
+ errors,
264
+ path: `$input.request`,
265
+ everyModels:
266
+ ctx.state().database?.result.data.files.flatMap((f) => f.models) ?? [],
267
+ });
268
+ return errors.length
269
+ ? {
270
+ success: false,
271
+ errors,
272
+ data: result.data,
273
+ }
274
+ : result;
275
+ };
276
+
277
+ const application: ILlmApplication = props.preliminary.fixApplication(
278
+ typia.llm.application<IAutoBeInterfaceSchemaReviewApplication>({
279
+ validate: {
280
+ process: validate,
281
+ },
282
+ }),
283
+ );
284
+ AutoBeInterfaceSchemaReviewProgrammer.fixApplication({
285
+ everyModels:
286
+ ctx.state().database?.result.data.files.flatMap((f) => f.models) ?? [],
287
+ application,
288
+ typeName: props.typeName,
289
+ schema: props.schema,
290
+ });
291
+
292
+ return {
293
+ protocol: "class",
294
+ name: SOURCE,
295
+ application,
296
+ execute: {
297
+ process: (input) => {
298
+ if (input.request.type === "complete")
299
+ props.pointer.value = input.request;
300
+ },
301
+ } satisfies IAutoBeInterfaceSchemaReviewApplication,
302
+ };
303
+ }
304
+
305
+ type Validator = (
306
+ input: unknown,
307
+ ) => IValidation<IAutoBeInterfaceSchemaReviewApplication.IProps>;
308
+
309
+ const SOURCE = "interfaceSchemaReview" satisfies AutoBeEventSource;