@autobe/agent 0.30.4 → 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 (210) hide show
  1. package/lib/constants/AutoBeSystemPromptConstant.d.ts +5 -4
  2. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  3. package/lib/describe/image/orchestrateImageDescribeDraft.js +6 -6
  4. package/lib/describe/image/structures/IAutoBeImageDescribeDraftApplication.d.ts +12 -63
  5. package/lib/index.mjs +2918 -2842
  6. package/lib/index.mjs.map +1 -1
  7. package/lib/orchestrate/analyze/orchestrateAnalyzeExtractDecisions.js +8 -8
  8. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +36 -37
  9. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  10. package/lib/orchestrate/analyze/orchestrateAnalyzeScenarioReview.js +7 -7
  11. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js +55 -42
  12. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionCrossFileReview.js.map +1 -1
  13. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js +67 -54
  14. package/lib/orchestrate/analyze/orchestrateAnalyzeSectionReview.js.map +1 -1
  15. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js +24 -25
  16. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSection.js.map +1 -1
  17. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js +24 -25
  18. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteSectionPatch.js.map +1 -1
  19. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js +30 -31
  20. package/lib/orchestrate/analyze/orchestrateAnalyzeWriteUnit.js.map +1 -1
  21. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeExtractDecisionsApplication.d.ts +14 -52
  22. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +23 -96
  23. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.d.ts +12 -40
  24. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.d.ts +30 -88
  25. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.d.ts +35 -94
  26. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.d.ts +23 -93
  27. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.d.ts +15 -88
  28. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js +76 -31
  29. package/lib/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.js.map +1 -1
  30. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +7 -7
  31. package/lib/orchestrate/common/structures/IAnalysisSectionEntry.d.ts +2 -8
  32. package/lib/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.d.ts +8 -50
  33. package/lib/orchestrate/common/structures/IAutoBePreliminaryCollection.d.ts +1 -9
  34. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.d.ts +4 -23
  35. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.d.ts +3 -21
  36. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.d.ts +4 -22
  37. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.d.ts +4 -22
  38. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.d.ts +5 -17
  39. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.d.ts +7 -76
  40. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.d.ts +6 -89
  41. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.d.ts +7 -93
  42. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.d.ts +3 -22
  43. package/lib/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.d.ts +3 -22
  44. package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js +114 -139
  45. package/lib/orchestrate/interface/orchestrateInterfaceAuthorization.js.map +1 -1
  46. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js +90 -91
  47. package/lib/orchestrate/interface/orchestrateInterfaceEndpointReview.js.map +1 -1
  48. package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js +58 -59
  49. package/lib/orchestrate/interface/orchestrateInterfaceEndpointWrite.js.map +1 -1
  50. package/lib/orchestrate/interface/orchestrateInterfaceGroup.js +58 -59
  51. package/lib/orchestrate/interface/orchestrateInterfaceGroup.js.map +1 -1
  52. package/lib/orchestrate/interface/orchestrateInterfaceOperation.js +108 -132
  53. package/lib/orchestrate/interface/orchestrateInterfaceOperation.js.map +1 -1
  54. package/lib/orchestrate/interface/orchestrateInterfaceOperationReview.js +72 -72
  55. package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js +76 -77
  56. package/lib/orchestrate/interface/orchestrateInterfacePrerequisite.js.map +1 -1
  57. package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js +130 -159
  58. package/lib/orchestrate/interface/orchestrateInterfaceSchemaCasting.js.map +1 -1
  59. package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js +126 -155
  60. package/lib/orchestrate/interface/orchestrateInterfaceSchemaComplement.js.map +1 -1
  61. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js +114 -142
  62. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRefine.js.map +1 -1
  63. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +5 -5
  64. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +100 -129
  65. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
  66. package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js +120 -149
  67. package/lib/orchestrate/interface/orchestrateInterfaceSchemaWrite.js.map +1 -1
  68. package/lib/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.d.ts +10 -97
  69. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.d.ts +14 -83
  70. package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.d.ts +12 -90
  71. package/lib/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.d.ts +12 -80
  72. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.d.ts +21 -116
  73. package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.d.ts +24 -112
  74. package/lib/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.d.ts +11 -83
  75. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.d.ts +11 -76
  76. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.d.ts +18 -96
  77. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.d.ts +11 -76
  78. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.d.ts +25 -107
  79. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.d.ts +5 -31
  80. package/lib/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.d.ts +6 -42
  81. package/lib/orchestrate/prisma/orchestratePrismaAuthorization.js +41 -41
  82. package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js +62 -63
  83. package/lib/orchestrate/prisma/orchestratePrismaAuthorizationReview.js.map +1 -1
  84. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +40 -41
  85. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  86. package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js +60 -61
  87. package/lib/orchestrate/prisma/orchestratePrismaComponentReview.js.map +1 -1
  88. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +112 -116
  89. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  90. package/lib/orchestrate/prisma/orchestratePrismaGroup.js +48 -49
  91. package/lib/orchestrate/prisma/orchestratePrismaGroup.js.map +1 -1
  92. package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js +70 -71
  93. package/lib/orchestrate/prisma/orchestratePrismaGroupReview.js.map +1 -1
  94. package/lib/orchestrate/prisma/orchestratePrismaSchema.js +118 -122
  95. package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +1 -1
  96. package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js +126 -131
  97. package/lib/orchestrate/prisma/orchestratePrismaSchemaReview.js.map +1 -1
  98. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.d.ts +22 -99
  99. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.d.ts +12 -109
  100. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.d.ts +14 -100
  101. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.d.ts +15 -108
  102. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.d.ts +24 -106
  103. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.d.ts +13 -76
  104. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.d.ts +13 -111
  105. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.d.ts +26 -97
  106. package/lib/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.d.ts +16 -93
  107. package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js +1 -1
  108. package/lib/orchestrate/realize/histories/transformRealizeOperationCorrectHistory.js.map +1 -1
  109. package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js +1 -1
  110. package/lib/orchestrate/realize/histories/transformRealizeOperationWriteHistory.js.map +1 -1
  111. package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js +20 -2
  112. package/lib/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.js.map +1 -1
  113. package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js +22 -2
  114. package/lib/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.js.map +1 -1
  115. package/lib/orchestrate/realize/internal/orchestrateRealizeCorrectCasting.js +7 -7
  116. package/lib/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.js +86 -6
  117. package/lib/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.js.map +1 -1
  118. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +38 -38
  119. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationWrite.js +34 -34
  120. package/lib/orchestrate/realize/orchestrateRealizeCollectorCorrectOverall.js +38 -38
  121. package/lib/orchestrate/realize/orchestrateRealizeCollectorPlan.js +54 -54
  122. package/lib/orchestrate/realize/orchestrateRealizeCollectorWrite.js +36 -36
  123. package/lib/orchestrate/realize/orchestrateRealizeOperationCorrectOverall.js +44 -44
  124. package/lib/orchestrate/realize/orchestrateRealizeOperationWrite.js +42 -42
  125. package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.js +1 -0
  126. package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.js.map +1 -1
  127. package/lib/orchestrate/realize/orchestrateRealizeTransformerCorrectOverall.js +46 -46
  128. package/lib/orchestrate/realize/orchestrateRealizeTransformerPlan.js +36 -36
  129. package/lib/orchestrate/realize/orchestrateRealizeTransformerWrite.js +44 -44
  130. package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.d.ts +18 -0
  131. package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js +167 -8
  132. package/lib/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.js.map +1 -1
  133. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.d.ts +17 -71
  134. package/lib/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.d.ts +32 -92
  135. package/lib/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.d.ts +32 -114
  136. package/lib/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.d.ts +29 -106
  137. package/lib/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.d.ts +38 -131
  138. package/lib/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.d.ts +16 -71
  139. package/lib/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.d.ts +16 -73
  140. package/lib/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.d.ts +37 -155
  141. package/lib/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.d.ts +25 -88
  142. package/lib/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.d.ts +48 -181
  143. package/lib/orchestrate/realize/utils/generateTS2339Hints.d.ts +5 -3
  144. package/lib/orchestrate/realize/utils/generateTS2339Hints.js +37 -19
  145. package/lib/orchestrate/realize/utils/generateTS2339Hints.js.map +1 -1
  146. package/lib/orchestrate/test/histories/transformTestOperationWriteHistory.js +2 -2
  147. package/lib/orchestrate/test/orchestrateTestScenario.js +22 -22
  148. package/lib/orchestrate/test/orchestrateTestScenarioReview.js +22 -22
  149. package/package.json +5 -5
  150. package/src/constants/AutoBeSystemPromptConstant.ts +5 -4
  151. package/src/describe/image/structures/IAutoBeImageDescribeDraftApplication.ts +12 -63
  152. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeExtractDecisionsApplication.ts +14 -52
  153. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +23 -96
  154. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioReviewApplication.ts +12 -40
  155. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionCrossFileReviewApplication.ts +30 -88
  156. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeSectionReviewApplication.ts +35 -94
  157. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteSectionApplication.ts +23 -93
  158. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteUnitApplication.ts +15 -88
  159. package/src/orchestrate/common/histories/transformPreviousAndLatestCorrectHistory.ts +92 -31
  160. package/src/orchestrate/common/structures/IAnalysisSectionEntry.ts +2 -8
  161. package/src/orchestrate/common/structures/IAutoBeCommonCorrectCastingApplication.ts +8 -50
  162. package/src/orchestrate/common/structures/IAutoBePreliminaryCollection.ts +1 -9
  163. package/src/orchestrate/common/structures/IAutoBePreliminaryGetAnalysisSections.ts +4 -23
  164. package/src/orchestrate/common/structures/IAutoBePreliminaryGetDatabaseSchemas.ts +3 -21
  165. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceOperations.ts +4 -22
  166. package/src/orchestrate/common/structures/IAutoBePreliminaryGetInterfaceSchemas.ts +4 -22
  167. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousAnalysisSections.ts +5 -17
  168. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousDatabaseSchemas.ts +7 -76
  169. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceOperations.ts +6 -89
  170. package/src/orchestrate/common/structures/IAutoBePreliminaryGetPreviousInterfaceSchemas.ts +7 -93
  171. package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeCollectors.ts +3 -22
  172. package/src/orchestrate/common/structures/IAutoBePreliminaryGetRealizeTransformers.ts +3 -22
  173. package/src/orchestrate/interface/structures/IAutoBeInterfaceAuthorizationApplication.ts +10 -97
  174. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointReviewApplication.ts +14 -83
  175. package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointWriteApplication.ts +12 -90
  176. package/src/orchestrate/interface/structures/IAutoBeInterfaceGroupApplication.ts +12 -80
  177. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationApplication.ts +21 -116
  178. package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationReviewApplication.ts +24 -112
  179. package/src/orchestrate/interface/structures/IAutoBeInterfacePrerequisiteApplication.ts +11 -83
  180. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaApplication.ts +11 -76
  181. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaCastingApplication.ts +18 -96
  182. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaComplementApplication.ts +11 -76
  183. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRefineApplication.ts +25 -107
  184. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaRenameApplication.ts +5 -31
  185. package/src/orchestrate/interface/structures/IAutoBeInterfaceSchemaReviewApplication.ts +6 -42
  186. package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationApplication.ts +22 -99
  187. package/src/orchestrate/prisma/structures/IAutoBeDatabaseAuthorizationReviewApplication.ts +12 -109
  188. package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentApplication.ts +14 -100
  189. package/src/orchestrate/prisma/structures/IAutoBeDatabaseComponentReviewApplication.ts +15 -108
  190. package/src/orchestrate/prisma/structures/IAutoBeDatabaseCorrectApplication.ts +24 -106
  191. package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupApplication.ts +13 -76
  192. package/src/orchestrate/prisma/structures/IAutoBeDatabaseGroupReviewApplication.ts +13 -111
  193. package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaApplication.ts +26 -97
  194. package/src/orchestrate/prisma/structures/IAutoBeDatabaseSchemaReviewApplication.ts +16 -93
  195. package/src/orchestrate/realize/histories/transformRealizeTransformerCorrectHistory.ts +21 -1
  196. package/src/orchestrate/realize/histories/transformRealizeTransformerWriteHistory.ts +26 -4
  197. package/src/orchestrate/realize/internal/orchestrateRealizeCorrectOverall.ts +125 -9
  198. package/src/orchestrate/realize/orchestrateRealizeTransformerCorrectCasting.ts +1 -0
  199. package/src/orchestrate/realize/programmers/AutoBeRealizeTransformerProgrammer.ts +210 -7
  200. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationCorrectApplication.ts +17 -71
  201. package/src/orchestrate/realize/structures/IAutoBeRealizeAuthorizationWriteApplication.ts +32 -92
  202. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorCorrectApplication.ts +32 -114
  203. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorPlanApplication.ts +29 -106
  204. package/src/orchestrate/realize/structures/IAutoBeRealizeCollectorWriteApplication.ts +38 -131
  205. package/src/orchestrate/realize/structures/IAutoBeRealizeOperationCorrectApplication.ts +16 -71
  206. package/src/orchestrate/realize/structures/IAutoBeRealizeOperationWriteApplication.ts +16 -73
  207. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerCorrectApplication.ts +37 -155
  208. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerPlanApplication.ts +25 -88
  209. package/src/orchestrate/realize/structures/IAutoBeRealizeTransformerWriteApplication.ts +48 -181
  210. package/src/orchestrate/realize/utils/generateTS2339Hints.ts +39 -19
