@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
@@ -119,7 +119,7 @@ function process(ctx, props) {
119
119
  properties: {
120
120
  thinking: {
121
121
  type: "string",
122
- 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."
122
+ description: "Reasoning about your current state: what's missing (preliminary) or what\nyou accomplished (completion)."
123
123
  },
124
124
  request: {
125
125
  oneOf: [
@@ -161,7 +161,7 @@ function process(ctx, props) {
161
161
  complete: "#/components/schemas/IAutoBeInterfaceSchemaApplication.IComplete"
162
162
  }
163
163
  },
164
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisSections, getDatabaseSchemas, getInterfaceOperations) or\nfinal schema generation (complete). When preliminary returns empty array,\nthat type is removed from the union, physically preventing repeated\ncalls."
164
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion."
165
165
  }
166
166
  },
167
167
  required: [
@@ -174,7 +174,7 @@ function process(ctx, props) {
174
174
  properties: {
175
175
  type: {
176
176
  "const": "getAnalysisSections",
177
- 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."
177
+ description: "Type discriminator."
178
178
  },
179
179
  sectionIds: {
180
180
  type: "array",
@@ -184,21 +184,21 @@ function process(ctx, props) {
184
184
  },
185
185
  minItems: 1,
186
186
  maxItems: 100,
187
- 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."
187
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls."
188
188
  }
189
189
  },
190
190
  required: [
191
191
  "type",
192
192
  "sectionIds"
193
193
  ],
194
- 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."
194
+ description: "Request to retrieve individual analysis sections by numeric ID."
195
195
  },
196
196
  IAutoBePreliminaryGetDatabaseSchemas: {
197
197
  type: "object",
198
198
  properties: {
199
199
  type: {
200
200
  "const": "getDatabaseSchemas",
201
- 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."
201
+ description: "Type discriminator."
202
202
  },
203
203
  schemaNames: {
204
204
  type: "array",
@@ -206,21 +206,21 @@ function process(ctx, props) {
206
206
  type: "string"
207
207
  },
208
208
  minItems: 1,
209
- 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."
209
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls."
210
210
  }
211
211
  },
212
212
  required: [
213
213
  "type",
214
214
  "schemaNames"
215
215
  ],
216
- 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."
216
+ description: "Request to retrieve database schema definitions for context."
217
217
  },
218
218
  IAutoBePreliminaryGetInterfaceOperations: {
219
219
  type: "object",
220
220
  properties: {
221
221
  type: {
222
222
  "const": "getInterfaceOperations",
223
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceOperations\" indicates this is a\npreliminary data request for interface operations."
223
+ description: "Type discriminator."
224
224
  },
225
225
  endpoints: {
226
226
  type: "array",
@@ -228,14 +228,14 @@ function process(ctx, props) {
228
228
  $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
229
229
  },
230
230
  minItems: 1,
231
- description: "List of existing API operation endpoints to retrieve.\n\nOperations that have been generated in previous phases, containing paths,\nmethods, parameters, and request/response bodies.\n\nCRITICAL: DO NOT request the same endpoints that you have already requested\nin previous calls."
231
+ description: "API operation endpoints to retrieve. DO NOT request same endpoints already\nrequested in previous calls."
232
232
  }
233
233
  },
234
234
  required: [
235
235
  "type",
236
236
  "endpoints"
237
237
  ],
238
- description: "Request to retrieve existing interface operations for context.\n\nThis type is used in the preliminary phase to request already-generated API\noperations for review, validation, or complementary generation tasks."
238
+ description: "Request to retrieve existing interface operations for context."
239
239
  },
240
240
  "AutoBeOpenApi.IEndpoint": {
241
241
  type: "object",
@@ -243,7 +243,7 @@ function process(ctx, props) {
243
243
  path: {
244
244
  type: "string",
245
245
  pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$",
246
- 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)"
246
+ 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, `/`, `{`, `}`, `-`, `_`, `.`"
247
247
  },
248
248
  method: {
249
249
  oneOf: [
@@ -263,7 +263,7 @@ function process(ctx, props) {
263
263
  "const": "patch"
264
264
  }
265
265
  ],
266
- 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"
266
+ 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."
267
267
  }
268
268
  },
269
269
  required: [
@@ -277,7 +277,7 @@ function process(ctx, props) {
277
277
  properties: {
278
278
  type: {
279
279
  "const": "getPreviousAnalysisSections",
280
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration."
280
+ description: "Type discriminator."
281
281
  },
282
282
  sectionIds: {
283
283
  type: "array",
@@ -286,21 +286,21 @@ function process(ctx, props) {
286
286
  minimum: 0
287
287
  },
288
288
  minItems: 1,
289
- 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."
289
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls."
290
290
  }
291
291
  },
292
292
  required: [
293
293
  "type",
294
294
  "sectionIds"
295
295
  ],
296
- 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."
296
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID."
297
297
  },
298
298
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
299
299
  type: "object",
300
300
  properties: {
301
301
  type: {
302
302
  "const": "getPreviousDatabaseSchemas",
303
- 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."
303
+ description: "Type discriminator."
304
304
  },
305
305
  schemaNames: {
306
306
  type: "array",
@@ -308,21 +308,21 @@ function process(ctx, props) {
308
308
  type: "string"
309
309
  },
310
310
  minItems: 1,
311
- 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\""
311
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls."
312
312
  }
313
313
  },
314
314
  required: [
315
315
  "type",
316
316
  "schemaNames"
317
317
  ],
318
- 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"
318
+ 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."
319
319
  },
320
320
  IAutoBePreliminaryGetPreviousInterfaceOperations: {
321
321
  type: "object",
322
322
  properties: {
323
323
  type: {
324
324
  "const": "getPreviousInterfaceOperations",
325
- 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."
325
+ description: "Type discriminator."
326
326
  },
327
327
  endpoints: {
328
328
  type: "array",
@@ -330,21 +330,21 @@ function process(ctx, props) {
330
330
  $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
331
331
  },
332
332
  minItems: 1,
333
- 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\"}`"
333
+ description: "Endpoints to retrieve from previous iteration. DO NOT request same\nendpoints already requested in previous calls."
334
334
  }
335
335
  },
336
336
  required: [
337
337
  "type",
338
338
  "endpoints"
339
339
  ],
340
- 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"
340
+ 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."
341
341
  },
342
342
  IAutoBePreliminaryGetPreviousInterfaceSchemas: {
343
343
  type: "object",
344
344
  properties: {
345
345
  type: {
346
346
  "const": "getPreviousInterfaceSchemas",
347
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPreviousInterfaceSchemas\" indicates this is a\npreliminary data request for interface schemas from a previous version."
347
+ description: "Type discriminator."
348
348
  },
349
349
  typeNames: {
350
350
  type: "array",
@@ -352,33 +352,33 @@ function process(ctx, props) {
352
352
  type: "string"
353
353
  },
354
354
  minItems: 1,
355
- description: "List of schema type names to retrieve from the previous version.\n\nThese are type names from the OpenAPI components.schemas section that were\ngenerated in a previous version and are needed as reference context for the\ncurrent regeneration.\n\n**Important Notes:**\n\n- These type names 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- Type names follow TypeScript interface naming (e.g., \"IUser\",\n \"IUser.ICreate\")\n\n**When This Function is Available:**\n\n- When a previous version exists\n- When user requests modifications to existing API schemas\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 interface schemas available for this orchestration task\n\n**Type Name Examples:**\n\n- Base entity: \"IShoppingSale\", \"IBbsArticle\", \"IUser\"\n- Create DTO: \"IShoppingSale.ICreate\", \"IBbsArticle.ICreate\"\n- Update DTO: \"IShoppingSale.IUpdate\", \"IUser.IUpdate\"\n- Paginated: \"IPageIShoppingSale\", \"IPageIBbsArticle\"\n- Summary: \"IShoppingSale.ISummary\", \"IBbsArticle.ISummary\""
355
+ description: "Schema type names to retrieve from previous iteration. DO NOT request same\nnames already requested in previous calls."
356
356
  }
357
357
  },
358
358
  required: [
359
359
  "type",
360
360
  "typeNames"
361
361
  ],
362
- description: "Request to retrieve interface schemas from a previous version.\n\nThis type is used to load OpenAPI schema definitions (DTOs from\ncomponents.schemas) that were generated in a **previous version** of the\nAutoBE generation pipeline. This is NOT about re-requesting schemas within\nthe same execution, but rather accessing artifacts from an earlier version.\n\n**Use Case:** When regenerating or modifying API schemas based on user change\nrequests, agents need to reference the previously generated schemas to\nunderstand the existing DTO structure and what needs to be modified.\n\n**Key Difference from `getInterfaceSchemas`:**\n\n- `getInterfaceSchemas`: Fetches schemas from the **current version** (the\n version being generated right now)\n- `getPreviousInterfaceSchemas`: Fetches schemas from the **previous version**\n (the last successfully generated version)\n\n**Example Scenario:**\n\n Initial generation:\n - INTERFACE phase creates: IUser, IUser.ICreate, IUser.IUpdate, IPost\n - Generation completes successfully\n\n User: \"Add phone number to user profile\"\n\n Regeneration:\n - INTERFACE phase starts regeneration\n - Calls getPreviousInterfaceSchemas([\"IUser\", \"IUser.IUpdate\"])\n \u2192 Loads the previous versions of these schemas\n - Creates new versions with phoneNumber property added\n\n**Automatic Dependency Loading:**\n\nWhen schemas are loaded from the previous version, their referenced schemas\n(via `$ref`) are also available, providing complete type dependency context\nfor understanding the schema structure.\n\n**Schema Type Naming Convention:**\n\n- Entity schemas: `IEntityName` (e.g., \"IUser\", \"IPost\", \"IShoppingSale\")\n- Nested DTOs: `IEntityName.ISubType` (e.g., \"IUser.ICreate\", \"IPost.IUpdate\")\n- Response wrappers: `IPage<IEntityName>` (e.g., \"IPageIUser\", \"IPageIPost\")\n- Summary types: `IEntityName.ISummary` (e.g., \"IBbsArticle.ISummary\")\n- Authorized types: `IEntityName.IAuthorized` (e.g., \"IUser.IAuthorized\")\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 DTO changes"
362
+ description: "Request to retrieve interface schemas from the previous iteration.\n\nLoads OpenAPI schema definitions (DTOs) from the last successfully generated\nversion, used as reference context during regeneration or modification\ncycles."
363
363
  },
364
364
  "IAutoBeInterfaceSchemaApplication.IComplete": {
365
365
  type: "object",
366
366
  properties: {
367
367
  type: {
368
368
  "const": "complete",
369
- 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."
369
+ description: "Type discriminator for completion request."
370
370
  },
371
371
  analysis: {
372
372
  type: "string",
373
- description: "Analysis of the type's purpose and context.\n\nBefore designing the schema, analyze what you know:\n\n- What is this type for? (e.g., IProduct.ICreate is a creation request)\n- What database entities or operations inform its structure?\n- What fields should be included based on the variant type?\n- Are there related types that provide structural hints?"
373
+ description: "Analysis of the type's purpose and context."
374
374
  },
375
375
  rationale: {
376
376
  type: "string",
377
- description: "Rationale for the schema design decisions.\n\nExplain why you designed the schema this way:\n\n- Which properties did you include and why?\n- What is required vs optional, and why?\n- Which types use $ref and why?\n- What was excluded and why? (e.g., auto-generated fields for ICreate)"
377
+ description: "Rationale for the schema design decisions."
378
378
  },
379
379
  design: {
380
380
  $ref: "#/components/schemas/AutoBeInterfaceSchemaDesign",
381
- description: "Design structure for the schema being generated.\n\nContains `databaseSchema`, `specification`, `description`, and `schema`\nfields that together define a complete DTO type component."
381
+ description: "Schema design: database mapping, specification, description, and JSON\nSchema."
382
382
  }
383
383
  },
384
384
  required: [
@@ -387,7 +387,7 @@ function process(ctx, props) {
387
387
  "rationale",
388
388
  "design"
389
389
  ],
390
- description: "Request to generate a single OpenAPI schema component.\n\nExecutes schema generation to create a type definition for a specific DTO\ntype. Each invocation handles one schema component to ensure accuracy and\nclear responsibility."
390
+ description: "Request to generate a single OpenAPI schema component."
391
391
  },
392
392
  AutoBeInterfaceSchemaDesign: {
393
393
  type: "object",
@@ -401,19 +401,19 @@ function process(ctx, props) {
401
401
  type: "string"
402
402
  }
403
403
  ],
404
- description: "Database model name that this schema maps to.\n\nSpecifies which database table/model this DTO type corresponds to. Creates\na traceable link between API types and database entities.\n\n- Set to the exact model name (e.g., `\"shopping_customers\"`,\n `\"bbs_articles\"`) when this schema directly represents or derives from a\n database entity\n- Set to `null` for:\n\n - Computed/aggregated types (e.g., statistics, summaries from multiple\n tables)\n - Types composed purely by business logic (e.g., search filters, pagination)\n - Embedded JSON structures without dedicated tables\n\nWhen `null`, the `specification` field becomes critical for downstream\nagents to understand how to implement data retrieval or computation."
404
+ description: "Database model name this schema maps to, or `null` for computed/aggregated\ntypes.\n\nWhen `null`, `specification` becomes critical for downstream agents."
405
405
  },
406
406
  specification: {
407
407
  type: "string",
408
- description: "Implementation specification for downstream agents.\n\nDetailed guidance on HOW to implement data retrieval, transformation, or\ncomputation for this type. Internal documentation for Realize Agent, Test\nAgent, and other implementation agents - NOT exposed in public API docs.\n\n**When `databaseSchema` is set** (direct mapping):\n\n- Can be brief for simple cases\n- Focus on any non-obvious mapping details\n\n**When `databaseSchema` is `null`** (computed/aggregated types):\n\nThis field is CRITICAL. Must include:\n\n- Source tables and columns involved\n- JOIN conditions between tables\n- Aggregation formulas (SUM, COUNT, AVG, etc.)\n- Business rules and transformation logic\n- Edge cases (nulls, empty sets, defaults)\n\nMust be precise enough for downstream agents to implement the actual data\nretrieval or computation. Vague specifications are unacceptable."
408
+ description: "Implementation guidance for downstream agents (Realize, Test). NOT exposed\nin public API docs.\n\nWhen `databaseSchema` is set: brief mapping details. When `null`: MUST\ninclude source tables, JOINs, aggregation formulas, business rules, and\nedge cases."
409
409
  },
410
410
  description: {
411
411
  type: "string",
412
- description: "API documentation for consumers.\n\nStandard OpenAPI description displayed in Swagger UI, SDK documentation,\nand other API documentation tools. Focus on explaining WHAT the type\nrepresents and WHY it exists from an API consumer's perspective.\n\nGuidelines:\n\n- Reference corresponding database schema documentation for consistency\n- Organize into multiple paragraphs for complex types\n- Focus on business meaning, relationships, and constraints\n- Keep accessible to API consumers (no implementation details)\n- MUST be written in English"
412
+ description: "API documentation for consumers (Swagger UI). Focus on WHAT the type\nrepresents. Reference DB schema documentation for consistency.\n\n- MUST be written in English"
413
413
  },
414
414
  schema: {
415
415
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema",
416
- description: "JSON Schema definition for the type.\n\nThe actual type structure following OpenAPI v3.1 JSON Schema specification.\nCan be any valid JSON Schema type: object, array, string, number, integer,\nboolean, oneOf, or $ref.\n\nImportant:\n\n- For union types, use `oneOf` - NEVER use array notation in `type` field\n- For nullable types, use `oneOf: [{ type: \"...\" }, { type: \"null\" }]`\n- Object properties should have clear, descriptive names in camelCase\n- Use `$ref` for referencing other named schemas"
416
+ description: "JSON Schema definition.\n\nFor union/nullable types, use `oneOf` \u2014 NEVER array in `type` field. Use\n`$ref` for referencing named schemas. Object property names in camelCase."
417
417
  }
418
418
  },