@@ -121,7 +121,7 @@ function process(ctx, props) {
121
121
  properties: {
122
122
  thinking: {
123
123
  type: "string",
124
- description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on\nyour current state and explain your reasoning:\n\nFor preliminary requests (getAnalysisSections, getDatabaseSchemas, etc.):\n\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\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\ncompletion."
124
+ description: "Think before you act.\n\nFor preliminary requests: what critical information is missing and why?\nBe brief \u2014 state the gap, don't list everything you have.\n\nFor completion: what key assets did you acquire, what did you accomplish,\nwhy is it sufficient? Summarize \u2014 don't enumerate every single item."
125
125
  },
126
126
  request: {
127
127
  oneOf: [
@@ -155,7 +155,7 @@ function process(ctx, props) {
155
155
  complete: "#/components/schemas/IAutoBeInterfaceOperationReviewApplication.IComplete"
156
156
  }
157
157
  },
158
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisSections, getDatabaseSchemas) or final operation review\n(complete). When preliminary returns empty array, that type is removed\nfrom the union, physically preventing repeated calls."
158
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion, physically preventing repeated calls."
159
159
  }
160
160
  },
161
161
  required: [
@@ -168,7 +168,7 @@ function process(ctx, props) {
168
168
  properties: {
169
169
  type: {
170
170
  "const": "getAnalysisSections",
171
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisSections\" indicates this is a preliminary\ndata request for individual analysis sections."
171
+ description: "Type discriminator."
172
172
  },
173
173
  sectionIds: {
174
174
  type: "array",
@@ -178,21 +178,21 @@ function process(ctx, props) {
178
178
  },
179
179
  minItems: 1,
180
180
  maxItems: 100,
181
- description: "List of section IDs to retrieve.\n\nThese are sequential integer IDs from the analysis sections catalog. Each\nID maps to a specific ### section in the requirements documents.\n\nCRITICAL: DO NOT request the same section IDs that you have already\nrequested in previous calls."
181
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls."
182
182
  }
183
183
  },
184
184
  required: [
185
185
  "type",
186
186
  "sectionIds"
187
187
  ],
188
- description: "Request to retrieve individual analysis sections by numeric ID.\n\nInstead of loading entire analysis files (~110-120KB each), this loads\nspecific ### sections (~200-600 words each) identified by integer IDs from\nthe section catalog."
188
+ description: "Request to retrieve individual analysis sections by numeric ID."
189
189
  },
190
190
  IAutoBePreliminaryGetDatabaseSchemas: {
191
191
  type: "object",
192
192
  properties: {
193
193
  type: {
194
194
  "const": "getDatabaseSchemas",
195
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getDatabaseSchemas\" indicates this is a preliminary\ndata request for database schemas."
195
+ description: "Type discriminator."
196
196
  },
197
197
  schemaNames: {
198
198
  type: "array",
@@ -200,21 +200,21 @@ function process(ctx, props) {
200
200
  type: "string"
201
201
  },
202
202
  minItems: 1,
203
- description: "List of database table names to retrieve.\n\nTable names from the database schema representing database entities (e.g.,\n\"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls."
203
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls."
204
204
  }
205
205
  },
206
206
  required: [
207
207
  "type",
208
208
  "schemaNames"
209
209
  ],
210
- description: "Request to retrieve database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific database table\nschemas needed for generating type-safe API operations."
210
+ description: "Request to retrieve database schema definitions for context."
211
211
  },
212
212
  IAutoBePreliminaryGetPreviousAnalysisSections: {
213
213
  type: "object",
214
214
  properties: {
215
215
  type: {
216
216
  "const": "getPreviousAnalysisSections",
217
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration."
217
+ description: "Type discriminator."
218
218
  },
219
219
  sectionIds: {
220
220
  type: "array",
@@ -223,21 +223,21 @@ function process(ctx, props) {
223
223
  minimum: 0
224
224
  },
225
225
  minItems: 1,
226
- description: "List of section IDs to retrieve from the previous iteration.\n\nCRITICAL: DO NOT request the same section IDs that you have already\nrequested in previous calls."
226
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls."
227
227
  }
228
228
  },
229
229
  required: [
230
230
  "type",
231
231
  "sectionIds"
232
232
  ],
233
- description: "Request to retrieve individual analysis sections from previous iteration by\nnumeric ID.\n\nSame as {@link IAutoBePreliminaryGetAnalysisSections} but for sections from\nthe previous generation cycle, enabling comparison and consistency checks."
233
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID."
234
234
  },
235
235
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
236
236
  type: "object",
237
237
  properties: {
238
238
  type: {
239
239
  "const": "getPreviousDatabaseSchemas",
240
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPreviousDatabaseSchemas\" indicates this is a\npreliminary data request for database schemas from a previous version."
240
+ description: "Type discriminator."
241
241
  },
242
242
  schemaNames: {
243
243
  type: "array",
@@ -245,21 +245,21 @@ function process(ctx, props) {
245
245
  type: "string"
246
246
  },
247
247
  minItems: 1,
248
- description: "List of database table names to retrieve from the previous version.\n\nThese are table schema names that were generated in a previous version and\nare needed as reference context for the current regeneration.\n\n**Important Notes:**\n\n- These schemas MUST exist in the previous version\n- This function is only available when a previous version exists\n- Used for reference/comparison, not for re-requesting within same execution\n- Table names are in snake_case (e.g., \"shopping_sale\", \"bbs_article\")\n\n**When This Function is Available:**\n\n- When a previous version exists\n- When user requests modifications to existing database schema\n- During correction/regeneration cycles that need previous schema context\n\n**When This Function is NOT Available:**\n\n- During initial generation (no previous version exists)\n- No previous database schemas available for this orchestration task\n\n**Example Table Names:**\n\n- \"users\", \"posts\", \"comments\"\n- \"shopping_sales\", \"shopping_orders\", \"shopping_products\"\n- \"bbs_articles\", \"bbs_article_files\""
248
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls."
249
249
  }
250
250
  },
251
251
  required: [
252
252
  "type",
253
253
  "schemaNames"
254
254
  ],
255
- description: "Request to retrieve database schemas from a previous version.\n\nThis type is used to load database schema definitions that were generated in\na **previous version** of the AutoBE generation pipeline. This is NOT about\nre-requesting schemas within the same execution, but rather accessing\nartifacts from an earlier version.\n\n**Use Case:** When regenerating or modifying the database schema based on\nuser change requests, agents need to reference the previously generated\ndatabase schemas to understand the existing database structure and what needs\nto be modified.\n\n**Key Difference from `getDatabaseSchemas`:**\n\n- `getDatabaseSchemas`: Fetches schemas from the **current version** (the\n version being generated right now)\n- `getPreviousDatabaseSchemas`: Fetches schemas from the **previous version**\n (the last successfully generated version)\n\n**Example Scenario:**\n\n Initial generation:\n - DATABASE phase creates: users, posts, comments tables\n - Generation completes successfully\n\n User: \"Add email verification status to users\"\n\n Regeneration:\n - DATABASE phase starts regeneration\n - Calls getPreviousDatabaseSchemas([\"users\"])\n \u2192 Loads the previous version of users table schema\n - Creates new version with emailVerified field added\n\n**Waterfall + Spiral Pattern:**\n\nThis aligns with AutoBE's regeneration cycles where:\n\n- Compilation failures trigger regeneration with corrections\n- User modifications trigger new versions\n- Previous schemas serve as reference for incremental changes"
255
+ description: "Request to retrieve database schemas from the previous iteration.\n\nLoads database table definitions from the last successfully generated\nversion, used as reference context during regeneration or modification\ncycles."
256
256
  },