419
419
  required: [
@@ -422,7 +422,7 @@ function process(ctx, props) {
422
422
  "description",
423
423
  "schema"
424
424
  ],
425
- description: "Design structure for creating OpenAPI schema components.\n\nSeparates schema metadata from the actual JSON Schema definition, allowing\nclear organization of implementation details (`specification`), API\ndocumentation (`description`), and the type structure (`schema`).\n\nThe `specification` and `description` fields are documented at the design\nlevel, separate from the `schema` field which holds the pure type structure."
425
+ description: "Design structure for creating an OpenAPI schema component.\n\nSeparates schema metadata (specification, description) from the JSON Schema\ndefinition (schema)."
426
426
  },
427
427
  "AutoBeOpenApi.IJsonSchema": {
428
428
  oneOf: [
@@ -457,35 +457,30 @@ function process(ctx, props) {
457
457
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema.INull"
458
458
  }
459
459
  ],
460
- description: "Type schema info.\n\n`AutoBeOpenApi.IJsonSchema` is a type schema info of the OpenAPI\nGenerative.\n\n`AutoBeOpenApi.IJsonSchema` basically follows the JSON schema specification\nof OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience, clarity, and AI\ngeneration.\n\n## CRITICAL: Union Type Expression\n\nIn this type system, union types (including nullable types) MUST be\nexpressed using the `IOneOf` structure. NEVER use array notation in the\n`type` field.\n\n\u274C **FORBIDDEN** - Array notation in type field:\n\n```typescript\n{\n \"type\": [\"string\", \"null\"] // NEVER DO THIS!\n}\n```\n\n\u2705 **CORRECT** - Using IOneOf for unions:\n\n```typescript\n// For nullable string:\n{\n oneOf: [{ type: \"string\" }, { type: \"null\" }];\n}\n\n// For string | number union:\n{\n oneOf: [{ type: \"string\" }, { type: \"number\" }];\n}\n```\n\nThe `type` field in any schema object is a discriminator that identifies\nthe schema type and MUST contain exactly one string value."
460
+ description: "JSON Schema type following OpenAPI v3.1 (simplified).\n\nCRITICAL: Union types MUST use `IOneOf`. NEVER use array in `type` field.\n\nWrong: `{ type: [\"string\", \"null\"] }` Correct: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`\n\nThe `type` field is a discriminator and MUST be a single string value."
461
461
  },