257
257
  IAutoBePreliminaryGetPreviousInterfaceOperations: {
258
258
  type: "object",
259
259
  properties: {
260
260
  type: {
261
261
  "const": "getPreviousInterfaceOperations",
262
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPreviousInterfaceOperations\" indicates this is a\npreliminary data request for interface operations from a previous version."
262
+ description: "Type discriminator."
263
263
  },
264
264
  endpoints: {
265
265
  type: "array",
@@ -267,14 +267,14 @@ function process(ctx, props) {
267
267
  $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
268
268
  },
269
269
  minItems: 1,
270
- description: "List of API operation endpoints to retrieve from the previous version.\n\nThese are endpoint identifiers (method + path) that were generated in a\nprevious version and are needed as reference context for the current\nregeneration.\n\n**Important Notes:**\n\n- These endpoints MUST exist in the previous version\n- This function is only available when a previous version exists\n- Used for reference/comparison, not for re-requesting within same execution\n- Each endpoint is identified by: `{method: \"GET|POST|PUT|DELETE|PATCH\",\n path: \"/api/path\"}`\n\n**When This Function is Available:**\n\n- When a previous version exists\n- When user requests modifications to existing API operations\n- During correction/regeneration cycles that need previous operation context\n\n**When This Function is NOT Available:**\n\n- During initial generation (no previous version exists)\n- No previous interface operations available for this orchestration task\n\n**Endpoint Format:**\n\n- Method: HTTP verb in uppercase (e.g., \"GET\", \"POST\", \"PUT\", \"DELETE\",\n \"PATCH\")\n- Path: OpenAPI path with parameters (e.g., \"/users/{id}\", \"/posts\")\n\n**Example Endpoints:**\n\n- `{method: \"GET\", path: \"/users/{id}\"}`\n- `{method: \"POST\", path: \"/shoppings/orders\"}`\n- `{method: \"PATCH\", path: \"/bbs/articles\"}`"
270
+ description: "Endpoints to retrieve from previous iteration. DO NOT request same\nendpoints already requested in previous calls."
271
271
  }
272
272
  },
273
273
  required: [
274
274
  "type",
275
275
  "endpoints"
276
276
  ],
277
- description: "Request to retrieve interface operations from a previous version.\n\nThis type is used to load API operation definitions that were generated in a\n**previous version** of the AutoBE generation pipeline. This is NOT about\nre-requesting operations within the same execution, but rather accessing\nartifacts from an earlier version.\n\n**Use Case:** When regenerating or modifying API operations based on user\nchange requests, agents need to reference the previously generated operations\nto understand the existing API design and what needs to be modified.\n\n**Key Difference from `getInterfaceOperations`:**\n\n- `getInterfaceOperations`: Fetches operations from the **current version**\n (the version being generated right now)\n- `getPreviousInterfaceOperations`: Fetches operations from the **previous\n version** (the last successfully generated version)\n\n**Example Scenario:**\n\n Initial generation:\n - INTERFACE phase creates: GET /users, POST /users, GET /users/{id}\n - Generation completes successfully\n\n User: \"Change user creation to require email verification\"\n\n Regeneration:\n - INTERFACE phase starts regeneration\n - Calls getPreviousInterfaceOperations([{method: \"POST\", path: \"/users\"}])\n \u2192 Loads the previous version of POST /users operation\n - Creates new version with emailVerification requirement in request body\n\n**Automatic Schema Loading:**\n\nWhen operations are loaded from the previous version, their associated\nrequest/response body schemas are also referenced, providing complete context\nfor understanding the operation's data structures.\n\n**Waterfall + Spiral Pattern:**\n\nThis aligns with AutoBE's regeneration cycles where:\n\n- Compilation failures trigger regeneration with corrections\n- User modifications trigger new versions\n- Previous operations serve as reference for incremental API changes"
277
+ description: "Request to retrieve interface operations from the previous iteration.\n\nLoads API operation definitions from the last successfully generated version,\nused as reference context during regeneration or modification cycles."
278
278
  },
279
279
  "AutoBeOpenApi.IEndpoint": {
280
280
  type: "object",
@@ -282,7 +282,7 @@ function process(ctx, props) {
282
282
  path: {
283
283
  type: "string",
284
284
  pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$",
285
- 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)"
285
+ description: "HTTP path of the API operation.\n\nMust start with `/`. Parameters use curly braces: `{paramName}`. Resource\nnames in camelCase. No quotes, spaces, role prefixes (`/admin/`), or API\nversion prefixes (`/api/v1/`).\n\nAllowed characters: letters, digits, `/`, `{`, `}`, `-`, `_`, `.`"
286
286
  },
287
287
  method: {
288
288
  oneOf: [
@@ -302,7 +302,7 @@ function process(ctx, props) {
302
302
  "const": "patch"
303
303
  }
304
304
  ],
305
- 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"
305
+ description: "HTTP method (lowercase only).\n\nUse `patch` (not `get`) when a read operation needs a complex\n{@link requestBody}. `get` cannot have a request body."
306
306
  }
307
307
  },
308
308
  required: [
@@ -316,15 +316,15 @@ function process(ctx, props) {
316
316
  properties: {
317
317
  type: {
318
318
  "const": "complete",
319
- 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."
319
+ description: "Type discriminator for completion request."
320
320
  },
321
321
  review: {
322
322
  type: "string",
323
- description: "Comprehensive operation-level review findings.\n\nSystematic assessment of the operation organized by severity:\n\n- Authorization configuration issues\n- Path structure violations\n- Metadata consistency problems\n- Description accuracy issues\n\nDocuments what issues were found during review, with specific examples\nand current vs expected behavior."
323
+ description: "Operation-level review findings organized by severity."
324
324
  },
325
325
  plan: {
326
326
  type: "string",
327
- description: "Action plan for identified issues.\n\nStructured improvement strategy explaining what corrections will be\napplied and why:\n\n- What specific changes are being made\n- Why each change is necessary\n- If rejecting (returning null), why the operation cannot be fixed\n\nIf no issues found: \"No improvements required. Operation meets\nstandards.\""
327
+ description: "Action plan for corrections, or \"No improvements required. Operation\nmeets standards.\""
328
328
  },
329
329
  content: {
330
330
  oneOf: [
@@ -335,7 +335,7 @@ function process(ctx, props) {
335
335
  $ref: "#/components/schemas/IAutoBeInterfaceOperationReviewApplication.IOperation"
336
336
  }
337
337
  ],
338
- description: "Corrected operation with issues resolved, or null if operation rejected.\n\nThe agent can only modify fields present in IOperation type (description,\nrequestBody, responseBody).\n\nReturn values:\n\n- **Corrected operation**: If fixable issues were found and corrected in\n the modifiable fields\n- **null**: If operation is perfect OR if issues exist in fields not\n present in IOperation type\n\nWhen null is returned:\n\n- For perfect operations: means \"no changes needed, proceed\"\n- For failed validation: means \"reject this operation, remove from\n pipeline\"\n\nThe orchestrator will filter out null operations from the final operation\nlist."
338
+ description: "Corrected operation with fixes applied. Null when no changes are needed.\nIf issues exist in non-modifiable fields, also set to null (the `plan`\nfield should explain why)."
339
339
  }
340
340
  },
341
341
  required: [
@@ -344,18 +344,18 @@ function process(ctx, props) {
344
344
  "plan",
345
345
  "content"
346
346
  ],
347
- description: "Request to review and validate an API operation with minimal correction\npower.\n\nThis agent can ONLY modify fields present in the IOperation type. For\nissues in fields not present in IOperation, it must reject the operation by\nreturning null.\n\nThe IOperation type contains only:\n\n- Specification: Implementation guidance for Realize Agent - can fix\n implementation details, algorithm descriptions, database query logic\n- Description: API documentation for consumers - can fix soft delete\n mismatches, inappropriate security mentions, add schema references\n- RequestBody: Complete object - can modify both description and typeName to\n fix clarity issues and naming convention violations\n- ResponseBody: Complete object - can modify both description and typeName to\n fix clarity issues and naming convention violations\n\nFields not in IOperation cannot be modified - the agent must reject by\nreturning null if those fields have issues."
347
+ description: "Review and validate an API operation. Can ONLY modify IOperation fields:\n\n- `specification`: Can fix implementation details, algorithm descriptions,\n database query logic\n- `description`: Can fix soft delete mismatches, inappropriate security\n mentions, add schema references\n- `requestBody`: Can modify both description and typeName\n- `responseBody`: Can modify both description and typeName\n\nReturn null to reject if issues exist in non-modifiable fields (path,\nmethod, parameters, etc.)."
348
348
  },
349
349
  "IAutoBeInterfaceOperationReviewApplication.IOperation": {
350
350
  type: "object",
351
351
  properties: {
352
352
  specification: {
353
353
  type: "string",
354
- description: "Implementation specification for the API operation.\n\nThis is an AutoBE-internal field (not exposed in standard OpenAPI output)\nthat provides detailed implementation guidance for downstream agents\n(Realize Agent, Test Agent, etc.).\n\nInclude **HOW** this operation should be implemented:\n\n- Service layer logic and algorithm\n- Database queries and transactions involved\n- Business rules and validation logic\n- Edge cases and error handling\n- Integration with other services\n\nThis field complements the `description` field: while `description` is\nfor API consumers (Swagger UI, SDK docs), `specification` is for agents\nthat implement the operation.\n\n> MUST be written in English. Never use other languages."
354
+ description: "Internal implementation guidance for downstream agents (Realize, Test).\n\nDescribe HOW this operation should be implemented: service logic, DB\nqueries, business rules, edge cases, and error handling.\n\n> MUST be written in English. Never use other languages."
355
355
  },
356
356
  description: {
357
357
  type: "string",
358
- description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related database schema tables and columns.\nThe description should be organized into MULTIPLE PARAGRAPHS separated by\nline breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n**CRITICAL WARNING about soft delete keywords**: DO NOT use terms like\n\"soft delete\", \"soft-delete\", or similar variations in this description\nUNLESS the operation actually implements soft deletion. These keywords\ntrigger validation logic that expects a corresponding soft_delete_column\nto be specified. Only use these terms when you intend to implement soft\ndeletion (marking records as deleted without removing them from the\ndatabase).\n\nExample of problematic description: \u274C \"This would normally be a\nsoft-delete, but we intentionally perform permanent deletion here\" - This\ntriggers soft delete validation despite being a hard delete operation.\n\n> MUST be written in English. Never use other languages."
358
+ description: "Multi-paragraph description of the API operation for consumers.\n\nReference and incorporate DB schema table/column description comments.\nOrganize into multiple paragraphs covering purpose, business logic,\nrelationships, and error handling.\n\nDo NOT use \"soft delete\" / \"soft-delete\" unless the operation actually\nimplements soft deletion (triggers validation expecting\nsoft_delete_column).\n\n> MUST be written in English. Never use other languages."
359
359
  },
360
360
  responseBody: {
361
361
  oneOf: [
@@ -366,7 +366,7 @@ function process(ctx, props) {
366
366
  $ref: "#/components/schemas/AutoBeOpenApi.IResponseBody"
367
367
  }
368
368
  ],
369
- description: "Response body of the API operation.\n\nDefines the structure of the successful response data. Contains a\ndescription and schema reference for the returned data.\n\nShould be null for operations that don't return any data."
369
+ description: "Response body of the API operation, or `null` if none."
370
370
  },
371
371
  requestBody: {
372
372
  oneOf: [
@@ -377,7 +377,7 @@ function process(ctx, props) {
377
377
  $ref: "#/components/schemas/AutoBeOpenApi.IRequestBody"
378
378
  }
379
379
  ],
380
- description: "Request body of the API operation.\n\nDefines the payload structure for the request. Contains a description and\nschema reference to define the expected input data.\n\nShould be `null` for operations that don't require a request body, such\nas most \"get\" operations."
380
+ description: "Request body of the API operation, or `null` if none."
381
381
  }
382
382
  },
383
383
  required: [
@@ -386,43 +386,43 @@ function process(ctx, props) {
386
386
  "responseBody",
387
387
  "requestBody"
388
388
  ],
389
- description: "Operation with ONLY the fields that this agent can modify.\n\nThis type contains ONLY the modifiable fields. Fields not in this type\ncannot be modified - if they have issues, the agent must return null.\n\nFields in this type:\n\n- **specification**: Implementation guidance for Realize Agent - can fix\n implementation details, algorithm descriptions, database query logic\n- **description**: API documentation for consumers - can fix soft delete\n mismatches, remove inappropriate security mentions, add schema\n references\n- **requestBody**: Complete request body object (or null) - can modify both\n description and typeName to fix naming conventions or improve clarity\n- **responseBody**: Complete response body object (or null) - can modify both\n description and typeName to fix naming conventions or improve clarity"
389
+ description: "Operation subset containing only modifiable fields. Return null if\nnon-modifiable fields have issues."
390
390
  },
391
391
  "AutoBeOpenApi.IResponseBody": {
392
392
  type: "object",
393
393
  properties: {
394
394
  description: {
395
395
  type: "string",
396
- description: "Description about the response body.\n\nMake short, concise and clear description about the response body.\n\n> MUST be written in English. Never use other languages."
396
+ description: "Description of the response body.\n\n> MUST be written in English. Never use other languages."
397
397
  },
398
398
  typeName: {
399
399
  type: "string",
400
- description: "Response body's data type.\n\nSpecifies the structure of the returned data (response body), that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference} type in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nHere is the naming convention for the response body type:\n\n- `IEntityName`: Main entity with detailed information (e.g.,\n `IShoppingSale`)\n- `IEntityName.ISummary`: Simplified response version with essential\n properties\n- `IEntityName.IInvert`: Alternative view of an entity from a different\n perspective\n- `IPageIEntityName`: Paginated results container with `pagination` and\n `data` properties\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder\"\n }\n}\n```"
400
+ description: "Type name referencing a component schema.\n\nNaming convention: `IEntityName` (full), `IEntityName.ISummary`,\n`IEntityName.IInvert`, `IPageIEntityName` (paginated)."
401
401
  }
402
402
  },
403
403
  required: [
404
404
  "description",
405
405
  "typeName"
406
406
  ],
407
- description: "Response body information for OpenAPI operation.\n\nThis interface defines the structure of a successful response from an API\noperation. It provides a description of the response and a schema reference\nto define the returned data structure.\n\nThe content-type for all responses is always `application/json`. Even when\nfile downloading is required, don't use `application/octet-stream` or\n`multipart/form-data` content types. Instead, just define an URI string\nproperty in the response body schema.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"responses\": {\n \"200\": {\n \"description\": \"Order information\",\n \"content\": {\n \"application/json\": {\n \"schema\": { \"$ref\": \"#/components/schemas/IShoppingOrder\" }\n }\n }\n }\n }\n}\n```"
407
+ description: "Response body for an API operation.\n\nContent-type is always `application/json`. For file downloads, use a URI\nstring property instead of `application/octet-stream`."
408
408
  },
409
409
  "AutoBeOpenApi.IRequestBody": {
410
410
  type: "object",
411
411
  properties: {
412
412
  description: {
413
413
  type: "string",
414
- description: "Description about the request body.\n\nMake short, concise and clear description about the request body.\n\n> MUST be written in English. Never use other languages."
414
+ description: "Description of the request body.\n\n> MUST be written in English. Never use other languages."
415
415
  },
416
416
  typeName: {
417
417
  type: "string",
418
- description: "Request body type name.\n\nThis specifies the data structure expected in the request body, that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference reference}\ntype in the {@link AutoBeOpenApi.IComponents.schemas components section}\nas an {@link AutoBeOpenApi.IJsonSchema.Object object} type.\n\nHere is the naming convention for the request body type:\n\n- `IEntityName.ICreate`: Request body for creation operations (POST)\n- `IEntityName.IUpdate`: Request body for update operations (PUT)\n- `IEntityName.IRequest`: Request parameters for list operations (often\n with search/pagination)\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder.ICreate\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n}\n```"
418
+ description: "Type name referencing a component schema.\n\nNaming convention: `IEntityName.ICreate` (POST), `IEntityName.IUpdate`\n(PUT), `IEntityName.IRequest` (list/search)."
419
419
  }
420
420
  },
421
421
  required: [
422
422
  "description",
423
423
  "typeName"
424
424
  ],
425
- description: "Request body information of OpenAPI operation.\n\nThis interface defines the structure for request bodies in API routes. It\ncorresponds to the requestBody section in OpenAPI specifications, providing\nboth a description and schema reference for the request payload.\n\nThe content-type for all request bodies is always `application/json`. Even\nwhen file uploading is required, don't use `multipart/form-data` or\n`application/x-www-form-urlencoded` content types. Instead, just define an\nURI string property in the request body schema.\n\nNote that, all body schemas must be transformable to a\n{@link AutoBeOpenApi.IJsonSchema.IReference reference} type defined in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"requestBody\": {\n \"description\": \"Creation info of the order\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n }\n }\n }\n}\n```"
425
+ description: "Request body for an API operation.\n\nContent-type is always `application/json`. For file uploads, use a URI\nstring property instead of `multipart/form-data`."
426
426
  }
427
427
  }
428
428
  },
@@ -440,7 +440,7 @@ function process(ctx, props) {
440
440
  }
441
441
  }