462
462
  "AutoBeOpenApi.IJsonSchema.IInteger": {
463
463
  type: "object",
464
464
  properties: {
465
465
  minimum: {
466
- type: "integer",
467
- description: "Minimum value restriction."
466
+ type: "integer"
468
467
  },
469
468
  maximum: {
470
- type: "integer",
471
- description: "Maximum value restriction."
469
+ type: "integer"
472
470
  },
473
471
  exclusiveMinimum: {
474
- type: "integer",
475
- description: "Exclusive minimum value restriction."
472
+ type: "integer"
476
473
  },
477
474
  exclusiveMaximum: {
478
- type: "integer",
479
- description: "Exclusive maximum value restriction."
475
+ type: "integer"
480
476
  },
481
477
  multipleOf: {
482
478
  type: "integer",
483
- exclusiveMinimum: 0,
484
- description: "Multiple of value restriction."
479
+ exclusiveMinimum: 0
485
480
  },
486
481
  type: {
487
482
  "const": "integer",
488
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value."
483
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
489
484
  }
490
485
  },
491
486
  required: [
@@ -497,29 +492,24 @@ function process(ctx, props) {
497
492
  type: "object",
498
493
  properties: {
499
494
  minimum: {
500
- type: "number",
501
- description: "Minimum value restriction."
495
+ type: "number"
502
496
  },
503
497
  maximum: {
504
- type: "number",
505
- description: "Maximum value restriction."
498
+ type: "number"
506
499
  },
507
500
  exclusiveMinimum: {
508
- type: "number",
509
- description: "Exclusive minimum value restriction."
501
+ type: "number"
510
502
  },
511
503
  exclusiveMaximum: {
512
- type: "number",
513
- description: "Exclusive maximum value restriction."
504
+ type: "number"
514
505
  },
515
506
  multipleOf: {
516
507
  type: "number",
517
- exclusiveMinimum: 0,
518
- description: "Multiple of value restriction."
508
+ exclusiveMinimum: 0
519
509
  },
520
510
  type: {
521
511
  "const": "number",
522
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value."
512
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
523
513
  }
524
514
  },
525
515
  required: [
@@ -604,21 +594,19 @@ function process(ctx, props) {
604
594
  },
605
595
  contentMediaType: {
606
596
  type: "string",
607
- description: "Content media type restriction.\n\nIf you want to accept multiple contentMediaType values simultaneously\n(e.g., `text/plain` and `text/html`), you MUST NOT violate the type by\nusing an array. Instead, use `oneOf` to define multiple `string`\nschemas with different `contentMediaType` values.\n\nExample for accepting both text/plain and text/html:\n\n```typescript\n{\n \"oneOf\": [\n { \"type\": \"string\", \"contentMediaType\": \"text/plain\" },\n { \"type\": \"string\", \"contentMediaType\": \"text/html\" }\n ]\n}\n```\n\nThis is the CORRECT approach. Never use array notation or modify the\nsingle string type to accept arrays."
597
+ description: "Content media type restriction.\n\nFor multiple media types, use `oneOf` with separate string schemas per\n`contentMediaType` value. Never use an array here."
608
598
  },
609
599
  minLength: {
610
600
  type: "integer",
611
- minimum: 0,
612
- description: "Minimum length restriction."
601
+ minimum: 0
613
602
  },
614
603
  maxLength: {
615
604
  type: "integer",
616
- minimum: 0,
617
- description: "Maximum length restriction."
605
+ minimum: 0
618
606
  },
619
607
  type: {
620
608
  "const": "string",
621
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value."
609
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
622
610
  }
623
611
  },
624
612
  required: [
@@ -654,7 +642,7 @@ function process(ctx, props) {
654
642
  properties: {
655
643
  type: {
656
644
  "const": "boolean",
657
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value."
645
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
658
646
  }
659
647
  },
660
648
  required: [
@@ -695,25 +683,23 @@ function process(ctx, props) {
695
683
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema.IOneOf"
696
684
  }
697
685
  ],
698
- description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`."
686
+ description: "Type schema of array elements."
699
687
  },
700
688
  uniqueItems: {
701
689
  type: "boolean",
702
- description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items."
690
+ description: "If `true`, array elements must be unique."
703
691
  },
704
692
  minItems: {
705
693
  type: "integer",
706
- minimum: 0,
707
- description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array."
694
+ minimum: 0
708
695
  },
709
696
  maxItems: {
710
697
  type: "integer",
711
- minimum: 0,
712
- description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array."
698
+ minimum: 0
713
699
  },
714
700
  type: {
715
701
  "const": "array",
716
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value."
702
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
717
703
  }
718
704
  },
719
705
  required: [
@@ -727,7 +713,7 @@ function process(ctx, props) {
727
713
  properties: {
728
714
  type: {
729
715
  "const": "null",
730
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value."
716
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
731
717
  }
732
718
  },
733
719
  required: [
@@ -740,7 +726,7 @@ function process(ctx, props) {
740
726
  properties: {
741
727
  $ref: {
742
728
  type: "string",
743
- description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`"
729
+ description: "JSON Pointer reference to a named schema (e.g.,\n`#/components/schemas/SomeObject`)."
744
730
  }
745
731
  },
746
732
  required: [
@@ -791,7 +777,7 @@ function process(ctx, props) {
791
777
  required: [
792
778
  "oneOf"
793
779
  ],
794
- description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type."
780
+ description: "Union type.\n\n`IOneOf` represents a union type in TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type."
795
781
  },
796
782
  "AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
797
783
  type: "object",
@@ -802,7 +788,7 @@ function process(ctx, props) {
802
788
  },
803
789
  mapping: {
804
790
  $ref: "#/components/schemas/Recordstringstring",
805
- description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`."
791
+ description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneOf} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`."
806
792
  }
807
793
  },
808
794
  required: [
@@ -824,7 +810,7 @@ function process(ctx, props) {
824
810
  properties: {
825
811
  properties: {
826
812
  $ref: "#/components/schemas/RecordstringAutoBeOpenApi.IJsonSchema",
827
- description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead."
813
+ description: "Key-value pairs of the object's named properties."
828
814
  },
829
815
  additionalProperties: {
830
816
  oneOf: [
@@ -859,18 +845,18 @@ function process(ctx, props) {
859
845
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema.IOneOf"
860
846
  }
861
847
  ],
862
- description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`"
848
+ description: "Schema for dynamic keys (`Record<string, T>`), or `false` if no\nadditional properties are allowed."
863
849
  },
864
850
  required: {
865
851
  type: "array",
866
852
  items: {
867
853
  type: "string"
868
854
  },
869
- description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```"
855
+ description: "Property keys that must be present. Properties not listed here are\noptional."
870
856
  },
871
857
  type: {
872
858
  "const": "object",
873
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value."
859
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
874
860
  }
875
861
  },
876
862
  required: [
@@ -898,14 +884,13 @@ function process(ctx, props) {
898
884
  parameters: [
899
885
  {
900
886
  name: "props",
901
- description: " Request containing either preliminary data request or complete\ntask",
902
887
  required: true,
903
888
  schema: {
904
889
  $ref: "#/components/schemas/IAutoBeInterfaceSchemaApplication.IProps"
905
890
  }
906
891
  }
907
892
  ],
908
- description: "Process schema generation task or preliminary data requests.\n\nGenerates OpenAPI components containing named schema types and integrates\nthem into the final OpenAPI specification. Processes all entity schemas,\ntheir variants, and related type definitions to ensure comprehensive and\nconsistent API design."
893
+ description: "Process task or retrieve preliminary data."
909
894
  }
910
895
  ]
911
896
  },
@@ -1718,11 +1703,11 @@ function createController(ctx, props) {
1718
1703
  type: "object",
1719
1704
  properties: {
1720
1705
  thinking: {
1721
- 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.",
1706
+ description: "Reasoning about your current state: what's missing (preliminary) or what\nyou accomplished (completion).",
1722
1707
  type: "string"
1723
1708
  },
1724
1709
  request: {
1725
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisSections, getDatabaseSchemas, getInterfaceOperations) or\nfinal schema generation (complete). When preliminary returns empty array,\nthat type is removed from the union, physically preventing repeated\ncalls.",
1710
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion.",
1726
1711
  anyOf: [
1727
1712
  {
1728
1713
  $ref: "#/$defs/IAutoBePreliminaryGetAnalysisSections"
@@ -1771,18 +1756,18 @@ function createController(ctx, props) {
1771
1756
  additionalProperties: false,
1772
1757
  $defs: {
1773
1758
  IAutoBePreliminaryGetAnalysisSections: {
1774
- 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.",
1759
+ description: "Request to retrieve individual analysis sections by numeric ID.",
1775
1760
  type: "object",
1776
1761
  properties: {
1777
1762
  type: {
1778
- 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.",
1763
+ description: "Type discriminator.",
1779
1764
  type: "string",
1780
1765
  "enum": [
1781
1766
  "getAnalysisSections"
1782
1767
  ]
1783
1768
  },
1784
1769
  sectionIds: {
1785
- 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.",
1770
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls.",
1786
1771
  type: "array",
1787
1772
  items: {
1788
1773
  type: "integer",
@@ -1798,18 +1783,18 @@ function createController(ctx, props) {
1798
1783
  ]
1799
1784
  },
1800
1785
  IAutoBePreliminaryGetDatabaseSchemas: {
1801
- 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.",
1786
+ description: "Request to retrieve database schema definitions for context.",
1802
1787
  type: "object",
1803
1788
  properties: {
1804
1789
  type: {
1805
- 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.",
1790
+ description: "Type discriminator.",
1806
1791
  type: "string",
1807
1792
  "enum": [
1808
1793
  "getDatabaseSchemas"
1809
1794
  ]
1810
1795
  },
1811
1796
  schemaNames: {
1812
- 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.",
1797
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls.",
1813
1798
  type: "array",
1814
1799
  items: {
1815
1800
  type: "string"
@@ -1823,18 +1808,18 @@ function createController(ctx, props) {
1823
1808
  ]
1824
1809
  },
1825
1810
  IAutoBePreliminaryGetInterfaceOperations: {
1826
- description: "Request to retrieve existing interface operations for context.\n\nThis type is used in the preliminary phase to request already-generated API\noperations for review, validation, or complementary generation tasks.",
1811
+ description: "Request to retrieve existing interface operations for context.",
1827
1812
  type: "object",
1828
1813
  properties: {
1829
1814
  type: {
1830
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceOperations\" indicates this is a\npreliminary data request for interface operations.",
1815
+ description: "Type discriminator.",
1831
1816
  type: "string",
1832
1817
  "enum": [
1833
1818
  "getInterfaceOperations"
1834
1819
  ]
1835
1820
  },
1836
1821
  endpoints: {
1837
- description: "List of existing API operation endpoints to retrieve.\n\nOperations that have been generated in previous phases, containing paths,\nmethods, parameters, and request/response bodies.\n\nCRITICAL: DO NOT request the same endpoints that you have already requested\nin previous calls.",
1822
+ description: "API operation endpoints to retrieve. DO NOT request same endpoints already\nrequested in previous calls.",
1838
1823
  type: "array",
1839
1824
  items: {
1840
1825
  $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
@@ -1852,12 +1837,12 @@ function createController(ctx, props) {
1852
1837
  type: "object",
1853
1838
  properties: {
1854
1839
  path: {
1855
- 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)",
1840
+ 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, `/`, `{`, `}`, `-`, `_`, `.`",
1856
1841
  type: "string",
1857
1842
  pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
1858
1843
  },
1859
1844
  method: {
1860
- 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",
1845
+ 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.",
1861
1846
  type: "string",
1862
1847
  "enum": [
1863
1848
  "get",
@@ -1874,18 +1859,18 @@ function createController(ctx, props) {
1874
1859
  ]
1875
1860
  },
1876
1861
  IAutoBePreliminaryGetPreviousAnalysisSections: {
1877
- 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.",
1862
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID.",
1878
1863
  type: "object",
1879
1864
  properties: {
1880
1865
  type: {
1881
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration.",
1866
+ description: "Type discriminator.",
1882
1867
  type: "string",
1883
1868
  "enum": [
1884
1869
  "getPreviousAnalysisSections"
1885
1870
  ]
1886
1871
  },
1887
1872
  sectionIds: {
1888
- 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.",
1873
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls.",
1889
1874
  type: "array",
1890
1875
  items: {
1891
1876
  type: "integer",
@@ -1900,18 +1885,18 @@ function createController(ctx, props) {
1900
1885
  ]
1901
1886
  },
1902
1887
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
1903
- 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",
1888
+ 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.",
1904
1889
  type: "object",
1905
1890
  properties: {
1906
1891
  type: {
1907
- 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.",
1892
+ description: "Type discriminator.",
1908
1893
  type: "string",
1909
1894
  "enum": [
1910
1895
  "getPreviousDatabaseSchemas"
1911
1896
  ]
1912
1897
  },
1913
1898
  schemaNames: {
1914
- 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\"",
1899
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls.",
1915
1900
  type: "array",
1916
1901
  items: {
1917
1902
  type: "string"
@@ -1925,18 +1910,18 @@ function createController(ctx, props) {
1925
1910
  ]
1926
1911
  },
1927
1912
  IAutoBePreliminaryGetPreviousInterfaceOperations: {
1928
- 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",
1913
+ 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.",
1929
1914
  type: "object",
1930
1915
  properties: {
1931
1916
  type: {
1932
- 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.",
1917
+ description: "Type discriminator.",
1933
1918
  type: "string",
1934
1919
  "enum": [
1935
1920
  "getPreviousInterfaceOperations"
1936
1921
  ]
1937
1922
  },
1938
1923
  endpoints: {
1939
- 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\"}`",
1924
+ description: "Endpoints to retrieve from previous iteration. DO NOT request same\nendpoints already requested in previous calls.",
1940
1925
  type: "array",
1941
1926
  items: {
1942
1927
  $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
@@ -1950,18 +1935,18 @@ function createController(ctx, props) {
1950
1935
  ]
1951
1936
  },
1952
1937
  IAutoBePreliminaryGetPreviousInterfaceSchemas: {
1953
- description: "Request to retrieve interface schemas from a previous version.\n\nThis type is used to load OpenAPI schema definitions (DTOs from\ncomponents.schemas) that were generated in a **previous version** of the\nAutoBE generation pipeline. This is NOT about re-requesting schemas within\nthe same execution, but rather accessing artifacts from an earlier version.\n\n**Use Case:** When regenerating or modifying API schemas based on user change\nrequests, agents need to reference the previously generated schemas to\nunderstand the existing DTO structure and what needs to be modified.\n\n**Key Difference from `getInterfaceSchemas`:**\n\n- `getInterfaceSchemas`: Fetches schemas from the **current version** (the\n version being generated right now)\n- `getPreviousInterfaceSchemas`: Fetches schemas from the **previous version**\n (the last successfully generated version)\n\n**Example Scenario:**\n\n Initial generation:\n - INTERFACE phase creates: IUser, IUser.ICreate, IUser.IUpdate, IPost\n - Generation completes successfully\n\n User: \"Add phone number to user profile\"\n\n Regeneration:\n - INTERFACE phase starts regeneration\n - Calls getPreviousInterfaceSchemas([\"IUser\", \"IUser.IUpdate\"])\n \u2192 Loads the previous versions of these schemas\n - Creates new versions with phoneNumber property added\n\n**Automatic Dependency Loading:**\n\nWhen schemas are loaded from the previous version, their referenced schemas\n(via `$ref`) are also available, providing complete type dependency context\nfor understanding the schema structure.\n\n**Schema Type Naming Convention:**\n\n- Entity schemas: `IEntityName` (e.g., \"IUser\", \"IPost\", \"IShoppingSale\")\n- Nested DTOs: `IEntityName.ISubType` (e.g., \"IUser.ICreate\", \"IPost.IUpdate\")\n- Response wrappers: `IPage<IEntityName>` (e.g., \"IPageIUser\", \"IPageIPost\")\n- Summary types: `IEntityName.ISummary` (e.g., \"IBbsArticle.ISummary\")\n- Authorized types: `IEntityName.IAuthorized` (e.g., \"IUser.IAuthorized\")\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 DTO changes",
1938
+ description: "Request to retrieve interface schemas from the previous iteration.\n\nLoads OpenAPI schema definitions (DTOs) from the last successfully generated\nversion, used as reference context during regeneration or modification\ncycles.",
1954
1939
  type: "object",
1955
1940
  properties: {
1956
1941
  type: {
1957
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getPreviousInterfaceSchemas\" indicates this is a\npreliminary data request for interface schemas from a previous version.",
1942
+ description: "Type discriminator.",
1958
1943
  type: "string",
1959
1944
  "enum": [
1960
1945
  "getPreviousInterfaceSchemas"
1961
1946
  ]
1962
1947
  },
1963
1948
  typeNames: {
1964
- description: "List of schema type names to retrieve from the previous version.\n\nThese are type names from the OpenAPI components.schemas section that were\ngenerated in a previous version and are needed as reference context for the\ncurrent regeneration.\n\n**Important Notes:**\n\n- These type names 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- Type names follow TypeScript interface naming (e.g., \"IUser\",\n \"IUser.ICreate\")\n\n**When This Function is Available:**\n\n- When a previous version exists\n- When user requests modifications to existing API schemas\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 interface schemas available for this orchestration task\n\n**Type Name Examples:**\n\n- Base entity: \"IShoppingSale\", \"IBbsArticle\", \"IUser\"\n- Create DTO: \"IShoppingSale.ICreate\", \"IBbsArticle.ICreate\"\n- Update DTO: \"IShoppingSale.IUpdate\", \"IUser.IUpdate\"\n- Paginated: \"IPageIShoppingSale\", \"IPageIBbsArticle\"\n- Summary: \"IShoppingSale.ISummary\", \"IBbsArticle.ISummary\"",
1949
+ description: "Schema type names to retrieve from previous iteration. DO NOT request same\nnames already requested in previous calls.",
1965
1950
  type: "array",
1966
1951
  items: {
1967
1952
  type: "string"
@@ -1975,26 +1960,26 @@ function createController(ctx, props) {
1975
1960
  ]
1976
1961
  },
1977
1962
  "IAutoBeInterfaceSchemaApplication.IComplete": {
1978
- description: "Request to generate a single OpenAPI schema component.\n\nExecutes schema generation to create a type definition for a specific DTO\ntype. Each invocation handles one schema component to ensure accuracy and\nclear responsibility.",
1963
+ description: "Request to generate a single OpenAPI schema component.",
1979
1964
  type: "object",
1980
1965
  properties: {
1981
1966
  type: {
1982
- 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.",
1967
+ description: "Type discriminator for completion request.",
1983
1968
  type: "string",
1984
1969
  "enum": [
1985
1970
  "complete"
1986
1971
  ]
1987
1972
  },
1988
1973
  analysis: {
1989
- description: "Analysis of the type's purpose and context.\n\nBefore designing the schema, analyze what you know:\n\n- What is this type for? (e.g., IProduct.ICreate is a creation request)\n- What database entities or operations inform its structure?\n- What fields should be included based on the variant type?\n- Are there related types that provide structural hints?",
1974
+ description: "Analysis of the type's purpose and context.",
1990
1975
  type: "string"
1991
1976
  },
1992
1977
  rationale: {
1993
- description: "Rationale for the schema design decisions.\n\nExplain why you designed the schema this way:\n\n- Which properties did you include and why?\n- What is required vs optional, and why?\n- Which types use $ref and why?\n- What was excluded and why? (e.g., auto-generated fields for ICreate)",
1978
+ description: "Rationale for the schema design decisions.",
1994
1979
  type: "string"
1995
1980
  },
1996
1981
  design: {
1997
- description: "Design structure for the schema being generated.\n\nContains `databaseSchema`, `specification`, `description`, and `schema`\nfields that together define a complete DTO type component.",
1982
+ description: "Schema design: database mapping, specification, description, and JSON\nSchema.",
1998
1983
  $ref: "#/$defs/AutoBeInterfaceSchemaDesign"
1999
1984
  }
2000
1985
  },
@@ -2006,11 +1991,11 @@ function createController(ctx, props) {
2006
1991
  ]
2007
1992
  },
2008
1993
  AutoBeInterfaceSchemaDesign: {
2009
- description: "Design structure for creating OpenAPI schema components.\n\nSeparates schema metadata from the actual JSON Schema definition, allowing\nclear organization of implementation details (`specification`), API\ndocumentation (`description`), and the type structure (`schema`).\n\nThe `specification` and `description` fields are documented at the design\nlevel, separate from the `schema` field which holds the pure type structure.",
1994
+ description: "Design structure for creating an OpenAPI schema component.\n\nSeparates schema metadata (specification, description) from the JSON Schema\ndefinition (schema).",
2010
1995
  type: "object",
2011
1996
  properties: {
2012
1997
  databaseSchema: {
2013
- description: "Database model name that this schema maps to.\n\nSpecifies which database table/model this DTO type corresponds to. Creates\na traceable link between API types and database entities.\n\n- Set to the exact model name (e.g., `\"shopping_customers\"`,\n `\"bbs_articles\"`) when this schema directly represents or derives from a\n database entity\n- Set to `null` for:\n\n - Computed/aggregated types (e.g., statistics, summaries from multiple\n tables)\n - Types composed purely by business logic (e.g., search filters, pagination)\n - Embedded JSON structures without dedicated tables\n\nWhen `null`, the `specification` field becomes critical for downstream\nagents to understand how to implement data retrieval or computation.",
1998
+ description: "Database model name this schema maps to, or `null` for computed/aggregated\ntypes.\n\nWhen `null`, `specification` becomes critical for downstream agents.",
2014
1999
  anyOf: [
2015
2000
  {
2016
2001
  type: "null"
@@ -2021,15 +2006,15 @@ function createController(ctx, props) {
2021
2006
  ]
2022
2007
  },
2023
2008
  specification: {
2024
- description: "Implementation specification for downstream agents.\n\nDetailed guidance on HOW to implement data retrieval, transformation, or\ncomputation for this type. Internal documentation for Realize Agent, Test\nAgent, and other implementation agents - NOT exposed in public API docs.\n\n**When `databaseSchema` is set** (direct mapping):\n\n- Can be brief for simple cases\n- Focus on any non-obvious mapping details\n\n**When `databaseSchema` is `null`** (computed/aggregated types):\n\nThis field is CRITICAL. Must include:\n\n- Source tables and columns involved\n- JOIN conditions between tables\n- Aggregation formulas (SUM, COUNT, AVG, etc.)\n- Business rules and transformation logic\n- Edge cases (nulls, empty sets, defaults)\n\nMust be precise enough for downstream agents to implement the actual data\nretrieval or computation. Vague specifications are unacceptable.",
2009
+ description: "Implementation guidance for downstream agents (Realize, Test). NOT exposed\nin public API docs.\n\nWhen `databaseSchema` is set: brief mapping details. When `null`: MUST\ninclude source tables, JOINs, aggregation formulas, business rules, and\nedge cases.",
2025
2010
  type: "string"
2026
2011
  },
2027
2012
  description: {
2028
- description: "API documentation for consumers.\n\nStandard OpenAPI description displayed in Swagger UI, SDK documentation,\nand other API documentation tools. Focus on explaining WHAT the type\nrepresents and WHY it exists from an API consumer's perspective.\n\nGuidelines:\n\n- Reference corresponding database schema documentation for consistency\n- Organize into multiple paragraphs for complex types\n- Focus on business meaning, relationships, and constraints\n- Keep accessible to API consumers (no implementation details)\n- MUST be written in English",
2013
+ description: "API documentation for consumers (Swagger UI). Focus on WHAT the type\nrepresents. Reference DB schema documentation for consistency.\n\n- MUST be written in English",
2029
2014
  type: "string"
2030
2015
  },
2031
2016
  schema: {
2032
- description: "JSON Schema definition for the type.\n\nThe actual type structure following OpenAPI v3.1 JSON Schema specification.\nCan be any valid JSON Schema type: object, array, string, number, integer,\nboolean, oneOf, or $ref.\n\nImportant:\n\n- For union types, use `oneOf` - NEVER use array notation in `type` field\n- For nullable types, use `oneOf: [{ type: \"...\" }, { type: \"null\" }]`\n- Object properties should have clear, descriptive names in camelCase\n- Use `$ref` for referencing other named schemas",
2017
+ description: "JSON Schema definition.\n\nFor union/nullable types, use `oneOf` \u2014 NEVER array in `type` field. Use\n`$ref` for referencing named schemas. Object property names in camelCase.",
2033
2018
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
2034
2019
  }
2035
2020
  },
@@ -2041,7 +2026,7 @@ function createController(ctx, props) {
2041
2026
  ]
2042
2027
  },
2043
2028
  "AutoBeOpenApi.IJsonSchema": {
2044
- description: "Type schema info.\n\n`AutoBeOpenApi.IJsonSchema` is a type schema info of the OpenAPI\nGenerative.\n\n`AutoBeOpenApi.IJsonSchema` basically follows the JSON schema specification\nof OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience, clarity, and AI\ngeneration.\n\n## CRITICAL: Union Type Expression\n\nIn this type system, union types (including nullable types) MUST be\nexpressed using the `IOneOf` structure. NEVER use array notation in the\n`type` field.\n\n\u274C **FORBIDDEN** - Array notation in type field:\n\n```typescript\n{\n \"type\": [\"string\", \"null\"] // NEVER DO THIS!\n}\n```\n\n\u2705 **CORRECT** - Using IOneOf for unions:\n\n```typescript\n// For nullable string:\n{\n oneOf: [{ type: \"string\" }, { type: \"null\" }];\n}\n\n// For string | number union:\n{\n oneOf: [{ type: \"string\" }, { type: \"number\" }];\n}\n```\n\nThe `type` field in any schema object is a discriminator that identifies\nthe schema type and MUST contain exactly one string value.",
2029
+ description: "JSON Schema type following OpenAPI v3.1 (simplified).\n\nCRITICAL: Union types MUST use `IOneOf`. NEVER use array in `type` field.\n\nWrong: `{ type: [\"string\", \"null\"] }` Correct: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`\n\nThe `type` field is a discriminator and MUST be a single string value.",
2045
2030
  anyOf: [
2046
2031
  {
2047
2032
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
@@ -2080,28 +2065,23 @@ function createController(ctx, props) {
2080
2065
  type: "object",
2081
2066
  properties: {
2082
2067
  minimum: {
2083
- description: "Minimum value restriction.",
2084
2068
  type: "integer"
2085
2069
  },
2086
2070
  maximum: {
2087
- description: "Maximum value restriction.",
2088
2071
  type: "integer"
2089
2072
  },
2090
2073
  exclusiveMinimum: {
2091
- description: "Exclusive minimum value restriction.",
2092
2074
  type: "integer"
2093
2075
  },
2094
2076
  exclusiveMaximum: {
2095
- description: "Exclusive maximum value restriction.",
2096
2077
  type: "integer"
2097
2078
  },
2098
2079
  multipleOf: {
2099
- description: "Multiple of value restriction.",
2100
2080
  type: "integer",
2101
2081
  exclusiveMinimum: 0
2102
2082
  },
2103
2083
  type: {
2104
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2084
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2105
2085
  type: "string",
2106
2086
  "enum": [
2107
2087
  "integer"
@@ -2117,28 +2097,23 @@ function createController(ctx, props) {
2117
2097
  type: "object",
2118
2098
  properties: {
2119
2099
  minimum: {
2120
- description: "Minimum value restriction.",
2121
2100
  type: "number"
2122
2101
  },
2123
2102
  maximum: {
2124
- description: "Maximum value restriction.",
2125
2103
  type: "number"
2126
2104
  },
2127
2105
  exclusiveMinimum: {
2128
- description: "Exclusive minimum value restriction.",
2129
2106
  type: "number"
2130
2107
  },
2131
2108
  exclusiveMaximum: {
2132
- description: "Exclusive maximum value restriction.",
2133
2109
  type: "number"
2134
2110
  },
2135
2111
  multipleOf: {
2136
- description: "Multiple of value restriction.",
2137
2112
  type: "number",
2138
2113
  exclusiveMinimum: 0
2139
2114
  },
2140
2115
  type: {
2141
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2116
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2142
2117
  type: "string",
2143
2118
  "enum": [
2144
2119
  "number"
@@ -2185,21 +2160,19 @@ function createController(ctx, props) {
2185
2160
  type: "string"
2186
2161
  },
2187
2162
  contentMediaType: {
2188
- description: "Content media type restriction.\n\nIf you want to accept multiple contentMediaType values simultaneously\n(e.g., `text/plain` and `text/html`), you MUST NOT violate the type by\nusing an array. Instead, use `oneOf` to define multiple `string`\nschemas with different `contentMediaType` values.\n\nExample for accepting both text/plain and text/html:\n\n```typescript\n{\n \"oneOf\": [\n { \"type\": \"string\", \"contentMediaType\": \"text/plain\" },\n { \"type\": \"string\", \"contentMediaType\": \"text/html\" }\n ]\n}\n```\n\nThis is the CORRECT approach. Never use array notation or modify the\nsingle string type to accept arrays.",
2163
+ description: "Content media type restriction.\n\nFor multiple media types, use `oneOf` with separate string schemas per\n`contentMediaType` value. Never use an array here.",
2189
2164
  type: "string"
2190
2165
  },
2191
2166
  minLength: {
2192
- description: "Minimum length restriction.",
2193
2167
  type: "integer",
2194
2168
  minimum: 0
2195
2169
  },
2196
2170
  maxLength: {
2197
- description: "Maximum length restriction.",
2198
2171
  type: "integer",
2199
2172
  minimum: 0
2200
2173
  },
2201
2174
  type: {
2202
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2175
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2203
2176
  type: "string",
2204
2177
  "enum": [
2205
2178
  "string"
@@ -2238,7 +2211,7 @@ function createController(ctx, props) {
2238
2211
  type: "object",
2239
2212
  properties: {
2240
2213
  type: {
2241
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2214
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2242
2215
  type: "string",
2243
2216
  "enum": [
2244
2217
  "boolean"
@@ -2254,7 +2227,7 @@ function createController(ctx, props) {
2254
2227
  type: "object",
2255
2228
  properties: {
2256
2229
  items: {
2257
- description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
2230
+ description: "Type schema of array elements.",
2258
2231
  anyOf: [
2259
2232
  {
2260
2233
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
@@ -2286,21 +2259,19 @@ function createController(ctx, props) {
2286
2259
  ]
2287
2260
  },
2288
2261
  uniqueItems: {
2289
- description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
2262
+ description: "If `true`, array elements must be unique.",
2290
2263
  type: "boolean"
2291
2264
  },
2292
2265
  minItems: {
2293
- description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.",
2294
2266
  type: "integer",
2295
2267
  minimum: 0
2296
2268
  },
2297
2269
  maxItems: {
2298
- description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.",
2299
2270
  type: "integer",
2300
2271
  minimum: 0
2301
2272
  },
2302
2273
  type: {
2303
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2274
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2304
2275
  type: "string",
2305
2276
  "enum": [
2306
2277
  "array"
@@ -2317,7 +2288,7 @@ function createController(ctx, props) {
2317
2288
  type: "object",
2318
2289
  properties: {
2319
2290
  type: {
2320
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2291
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2321
2292
  type: "string",
2322
2293
  "enum": [
2323
2294
  "null"
@@ -2333,7 +2304,7 @@ function createController(ctx, props) {
2333
2304
  type: "object",
2334
2305
  properties: {
2335
2306
  $ref: {
2336
- description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
2307
+ description: "JSON Pointer reference to a named schema (e.g.,\n`#/components/schemas/SomeObject`).",
2337
2308
  type: "string"
2338
2309
  }
2339
2310
  },
@@ -2342,7 +2313,7 @@ function createController(ctx, props) {
2342
2313
  ]
2343
2314
  },
2344
2315
  "AutoBeOpenApi.IJsonSchema.IOneOf": {
2345
- description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
2316
+ description: "Union type.\n\n`IOneOf` represents a union type in TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
2346
2317
  type: "object",
2347
2318
  properties: {
2348
2319
  oneOf: {
@@ -2395,7 +2366,7 @@ function createController(ctx, props) {
2395
2366
  type: "string"
2396
2367
  },
2397
2368
  mapping: {
2398
- description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`.",
2369
+ description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneOf} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`.",
2399
2370
  $ref: "#/$defs/Recordstringstring"
2400
2371
  }
2401
2372
  },
@@ -2417,11 +2388,11 @@ function createController(ctx, props) {
2417
2388
  type: "object",
2418
2389
  properties: {
2419
2390
  properties: {
2420
- description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
2391
+ description: "Key-value pairs of the object's named properties.",
2421
2392
  $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchema"
2422
2393
  },
2423
2394
  additionalProperties: {
2424
- description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
2395
+ description: "Schema for dynamic keys (`Record<string, T>`), or `false` if no\nadditional properties are allowed.",
2425
2396
  anyOf: [
2426
2397
  {
2427
2398
  type: "boolean",
@@ -2459,14 +2430,14 @@ function createController(ctx, props) {
2459
2430
  ]
2460
2431
  },
2461
2432
  required: {
2462
- description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
2433
+ description: "Property keys that must be present. Properties not listed here are\noptional.",
2463
2434
  type: "array",
2464
2435
  items: {
2465
2436
  type: "string"
2466
2437
  }
2467
2438
  },
2468
2439
  type: {
2469
- description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
2440
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2470
2441
  type: "string",
2471
2442
  "enum": [
2472
2443
  "object"
@@ -2490,7 +2461,7 @@ function createController(ctx, props) {
2490
2461
  }
2491
2462
  }
2492
2463
  },
2493
- description: "Process schema generation task or preliminary data requests.\n\nGenerates OpenAPI components containing named schema types and integrates\nthem into the final OpenAPI specification. Processes all entity schemas,\ntheir variants, and related type definitions to ensure comprehensive and\nconsistent API design.",
2464
+ description: "Process task or retrieve preliminary data.",
2494
2465
  validate: (() => { const _iv8 = new Set(["password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date-time", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv18 = new Set(["password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date-time", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu1(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 => "getInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem)))); const _io4 = input => "string" === typeof input.path && RegExp("^\\/[a-zA-Z0-9\\/_{}.-]*$").test(input.path) && ("get" === input.method || "post" === input.method || "put" === input.method || "delete" === input.method || "patch" === input.method); const _io5 = 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 _io6 = input => "getPreviousDatabaseSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io7 = input => "getPreviousInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem)))); const _io8 = input => "getPreviousInterfaceSchemas" === input.type && (Array.isArray(input.typeNames) && (1 <= input.typeNames.length && input.typeNames.every(elem => "string" === typeof elem))); const _io9 = input => "complete" === input.type && "string" === typeof input.analysis && "string" === typeof input.rationale && ("object" === typeof input.design && null !== input.design && _io10(input.design)); const _io10 = input => (null === input.databaseSchema || "string" === typeof input.databaseSchema) && "string" === typeof input.specification && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _iu2(input.schema)); const _io11 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum && (Math.floor(input.exclusiveMinimum) === input.exclusiveMinimum && -9223372036854776000 <= input.exclusiveMinimum && input.exclusiveMinimum <= 9223372036854776000)) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum && (Math.floor(input.exclusiveMaximum) === input.exclusiveMaximum && -9223372036854776000 <= input.exclusiveMaximum && input.exclusiveMaximum <= 9223372036854776000)) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io12 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io13 = input => (undefined === input.format || true === _iv8.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io14 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io15 = input => "boolean" === input.type; const _io16 = input => "object" === typeof input.items && null !== input.items && _iu3(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io17 = input => "string" === typeof input.$ref; const _io18 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io20(input.discriminator)); const _io19 = input => "null" === input.type; const _io20 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io21(input.mapping)); const _io21 = input => Object.keys(input).every(key => {
2495
2466
  const value = input[key];
2496
2467
  if (undefined === value)