442
442
  ],
443
- description: "Process operation review task or preliminary data requests.\n\nAnalyzes the operation for security vulnerabilities, schema compliance,\nlogical consistency, and standard adherence. Outputs structured thinking\nprocess and the production-ready operation."
443
+ description: "Process operation review task or preliminary data requests."
444
444
  }
445
445
  ]
446
446
  },
@@ -793,11 +793,11 @@ function createReviewController(props) {
793
793
  type: "object",
794
794
  properties: {
795
795
  thinking: {
796
- description: "Think before you act.\n\nBefore requesting preliminary data or completing your task, reflect on\nyour current state and explain your reasoning:\n\nFor preliminary requests (getAnalysisSections, getDatabaseSchemas, etc.):\n\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\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\ncompletion.",
796
+ description: "Think before you act.\n\nFor preliminary requests: what critical information is missing and why?\nBe brief \u2014 state the gap, don't list everything you have.\n\nFor completion: what key assets did you acquire, what did you accomplish,\nwhy is it sufficient? Summarize \u2014 don't enumerate every single item.",
797
797
  type: "string"
798
798
  },
799
799
  request: {
800
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisSections, getDatabaseSchemas) or final operation review\n(complete). When preliminary returns empty array, that type is removed\nfrom the union, physically preventing repeated calls.",
800
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion, physically preventing repeated calls.",
801
801
  anyOf: [
802
802
  {
803
803
  $ref: "#/$defs/IAutoBePreliminaryGetAnalysisSections"
@@ -838,18 +838,18 @@ function createReviewController(props) {
838
838
  additionalProperties: false,
839
839
  $defs: {
840
840
  IAutoBePreliminaryGetAnalysisSections: {
841
- description: "Request to retrieve individual analysis sections by numeric ID.\n\nInstead of loading entire analysis files (~110-120KB each), this loads\nspecific ### sections (~200-600 words each) identified by integer IDs from\nthe section catalog.",
841
+ description: "Request to retrieve individual analysis sections by numeric ID.",
842
842
  type: "object",
843
843
  properties: {
844
844
  type: {
845
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getAnalysisSections\" indicates this is a preliminary\ndata request for individual analysis sections.",
845
+ description: "Type discriminator.",
846
846
  type: "string",
847
847
  "enum": [
848
848
  "getAnalysisSections"
849
849
  ]
850
850
  },
851
851
  sectionIds: {
852
- description: "List of section IDs to retrieve.\n\nThese are sequential integer IDs from the analysis sections catalog. Each\nID maps to a specific ### section in the requirements documents.\n\nCRITICAL: DO NOT request the same section IDs that you have already\nrequested in previous calls.",
852
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls.",
853
853
  type: "array",
854
854
  items: {
855
855
  type: "integer",
@@ -865,18 +865,18 @@ function createReviewController(props) {
865
865
  ]
866
866
  },
867
867
  IAutoBePreliminaryGetDatabaseSchemas: {
868
- description: "Request to retrieve database schema definitions for context.\n\nThis type is used in the preliminary phase to request specific database table\nschemas needed for generating type-safe API operations.",
868
+ description: "Request to retrieve database schema definitions for context.",
869
869
  type: "object",
870
870
  properties: {
871
871
  type: {
872
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getDatabaseSchemas\" indicates this is a preliminary\ndata request for database schemas.",
872
+ description: "Type discriminator.",
873
873
  type: "string",
874
874
  "enum": [
875
875
  "getDatabaseSchemas"
876
876
  ]
877
877
  },
878
878
  schemaNames: {
879
- description: "List of database table names to retrieve.\n\nTable names from the database schema representing database entities (e.g.,\n\"user\", \"post\", \"comment\").\n\nCRITICAL: DO NOT request the same schema names that you have already\nrequested in previous calls.",
879
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls.",
880
880
  type: "array",
881
881
  items: {
882
882
  type: "string"
@@ -890,18 +890,18 @@ function createReviewController(props) {
890
890
  ]
891
891
  },
892
892
  IAutoBePreliminaryGetPreviousAnalysisSections: {
893
- description: "Request to retrieve individual analysis sections from previous iteration by\nnumeric ID.\n\nSame as {@link IAutoBePreliminaryGetAnalysisSections} but for sections from\nthe previous generation cycle, enabling comparison and consistency checks.",
893
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID.",
894
894
  type: "object",
895
895
  properties: {
896
896
  type: {
897
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration.",
897
+ description: "Type discriminator.",
898
898
  type: "string",
899
899
  "enum": [
900
900
  "getPreviousAnalysisSections"
901
901
  ]
902
902
  },
903
903
  sectionIds: {
904
- description: "List of section IDs to retrieve from the previous iteration.\n\nCRITICAL: DO NOT request the same section IDs that you have already\nrequested in previous calls.",
904
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls.",
905
905
  type: "array",
906
906
  items: {
907
907
  type: "integer",
@@ -916,18 +916,18 @@ function createReviewController(props) {
916
916
  ]
917
917
  },
918
918
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
919
- description: "Request to retrieve database schemas from a previous version.\n\nThis type is used to load database schema definitions that were generated in\na **previous version** of the AutoBE generation pipeline. This is NOT about\nre-requesting schemas within the same execution, but rather accessing\nartifacts from an earlier version.\n\n**Use Case:** When regenerating or modifying the database schema based on\nuser change requests, agents need to reference the previously generated\ndatabase schemas to understand the existing database structure and what needs\nto be modified.\n\n**Key Difference from `getDatabaseSchemas`:**\n\n- `getDatabaseSchemas`: Fetches schemas from the **current version** (the\n version being generated right now)\n- `getPreviousDatabaseSchemas`: Fetches schemas from the **previous version**\n (the last successfully generated version)\n\n**Example Scenario:**\n\n Initial generation:\n - DATABASE phase creates: users, posts, comments tables\n - Generation completes successfully\n\n User: \"Add email verification status to users\"\n\n Regeneration:\n - DATABASE phase starts regeneration\n - Calls getPreviousDatabaseSchemas([\"users\"])\n \u2192 Loads the previous version of users table schema\n - Creates new version with emailVerified field added\n\n**Waterfall + Spiral Pattern:**\n\nThis aligns with AutoBE's regeneration cycles where:\n\n- Compilation failures trigger regeneration with corrections\n- User modifications trigger new versions\n- Previous schemas serve as reference for incremental changes",
919
+ description: "Request to retrieve database schemas from the previous iteration.\n\nLoads database table definitions from the last successfully generated\nversion, used as reference context during regeneration or modification\ncycles.",
920
920
  type: "object",
921
921
  properties: {
922
922
  type: {
923
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPreviousDatabaseSchemas\" indicates this is a\npreliminary data request for database schemas from a previous version.",
923
+ description: "Type discriminator.",
924
924
  type: "string",
925
925
  "enum": [
926
926
  "getPreviousDatabaseSchemas"
927
927
  ]
928
928
  },
929
929
  schemaNames: {
930
- description: "List of database table names to retrieve from the previous version.\n\nThese are table schema names that were generated in a previous version and\nare needed as reference context for the current regeneration.\n\n**Important Notes:**\n\n- These schemas MUST exist in the previous version\n- This function is only available when a previous version exists\n- Used for reference/comparison, not for re-requesting within same execution\n- Table names are in snake_case (e.g., \"shopping_sale\", \"bbs_article\")\n\n**When This Function is Available:**\n\n- When a previous version exists\n- When user requests modifications to existing database schema\n- During correction/regeneration cycles that need previous schema context\n\n**When This Function is NOT Available:**\n\n- During initial generation (no previous version exists)\n- No previous database schemas available for this orchestration task\n\n**Example Table Names:**\n\n- \"users\", \"posts\", \"comments\"\n- \"shopping_sales\", \"shopping_orders\", \"shopping_products\"\n- \"bbs_articles\", \"bbs_article_files\"",
930
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls.",
931
931
  type: "array",
932
932
  items: {
933
933
  type: "string"
@@ -941,18 +941,18 @@ function createReviewController(props) {
941
941
  ]
942
942
  },
943
943
  IAutoBePreliminaryGetPreviousInterfaceOperations: {
944
- description: "Request to retrieve interface operations from a previous version.\n\nThis type is used to load API operation definitions that were generated in a\n**previous version** of the AutoBE generation pipeline. This is NOT about\nre-requesting operations within the same execution, but rather accessing\nartifacts from an earlier version.\n\n**Use Case:** When regenerating or modifying API operations based on user\nchange requests, agents need to reference the previously generated operations\nto understand the existing API design and what needs to be modified.\n\n**Key Difference from `getInterfaceOperations`:**\n\n- `getInterfaceOperations`: Fetches operations from the **current version**\n (the version being generated right now)\n- `getPreviousInterfaceOperations`: Fetches operations from the **previous\n version** (the last successfully generated version)\n\n**Example Scenario:**\n\n Initial generation:\n - INTERFACE phase creates: GET /users, POST /users, GET /users/{id}\n - Generation completes successfully\n\n User: \"Change user creation to require email verification\"\n\n Regeneration:\n - INTERFACE phase starts regeneration\n - Calls getPreviousInterfaceOperations([{method: \"POST\", path: \"/users\"}])\n \u2192 Loads the previous version of POST /users operation\n - Creates new version with emailVerification requirement in request body\n\n**Automatic Schema Loading:**\n\nWhen operations are loaded from the previous version, their associated\nrequest/response body schemas are also referenced, providing complete context\nfor understanding the operation's data structures.\n\n**Waterfall + Spiral Pattern:**\n\nThis aligns with AutoBE's regeneration cycles where:\n\n- Compilation failures trigger regeneration with corrections\n- User modifications trigger new versions\n- Previous operations serve as reference for incremental API changes",
944
+ description: "Request to retrieve interface operations from the previous iteration.\n\nLoads API operation definitions from the last successfully generated version,\nused as reference context during regeneration or modification cycles.",
945
945
  type: "object",
946
946
  properties: {
947
947
  type: {
948
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPreviousInterfaceOperations\" indicates this is a\npreliminary data request for interface operations from a previous version.",
948
+ description: "Type discriminator.",
949
949
  type: "string",
950
950
  "enum": [
951
951
  "getPreviousInterfaceOperations"
952
952
  ]
953
953
  },
954
954
  endpoints: {
955
- description: "List of API operation endpoints to retrieve from the previous version.\n\nThese are endpoint identifiers (method + path) that were generated in a\nprevious version and are needed as reference context for the current\nregeneration.\n\n**Important Notes:**\n\n- These endpoints MUST exist in the previous version\n- This function is only available when a previous version exists\n- Used for reference/comparison, not for re-requesting within same execution\n- Each endpoint is identified by: `{method: \"GET|POST|PUT|DELETE|PATCH\",\n path: \"/api/path\"}`\n\n**When This Function is Available:**\n\n- When a previous version exists\n- When user requests modifications to existing API operations\n- During correction/regeneration cycles that need previous operation context\n\n**When This Function is NOT Available:**\n\n- During initial generation (no previous version exists)\n- No previous interface operations available for this orchestration task\n\n**Endpoint Format:**\n\n- Method: HTTP verb in uppercase (e.g., \"GET\", \"POST\", \"PUT\", \"DELETE\",\n \"PATCH\")\n- Path: OpenAPI path with parameters (e.g., \"/users/{id}\", \"/posts\")\n\n**Example Endpoints:**\n\n- `{method: \"GET\", path: \"/users/{id}\"}`\n- `{method: \"POST\", path: \"/shoppings/orders\"}`\n- `{method: \"PATCH\", path: \"/bbs/articles\"}`",
955
+ description: "Endpoints to retrieve from previous iteration. DO NOT request same\nendpoints already requested in previous calls.",
956
956
  type: "array",
957
957
  items: {
958
958
  $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
@@ -970,12 +970,12 @@ function createReviewController(props) {
970
970
  type: "object",
971
971
  properties: {
972
972
  path: {
973
- 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)",
973
+ description: "HTTP path of the API operation.\n\nMust start with `/`. Parameters use curly braces: `{paramName}`. Resource\nnames in camelCase. No quotes, spaces, role prefixes (`/admin/`), or API\nversion prefixes (`/api/v1/`).\n\nAllowed characters: letters, digits, `/`, `{`, `}`, `-`, `_`, `.`",
974
974
  type: "string",
975
975
  pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
976
976
  },
977
977
  method: {
978
- 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",
978
+ description: "HTTP method (lowercase only).\n\nUse `patch` (not `get`) when a read operation needs a complex\n{@link requestBody}. `get` cannot have a request body.",
979
979
  type: "string",
980
980
  "enum": [
981
981
  "get",
@@ -992,26 +992,26 @@ function createReviewController(props) {
992
992
  ]
993
993
  },
994
994
  "IAutoBeInterfaceOperationReviewApplication.IComplete": {
995
- description: "Request to review and validate an API operation with minimal correction\npower.\n\nThis agent can ONLY modify fields present in the IOperation type. For\nissues in fields not present in IOperation, it must reject the operation by\nreturning null.\n\nThe IOperation type contains only:\n\n- Specification: Implementation guidance for Realize Agent - can fix\n implementation details, algorithm descriptions, database query logic\n- Description: API documentation for consumers - can fix soft delete\n mismatches, inappropriate security mentions, add schema references\n- RequestBody: Complete object - can modify both description and typeName to\n fix clarity issues and naming convention violations\n- ResponseBody: Complete object - can modify both description and typeName to\n fix clarity issues and naming convention violations\n\nFields not in IOperation cannot be modified - the agent must reject by\nreturning null if those fields have issues.",
995
+ description: "Review and validate an API operation. Can ONLY modify IOperation fields:\n\n- `specification`: Can fix implementation details, algorithm descriptions,\n database query logic\n- `description`: Can fix soft delete mismatches, inappropriate security\n mentions, add schema references\n- `requestBody`: Can modify both description and typeName\n- `responseBody`: Can modify both description and typeName\n\nReturn null to reject if issues exist in non-modifiable fields (path,\nmethod, parameters, etc.).",
996
996
  type: "object",
997
997
  properties: {
998
998
  type: {
999
- 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.",
999
+ description: "Type discriminator for completion request.",
1000
1000
  type: "string",
1001
1001
  "enum": [
1002
1002
  "complete"
1003
1003
  ]
1004
1004
  },
1005
1005
  review: {
1006
- description: "Comprehensive operation-level review findings.\n\nSystematic assessment of the operation organized by severity:\n\n- Authorization configuration issues\n- Path structure violations\n- Metadata consistency problems\n- Description accuracy issues\n\nDocuments what issues were found during review, with specific examples\nand current vs expected behavior.",
1006
+ description: "Operation-level review findings organized by severity.",
1007
1007
  type: "string"
1008
1008
  },
1009
1009
  plan: {
1010
- description: "Action plan for identified issues.\n\nStructured improvement strategy explaining what corrections will be\napplied and why:\n\n- What specific changes are being made\n- Why each change is necessary\n- If rejecting (returning null), why the operation cannot be fixed\n\nIf no issues found: \"No improvements required. Operation meets\nstandards.\"",
1010
+ description: "Action plan for corrections, or \"No improvements required. Operation\nmeets standards.\"",
1011
1011
  type: "string"
1012
1012
  },
1013
1013
  content: {
1014
- description: "Corrected operation with issues resolved, or null if operation rejected.\n\nThe agent can only modify fields present in IOperation type (description,\nrequestBody, responseBody).\n\nReturn values:\n\n- **Corrected operation**: If fixable issues were found and corrected in\n the modifiable fields\n- **null**: If operation is perfect OR if issues exist in fields not\n present in IOperation type\n\nWhen null is returned:\n\n- For perfect operations: means \"no changes needed, proceed\"\n- For failed validation: means \"reject this operation, remove from\n pipeline\"\n\nThe orchestrator will filter out null operations from the final operation\nlist.",
1014
+ description: "Corrected operation with fixes applied. Null when no changes are needed.\nIf issues exist in non-modifiable fields, also set to null (the `plan`\nfield should explain why).",
1015
1015
  anyOf: [
1016
1016
  {
1017
1017
  type: "null"
@@ -1030,19 +1030,19 @@ function createReviewController(props) {
1030
1030
  ]
1031
1031
  },
1032
1032
  "IAutoBeInterfaceOperationReviewApplication.IOperation": {
1033
- description: "Operation with ONLY the fields that this agent can modify.\n\nThis type contains ONLY the modifiable fields. Fields not in this type\ncannot be modified - if they have issues, the agent must return null.\n\nFields in this type:\n\n- **specification**: Implementation guidance for Realize Agent - can fix\n implementation details, algorithm descriptions, database query logic\n- **description**: API documentation for consumers - can fix soft delete\n mismatches, remove inappropriate security mentions, add schema\n references\n- **requestBody**: Complete request body object (or null) - can modify both\n description and typeName to fix naming conventions or improve clarity\n- **responseBody**: Complete response body object (or null) - can modify both\n description and typeName to fix naming conventions or improve clarity",
1033
+ description: "Operation subset containing only modifiable fields. Return null if\nnon-modifiable fields have issues.",
1034
1034
  type: "object",
1035
1035
  properties: {
1036
1036
  specification: {
1037
- description: "Implementation specification for the API operation.\n\nThis is an AutoBE-internal field (not exposed in standard OpenAPI output)\nthat provides detailed implementation guidance for downstream agents\n(Realize Agent, Test Agent, etc.).\n\nInclude **HOW** this operation should be implemented:\n\n- Service layer logic and algorithm\n- Database queries and transactions involved\n- Business rules and validation logic\n- Edge cases and error handling\n- Integration with other services\n\nThis field complements the `description` field: while `description` is\nfor API consumers (Swagger UI, SDK docs), `specification` is for agents\nthat implement the operation.\n\n> MUST be written in English. Never use other languages.",
1037
+ description: "Internal implementation guidance for downstream agents (Realize, Test).\n\nDescribe HOW this operation should be implemented: service logic, DB\nqueries, business rules, edge cases, and error handling.\n\n> MUST be written in English. Never use other languages.",
1038
1038
  type: "string"
1039
1039
  },
1040
1040
  description: {
1041
- description: "Detailed description about the API operation.\n\nIMPORTANT: This field MUST be extensively detailed and MUST reference the\ndescription comments from the related database schema tables and columns.\nThe description should be organized into MULTIPLE PARAGRAPHS separated by\nline breaks to improve readability and comprehension.\n\nFor example, include separate paragraphs for:\n\n- The purpose and overview of the API operation\n- Security considerations and user permissions\n- Relationship to underlying database entities\n- Validation rules and business logic\n- Related API operations that might be used together with this one\n- Expected behavior and error handling\n\nWhen writing the description, be sure to incorporate the corresponding DB\nschema's description comments, matching the level of detail and style of\nthose comments. This ensures consistency between the API documentation\nand database structure.\n\nIf there's a dependency to other APIs, please describe the dependency API\noperation in this field with detailed reason. For example, if this API\noperation needs a pre-execution of other API operation, it must be\nexplicitly described.\n\n- `GET /shoppings/customers/sales` must be pre-executed to get entire list\n of summarized sales. Detailed sale information would be obtained by\n specifying the sale ID in the path parameter.\n\n**CRITICAL WARNING about soft delete keywords**: DO NOT use terms like\n\"soft delete\", \"soft-delete\", or similar variations in this description\nUNLESS the operation actually implements soft deletion. These keywords\ntrigger validation logic that expects a corresponding soft_delete_column\nto be specified. Only use these terms when you intend to implement soft\ndeletion (marking records as deleted without removing them from the\ndatabase).\n\nExample of problematic description: \u274C \"This would normally be a\nsoft-delete, but we intentionally perform permanent deletion here\" - This\ntriggers soft delete validation despite being a hard delete operation.\n\n> MUST be written in English. Never use other languages.",
1041
+ description: "Multi-paragraph description of the API operation for consumers.\n\nReference and incorporate DB schema table/column description comments.\nOrganize into multiple paragraphs covering purpose, business logic,\nrelationships, and error handling.\n\nDo NOT use \"soft delete\" / \"soft-delete\" unless the operation actually\nimplements soft deletion (triggers validation expecting\nsoft_delete_column).\n\n> MUST be written in English. Never use other languages.",
1042
1042
  type: "string"
1043
1043
  },
1044
1044
  responseBody: {
1045
- description: "Response body of the API operation.\n\nDefines the structure of the successful response data. Contains a\ndescription and schema reference for the returned data.\n\nShould be null for operations that don't return any data.",
1045
+ description: "Response body of the API operation, or `null` if none.",
1046
1046
  anyOf: [
1047
1047
  {
1048
1048
  type: "null"
@@ -1053,7 +1053,7 @@ function createReviewController(props) {
1053
1053
  ]
1054
1054
  },
1055
1055
  requestBody: {
1056
- description: "Request body of the API operation.\n\nDefines the payload structure for the request. Contains a description and\nschema reference to define the expected input data.\n\nShould be `null` for operations that don't require a request body, such\nas most \"get\" operations.",
1056
+ description: "Request body of the API operation, or `null` if none.",
1057
1057
  anyOf: [
1058
1058
  {
1059
1059
  type: "null"
@@ -1072,15 +1072,15 @@ function createReviewController(props) {
1072
1072
  ]
1073
1073
  },
1074
1074
  "AutoBeOpenApi.IResponseBody": {
1075
- description: "Response body information for OpenAPI operation.\n\nThis interface defines the structure of a successful response from an API\noperation. It provides a description of the response and a schema reference\nto define the returned data structure.\n\nThe content-type for all responses is always `application/json`. Even when\nfile downloading is required, don't use `application/octet-stream` or\n`multipart/form-data` content types. Instead, just define an URI string\nproperty in the response body schema.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"responses\": {\n \"200\": {\n \"description\": \"Order information\",\n \"content\": {\n \"application/json\": {\n \"schema\": { \"$ref\": \"#/components/schemas/IShoppingOrder\" }\n }\n }\n }\n }\n}\n```",
1075
+ description: "Response body for an API operation.\n\nContent-type is always `application/json`. For file downloads, use a URI\nstring property instead of `application/octet-stream`.",
1076
1076
  type: "object",
1077
1077
  properties: {
1078
1078
  description: {
1079
- description: "Description about the response body.\n\nMake short, concise and clear description about the response body.\n\n> MUST be written in English. Never use other languages.",
1079
+ description: "Description of the response body.\n\n> MUST be written in English. Never use other languages.",
1080
1080
  type: "string"
1081
1081
  },
1082
1082
  typeName: {
1083
- description: "Response body's data type.\n\nSpecifies the structure of the returned data (response body), that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference} type in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nHere is the naming convention for the response body type:\n\n- `IEntityName`: Main entity with detailed information (e.g.,\n `IShoppingSale`)\n- `IEntityName.ISummary`: Simplified response version with essential\n properties\n- `IEntityName.IInvert`: Alternative view of an entity from a different\n perspective\n- `IPageIEntityName`: Paginated results container with `pagination` and\n `data` properties\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder\"\n }\n}\n```",
1083
+ description: "Type name referencing a component schema.\n\nNaming convention: `IEntityName` (full), `IEntityName.ISummary`,\n`IEntityName.IInvert`, `IPageIEntityName` (paginated).",
1084
1084
  type: "string"
1085
1085
  }
1086
1086
  },
@@ -1090,15 +1090,15 @@ function createReviewController(props) {
1090
1090
  ]
1091
1091
  },
1092
1092
  "AutoBeOpenApi.IRequestBody": {
1093
- description: "Request body information of OpenAPI operation.\n\nThis interface defines the structure for request bodies in API routes. It\ncorresponds to the requestBody section in OpenAPI specifications, providing\nboth a description and schema reference for the request payload.\n\nThe content-type for all request bodies is always `application/json`. Even\nwhen file uploading is required, don't use `multipart/form-data` or\n`application/x-www-form-urlencoded` content types. Instead, just define an\nURI string property in the request body schema.\n\nNote that, all body schemas must be transformable to a\n{@link AutoBeOpenApi.IJsonSchema.IReference reference} type defined in the\n{@link AutoBeOpenApi.IComponents.schemas components section} as an\n{@link AutoBeOpenApi.IJsonSchema.IObject object} type.\n\nIn OpenAPI, this might represent:\n\n```json\n{\n \"requestBody\": {\n \"description\": \"Creation info of the order\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n }\n }\n }\n}\n```",
1093
+ description: "Request body for an API operation.\n\nContent-type is always `application/json`. For file uploads, use a URI\nstring property instead of `multipart/form-data`.",
1094
1094
  type: "object",
1095
1095
  properties: {
1096
1096
  description: {
1097
- description: "Description about the request body.\n\nMake short, concise and clear description about the request body.\n\n> MUST be written in English. Never use other languages.",
1097
+ description: "Description of the request body.\n\n> MUST be written in English. Never use other languages.",
1098
1098
  type: "string"
1099
1099
  },
1100
1100
  typeName: {
1101
- description: "Request body type name.\n\nThis specifies the data structure expected in the request body, that will\nbe transformed to {@link AutoBeOpenApi.IJsonSchema.IReference reference}\ntype in the {@link AutoBeOpenApi.IComponents.schemas components section}\nas an {@link AutoBeOpenApi.IJsonSchema.Object object} type.\n\nHere is the naming convention for the request body type:\n\n- `IEntityName.ICreate`: Request body for creation operations (POST)\n- `IEntityName.IUpdate`: Request body for update operations (PUT)\n- `IEntityName.IRequest`: Request parameters for list operations (often\n with search/pagination)\n\nWhat you write:\n\n```json\n{\n \"typeName\": \"IShoppingOrder.ICreate\"\n}\n```\n\nTransformed to:\n\n```json\n{\n \"schema\": {\n \"$ref\": \"#/components/schemas/IShoppingOrder.ICreate\"\n }\n}\n```",
1101
+ description: "Type name referencing a component schema.\n\nNaming convention: `IEntityName.ICreate` (POST), `IEntityName.IUpdate`\n(PUT), `IEntityName.IRequest` (list/search).",
1102
1102
  type: "string"
1103
1103
  }
1104
1104
  },
@@ -1109,7 +1109,7 @@ function createReviewController(props) {
1109
1109
  }
1110
1110
  }
1111
1111
  },
1112
- description: "Process operation review task or preliminary data requests.\n\nAnalyzes the operation for security vulnerabilities, schema compliance,\nlogical consistency, and standard adherence. Outputs structured thinking\nprocess and the production-ready operation.",
1112
+ description: "Process operation review task or preliminary data requests.",
1113
1113
  validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getAnalysisSections" === input.type && (Array.isArray(input.sectionIds) && (1 <= input.sectionIds.length && input.sectionIds.length <= 100 && input.sectionIds.every(elem => "number" === typeof elem && __typia_transform__isTypeUint32._isTypeUint32(elem)))); const _io2 = input => "getDatabaseSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io3 = input => "getPreviousAnalysisSections" === input.type && (Array.isArray(input.sectionIds) && (1 <= input.sectionIds.length && input.sectionIds.every(elem => "number" === typeof elem && __typia_transform__isTypeUint32._isTypeUint32(elem)))); const _io4 = input => "getPreviousDatabaseSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io5 = input => "getPreviousInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io6(elem)))); const _io6 = 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 _io7 = input => "complete" === input.type && "string" === typeof input.review && "string" === typeof input.plan && (null === input.content || "object" === typeof input.content && null !== input.content && _io8(input.content)); const _io8 = input => "string" === typeof input.specification && "string" === typeof input.description && (null === input.responseBody || "object" === typeof input.responseBody && null !== input.responseBody && _io9(input.responseBody)) && (null === input.requestBody || "object" === typeof input.requestBody && null !== input.requestBody && _io10(input.requestBody)); const _io9 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _io10 = input => "string" === typeof input.description && "string" === typeof input.typeName; const _iu0 = input => (() => {
1114
1114
  if ("getAnalysisSections" === input.type)
1115
1115
  return _io1(input);