@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
@@ -102,7 +102,7 @@ function process(ctx, props) {
102
102
  properties: {
103
103
  thinking: {
104
104
  type: "string",
105
- 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."
105
+ description: "Reasoning about your current state: what's missing (preliminary) or what\nyou accomplished (completion)."
106
106
  },
107
107
  request: {
108
108
  oneOf: [
@@ -148,21 +148,21 @@ function process(ctx, props) {
148
148
  complete: "#/components/schemas/IAutoBeInterfaceSchemaCastingApplication.IComplete"
149
149
  }
150
150
  },
151
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisSections, getDatabaseSchemas, getInterfaceOperations,\ngetInterfaceSchemas, etc.) or final refinement decision (complete). When\npreliminary returns empty array, that type is removed from the union,\nphysically preventing repeated calls."
151
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion."
152
152
  }
153
153
  },
154
154
  required: [
155
155
  "thinking",
156
156
  "request"
157
157
  ],
158
- description: "Properties for schema refinement processing."
158
+ description: "Properties for schema casting processing."
159
159
  },
160
160
  IAutoBePreliminaryGetAnalysisSections: {
161
161
  type: "object",
162
162
  properties: {
163
163
  type: {
164
164
  "const": "getAnalysisSections",
165
- 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."
165
+ description: "Type discriminator."
166
166
  },
167
167
  sectionIds: {
168
168
  type: "array",
@@ -172,21 +172,21 @@ function process(ctx, props) {
172
172
  },
173
173
  minItems: 1,
174
174
  maxItems: 100,
175
- 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."
175
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls."
176
176
  }
177
177
  },
178
178
  required: [
179
179
  "type",
180
180
  "sectionIds"
181
181
  ],
182
- 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."
182
+ description: "Request to retrieve individual analysis sections by numeric ID."
183
183
  },
184
184
  IAutoBePreliminaryGetDatabaseSchemas: {
185
185
  type: "object",
186
186
  properties: {
187
187
  type: {
188
188
  "const": "getDatabaseSchemas",
189
- 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."
189
+ description: "Type discriminator."
190
190
  },
191
191
  schemaNames: {
192
192
  type: "array",
@@ -194,21 +194,21 @@ function process(ctx, props) {
194
194
  type: "string"
195
195
  },
196
196
  minItems: 1,
197
- 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."
197
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls."
198
198
  }
199
199
  },
200
200
  required: [
201
201
  "type",
202
202
  "schemaNames"
203
203
  ],
204
- 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."
204
+ description: "Request to retrieve database schema definitions for context."
205
205
  },
206
206
  IAutoBePreliminaryGetInterfaceOperations: {
207
207
  type: "object",
208
208
  properties: {
209
209
  type: {
210
210
  "const": "getInterfaceOperations",
211
- 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."
211
+ description: "Type discriminator."
212
212
  },
213
213
  endpoints: {
214
214
  type: "array",
@@ -216,14 +216,14 @@ function process(ctx, props) {
216
216
  $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
217
217
  },
218
218
  minItems: 1,
219
- 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."
219
+ description: "API operation endpoints to retrieve. DO NOT request same endpoints already\nrequested in previous calls."
220
220
  }
221
221
  },
222
222
  required: [
223
223
  "type",
224
224
  "endpoints"
225
225
  ],
226
- 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."
226
+ description: "Request to retrieve existing interface operations for context."
227
227
  },
228
228
  "AutoBeOpenApi.IEndpoint": {
229
229
  type: "object",
@@ -231,7 +231,7 @@ function process(ctx, props) {
231
231
  path: {
232
232
  type: "string",
233
233
  pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$",
234
- 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)"
234
+ 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, `/`, `{`, `}`, `-`, `_`, `.`"
235
235
  },
236
236
  method: {
237
237
  oneOf: [
@@ -251,7 +251,7 @@ function process(ctx, props) {
251
251
  "const": "patch"
252
252
  }
253
253
  ],
254
- 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"
254
+ 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."
255
255
  }
256
256
  },
257
257
  required: [
@@ -265,7 +265,7 @@ function process(ctx, props) {
265
265
  properties: {
266
266
  type: {
267
267
  "const": "getInterfaceSchemas",
268
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceSchemas\" indicates this is a preliminary\ndata request for interface schemas."
268
+ description: "Type discriminator."
269
269
  },
270
270
  typeNames: {
271
271
  type: "array",
@@ -273,21 +273,21 @@ function process(ctx, props) {
273
273
  type: "string"
274
274
  },
275
275
  minItems: 1,
276
- description: "List of schema type names to retrieve.\n\nSchema names from the OpenAPI components.schemas section (e.g., \"IUser\",\n\"IUser.ICreate\", \"IPost.IUpdate\").\n\nCRITICAL: DO NOT request the same type names that you have already\nrequested in previous calls."
276
+ description: "Schema type names to retrieve. DO NOT request same names already requested\nin previous calls."
277
277
  }
278
278
  },
279
279
  required: [
280
280
  "type",
281
281
  "typeNames"
282
282
  ],
283
- description: "Request to retrieve OpenAPI schema type definitions for context.\n\nThis type is used in the preliminary phase to request specific schema\ndefinitions from components.schemas for review or complementary generation."
283
+ description: "Request to retrieve OpenAPI schema type definitions for context."
284
284
  },
285
285
  IAutoBePreliminaryGetPreviousAnalysisSections: {
286
286
  type: "object",
287
287
  properties: {
288
288
  type: {
289
289
  "const": "getPreviousAnalysisSections",
290
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration."
290
+ description: "Type discriminator."
291
291
  },
292
292
  sectionIds: {
293
293
  type: "array",
@@ -296,21 +296,21 @@ function process(ctx, props) {
296
296
  minimum: 0
297
297
  },
298
298
  minItems: 1,
299
- 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."
299
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls."
300
300
  }
301
301
  },
302
302
  required: [
303
303
  "type",
304
304
  "sectionIds"
305
305
  ],
306
- 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."
306
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID."
307
307
  },
308
308
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
309
309
  type: "object",
310
310
  properties: {
311
311
  type: {
312
312
  "const": "getPreviousDatabaseSchemas",
313
- 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."
313
+ description: "Type discriminator."
314
314
  },
315
315
  schemaNames: {
316
316
  type: "array",
@@ -318,21 +318,21 @@ function process(ctx, props) {
318
318
  type: "string"
319
319
  },
320
320
  minItems: 1,
321
- 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\""
321
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls."
322
322
  }
323
323
  },
324
324
  required: [
325
325
  "type",
326
326
  "schemaNames"
327
327
  ],
328
- 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"
328
+ 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."
329
329
  },
330
330
  IAutoBePreliminaryGetPreviousInterfaceOperations: {
331
331
  type: "object",
332
332
  properties: {
333
333
  type: {
334
334
  "const": "getPreviousInterfaceOperations",
335
- 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."
335
+ description: "Type discriminator."
336
336
  },
337
337
  endpoints: {
338
338
  type: "array",
@@ -340,21 +340,21 @@ function process(ctx, props) {
340
340
  $ref: "#/components/schemas/AutoBeOpenApi.IEndpoint"
341
341
  },
342
342
  minItems: 1,
343
- 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\"}`"
343
+ description: "Endpoints to retrieve from previous iteration. DO NOT request same\nendpoints already requested in previous calls."
344
344
  }
345
345
  },
346
346
  required: [
347
347
  "type",
348
348
  "endpoints"
349
349
  ],
350
- 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"
350
+ 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."
351
351
  },
352
352
  IAutoBePreliminaryGetPreviousInterfaceSchemas: {
353
353
  type: "object",
354
354
  properties: {
355
355
  type: {
356
356
  "const": "getPreviousInterfaceSchemas",
357
- 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."
357
+ description: "Type discriminator."
358
358
  },
359
359
  typeNames: {
360
360
  type: "array",
@@ -362,33 +362,33 @@ function process(ctx, props) {
362
362
  type: "string"
363
363
  },
364
364
  minItems: 1,
365
- 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\""
365
+ description: "Schema type names to retrieve from previous iteration. DO NOT request same\nnames already requested in previous calls."
366
366
  }
367
367
  },
368
368
  required: [
369
369
  "type",
370
370
  "typeNames"
371
371
  ],
372
- 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"
372
+ 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."
373
373
  },
374
374
  "IAutoBeInterfaceSchemaCastingApplication.IComplete": {
375
375
  type: "object",
376
376
  properties: {
377
377
  type: {
378
378
  "const": "complete",
379
- 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 refinement\ndecision request."
379
+ description: "Type discriminator for completion request."
380
380
  },
381
381
  observation: {
382
382
  type: "string",
383
- description: "Observation of the current type and its documentation.\n\nDescribe what you observe about the type being analyzed:\n\n- What is the current type definition? (e.g., `type IFoo = number`)\n- What does the JSDoc/description say about the type?\n- Are there any database schema hints (JSON field, etc.)?\n- What does the naming suggest? (e.g., \"Distribution\", \"Preferences\")\n\nThis is purely descriptive - state facts without judgment."
383
+ description: "Factual observation of the current type definition, JSDoc, schema hints,\nand naming."
384
384
  },
385
385
  reasoning: {
386
386
  type: "string",
387
- description: "Reasoning about whether the type is degenerate.\n\nAnalyze the observations and explain your reasoning:\n\n- Does the documentation describe a structure that contradicts the\n primitive type?\n- Are there keywords suggesting complex structure? (key/value, array, list,\n contains, mapping)\n- Is this a legitimate semantic alias? (e.g., `IUserId = string`)\n- What type SHOULD this be based on the evidence?"
387
+ description: "Reasoning about whether documentation contradicts the primitive type."
388
388
  },
389
389
  verdict: {
390
390
  type: "string",
391
- description: "Final verdict on whether to refine the type.\n\nState your conclusion clearly:\n\n- Is this a degenerate type that needs refinement, or a valid primitive?\n- Summarize the key evidence that led to this decision.\n- If refining, briefly describe what the correct type should be."
391
+ description: "Final verdict: \"degenerate\" (needs casting to object) or \"valid\nprimitive\"."
392
392
  },
393
393
  casting: {
394
394
  oneOf: [
@@ -399,7 +399,7 @@ function process(ctx, props) {
399
399
  $ref: "#/components/schemas/AutoBeInterfaceSchemaCasting"
400
400
  }
401
401
  ],
402
- description: "Casting design for the corrected object schema, or `null` if intentional.\n\nWhen the type is degenerate: provide the casting design with corrected\nobject schema containing `databaseSchema`, `specification`,\n`description`, and `schema` fields.\n\nWhen the type is intentional (valid primitive alias): set to `null`."
402
+ description: "Corrected object schema casting design, or `null` if the primitive is\nintentional."
403
403
  }
404
404
  },
405
405
  required: [
@@ -409,7 +409,7 @@ function process(ctx, props) {
409
409
  "verdict",
410
410
  "casting"
411
411
  ],
412
- description: "Request to complete schema refinement analysis.\n\nExecutes the final refinement decision after analyzing a potentially\ndegenerate primitive type. Uses structured Chain-of-Thought reasoning\nthrough observation, reasoning, and verdict properties to ensure systematic\nevaluation before making a decision."
412
+ description: "Complete schema casting analysis via Chain-of-Thought (observation,\nreasoning, verdict)."
413
413
  },
414
414
  AutoBeInterfaceSchemaCasting: {
415
415
  type: "object",
@@ -423,19 +423,19 @@ function process(ctx, props) {
423
423
  type: "string"
424
424
  }
425
425
  ],
426
- description: "Database model name that this schema maps to.\n\nSpecifies which database table/model this DTO type corresponds to after\ncasting. Creates a traceable link between API types and database entities.\n\n- Set to the exact model name (e.g., `\"shopping_customers\"`,\n `\"bbs_articles\"`) when the corrected object schema represents a database\n entity\n- Set to `null` for:\n\n - Embedded JSON structures stored in a column without dedicated table\n - Computed objects derived from multiple sources\n - Pure configuration or parameter objects\n\nWhen `null`, the `specification` field becomes critical for downstream\nagents to understand how to implement data retrieval or computation."
426
+ description: "Database model name after casting, or `null` for embedded/computed types.\n\nWhen `null`, `specification` becomes critical for downstream agents."
427
427
  },
428
428
  specification: {
429
429
  type: "string",
430
- description: "Implementation specification for downstream agents.\n\nDetailed guidance on HOW to implement data retrieval, transformation, or\ncomputation for this corrected type. Internal documentation for Realize\nAgent and Test Agent - NOT exposed in public API documentation.\n\n**When `databaseSchema` is set** (direct mapping):\n\n- Can be brief for simple cases\n- Focus on parsing/serialization if stored as JSON column\n\n**When `databaseSchema` is `null`** (embedded/computed types):\n\nThis field is CRITICAL. Must include:\n\n- How the data was previously stored (e.g., JSON string in DB column)\n- Source tables and columns involved\n- Parsing/serialization requirements\n- Validation rules for the object structure\n- Edge cases (nulls, empty objects, defaults)\n\nMust be precise enough for downstream agents to implement the actual data\nretrieval or computation. Vague specifications are unacceptable."
430
+ description: "Implementation guidance for downstream agents. NOT exposed in public API\ndocs.\n\nWhen `databaseSchema` is set: brief mapping details. When `null`: MUST\ninclude source tables, parsing/serialization requirements, validation\nrules, and edge cases."
431
431
  },
432
432
  description: {
433
433
  type: "string",
434
- 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 corrected\ntype represents from an API consumer's perspective.\n\nGuidelines:\n\n- Describe the object's purpose and structure clearly\n- Explain the overall business meaning and usage context\n- Organize into multiple paragraphs for complex types\n- Keep accessible to API consumers (no implementation details)\n- MUST be written in English"
434
+ description: "API documentation for consumers (Swagger UI). Focus on WHAT the corrected\ntype represents.\n\n- MUST be written in English"
435
435
  },
436
436
  schema: {
437
437
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema.IObject",
438
- description: "Object schema definition for the corrected type.\n\nThe corrected object structure that replaces the degenerate primitive type.\nMUST be an object schema with proper properties and required array.\n\nWhen designing the object schema:\n\n- Analyze the original JSDoc/description for structural hints\n- Look for keywords like \"contains\", \"includes\", \"mapping\", \"key/value\"\n- Consider database JSON column structure if applicable\n- Include all properties mentioned or implied in documentation\n- Set appropriate `required` array based on business rules"
438
+ description: "Corrected object schema replacing the degenerate primitive. MUST be an\nobject schema with properties and required array."
439
439
  }
440
440
  },
441
441
  required: [
@@ -444,14 +444,14 @@ function process(ctx, props) {
444
444
  "description",
445
445
  "schema"
446
446
  ],
447
- description: "Design structure for casting primitive types to object schemas.\n\nUsed when a degenerate primitive type alias (e.g., `type IPreferences =\nstring`) needs to be corrected to a proper object schema. The casting agent\nanalyzes JSDoc descriptions, database hints, and naming conventions to\ndetermine the correct object structure."
447
+ description: "Design structure for casting a degenerate primitive type to an object schema.\n\nUsed when a primitive alias (e.g., `type IPreferences = string`) needs\ncorrection to a proper object schema based on JSDoc, DB hints, and naming."
448
448
  },
449
449
  "AutoBeOpenApi.IJsonSchema.IObject": {
450
450
  type: "object",
451
451
  properties: {
452
452
  properties: {
453
453
  $ref: "#/components/schemas/RecordstringAutoBeOpenApi.IJsonSchema",
454
- 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."
454
+ description: "Key-value pairs of the object's named properties."
455
455
  },
456
456
  additionalProperties: {
457
457
  oneOf: [
@@ -486,18 +486,18 @@ function process(ctx, props) {
486
486
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema.IOneOf"
487
487
  }
488
488
  ],
489
- 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>`"
489
+ description: "Schema for dynamic keys (`Record<string, T>`), or `false` if no\nadditional properties are allowed."
490
490
  },
491
491
  required: {
492
492
  type: "array",
493
493
  items: {
494
494
  type: "string"
495
495
  },
496
- 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```"
496
+ description: "Property keys that must be present. Properties not listed here are\noptional."
497
497
  },
498
498
  type: {
499
499
  "const": "object",
500
- 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."
500
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
501
501
  }
502
502
  },
503
503
  required: [
@@ -549,35 +549,30 @@ function process(ctx, props) {
549
549
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema.INull"
550
550
  }
551
551
  ],
552
- 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."
552
+ 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."
553
553
  },
554
554
  "AutoBeOpenApi.IJsonSchema.IInteger": {
555
555
  type: "object",
556
556
  properties: {
557
557
  minimum: {
558
- type: "integer",
559
- description: "Minimum value restriction."
558
+ type: "integer"
560
559
  },
561
560
  maximum: {
562
- type: "integer",
563
- description: "Maximum value restriction."
561
+ type: "integer"
564
562
  },
565
563
  exclusiveMinimum: {
566
- type: "integer",
567
- description: "Exclusive minimum value restriction."
564
+ type: "integer"
568
565
  },
569
566
  exclusiveMaximum: {
570
- type: "integer",
571
- description: "Exclusive maximum value restriction."
567
+ type: "integer"
572
568
  },
573
569
  multipleOf: {
574
570
  type: "integer",
575
- exclusiveMinimum: 0,
576
- description: "Multiple of value restriction."
571
+ exclusiveMinimum: 0
577
572
  },
578
573
  type: {
579
574
  "const": "integer",
580
- 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."
575
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
581
576
  }
582
577
  },
583
578
  required: [
@@ -589,29 +584,24 @@ function process(ctx, props) {
589
584
  type: "object",
590
585
  properties: {
591
586
  minimum: {
592
- type: "number",
593
- description: "Minimum value restriction."
587
+ type: "number"
594
588
  },
595
589
  maximum: {
596
- type: "number",
597
- description: "Maximum value restriction."
590
+ type: "number"
598
591
  },
599
592
  exclusiveMinimum: {
600
- type: "number",
601
- description: "Exclusive minimum value restriction."
593
+ type: "number"
602
594
  },
603
595
  exclusiveMaximum: {
604
- type: "number",
605
- description: "Exclusive maximum value restriction."
596
+ type: "number"
606
597
  },
607
598
  multipleOf: {
608
599
  type: "number",
609
- exclusiveMinimum: 0,
610
- description: "Multiple of value restriction."
600
+ exclusiveMinimum: 0
611
601
  },
612
602
  type: {
613
603
  "const": "number",
614
- 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."
604
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
615
605
  }
616
606
  },
617
607
  required: [
@@ -696,21 +686,19 @@ function process(ctx, props) {
696
686
  },
697
687
  contentMediaType: {
698
688
  type: "string",
699
- 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."
689
+ 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."
700
690
  },
701
691
  minLength: {
702
692
  type: "integer",
703
- minimum: 0,
704
- description: "Minimum length restriction."
693
+ minimum: 0
705
694
  },
706
695
  maxLength: {
707
696
  type: "integer",
708
- minimum: 0,
709
- description: "Maximum length restriction."
697
+ minimum: 0
710
698
  },
711
699
  type: {
712
700
  "const": "string",
713
- 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."
701
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
714
702
  }
715
703
  },
716
704
  required: [
@@ -746,7 +734,7 @@ function process(ctx, props) {
746
734
  properties: {
747
735
  type: {
748
736
  "const": "boolean",
749
- 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."
737
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
750
738
  }
751
739
  },
752
740
  required: [
@@ -787,25 +775,23 @@ function process(ctx, props) {
787
775
  $ref: "#/components/schemas/AutoBeOpenApi.IJsonSchema.IOneOf"
788
776
  }
789
777
  ],
790
- 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>`."
778
+ description: "Type schema of array elements."
791
779
  },
792
780
  uniqueItems: {
793
781
  type: "boolean",
794
- description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items."
782
+ description: "If `true`, array elements must be unique."
795
783
  },
796
784
  minItems: {
797
785
  type: "integer",
798
- minimum: 0,
799
- description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array."
786
+ minimum: 0
800
787
  },
801
788
  maxItems: {
802
789
  type: "integer",
803
- minimum: 0,
804
- description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array."
790
+ minimum: 0
805
791
  },
806
792
  type: {
807
793
  "const": "array",
808
- 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."
794
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
809
795
  }
810
796
  },
811
797
  required: [
@@ -819,7 +805,7 @@ function process(ctx, props) {
819
805
  properties: {
820
806
  type: {
821
807
  "const": "null",
822
- 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."
808
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`"
823
809
  }
824
810
  },
825
811
  required: [
@@ -832,7 +818,7 @@ function process(ctx, props) {
832
818
  properties: {
833
819
  $ref: {
834
820
  type: "string",
835
- 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`"
821
+ description: "JSON Pointer reference to a named schema (e.g.,\n`#/components/schemas/SomeObject`)."
836
822
  }
837
823
  },
838
824
  required: [
@@ -883,7 +869,7 @@ function process(ctx, props) {
883
869
  required: [
884
870
  "oneOf"
885
871
  ],
886
- 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."
872
+ 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."
887
873
  },
888
874
  "AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
889
875
  type: "object",
@@ -894,7 +880,7 @@ function process(ctx, props) {
894
880
  },
895
881
  mapping: {
896
882
  $ref: "#/components/schemas/Recordstringstring",
897
- 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`."
883
+ 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`."
898
884
  }
899
885
  },
900
886
  required: [
@@ -920,14 +906,13 @@ function process(ctx, props) {
920
906
  parameters: [
921
907
  {
922
908
  name: "props",
923
- description: " Request containing either preliminary data request or\nrefinement completion",
924
909
  required: true,
925
910
  schema: {
926
911
  $ref: "#/components/schemas/IAutoBeInterfaceSchemaCastingApplication.IProps"
927
912
  }
928
913
  }
929
914
  ],
930
- description: "Process schema refinement task or preliminary data requests.\n\nAnalyzes a potentially degenerate primitive type alias and determines\nwhether it should be refined into a proper object schema structure. Uses\nChain-of-Thought reasoning to systematically evaluate the type."
915
+ description: "Process task or retrieve preliminary data."
931
916
  }
932
917
  ]
933
918
  },
@@ -1770,15 +1755,15 @@ function createController(ctx, props) {
1770
1755
  {
1771
1756
  name: "process",
1772
1757
  parameters: {
1773
- description: "Properties for schema refinement processing.\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceSchemaCastingApplication.IProps} type:\n\n> Properties for schema refinement processing.",
1758
+ description: "Properties for schema casting processing.\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceSchemaCastingApplication.IProps} type:\n\n> Properties for schema casting processing.",
1774
1759
  type: "object",
1775
1760
  properties: {
1776
1761
  thinking: {
1777
- 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.",
1762
+ description: "Reasoning about your current state: what's missing (preliminary) or what\nyou accomplished (completion).",
1778
1763
  type: "string"
1779
1764
  },
1780
1765
  request: {
1781
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getAnalysisSections, getDatabaseSchemas, getInterfaceOperations,\ngetInterfaceSchemas, etc.) or final refinement decision (complete). When\npreliminary returns empty array, that type is removed from the union,\nphysically preventing repeated calls.",
1766
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion.",
1782
1767
  anyOf: [
1783
1768
  {
1784
1769
  $ref: "#/$defs/IAutoBePreliminaryGetAnalysisSections"
@@ -1831,18 +1816,18 @@ function createController(ctx, props) {
1831
1816
  additionalProperties: false,
1832
1817
  $defs: {
1833
1818
  IAutoBePreliminaryGetAnalysisSections: {
1834
- 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.",
1819
+ description: "Request to retrieve individual analysis sections by numeric ID.",
1835
1820
  type: "object",
1836
1821
  properties: {
1837
1822
  type: {
1838
- 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.",
1823
+ description: "Type discriminator.",
1839
1824
  type: "string",
1840
1825
  "enum": [
1841
1826
  "getAnalysisSections"
1842
1827
  ]
1843
1828
  },
1844
1829
  sectionIds: {
1845
- 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.",
1830
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls.",
1846
1831
  type: "array",
1847
1832
  items: {
1848
1833
  type: "integer",
@@ -1858,18 +1843,18 @@ function createController(ctx, props) {
1858
1843
  ]
1859
1844
  },
1860
1845
  IAutoBePreliminaryGetDatabaseSchemas: {
1861
- 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.",
1846
+ description: "Request to retrieve database schema definitions for context.",
1862
1847
  type: "object",
1863
1848
  properties: {
1864
1849
  type: {
1865
- 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.",
1850
+ description: "Type discriminator.",
1866
1851
  type: "string",
1867
1852
  "enum": [
1868
1853
  "getDatabaseSchemas"
1869
1854
  ]
1870
1855
  },
1871
1856
  schemaNames: {
1872
- 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.",
1857
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls.",
1873
1858
  type: "array",
1874
1859
  items: {
1875
1860
  type: "string"
@@ -1883,18 +1868,18 @@ function createController(ctx, props) {
1883
1868
  ]
1884
1869
  },
1885
1870
  IAutoBePreliminaryGetInterfaceOperations: {
1886
- 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.",
1871
+ description: "Request to retrieve existing interface operations for context.",
1887
1872
  type: "object",
1888
1873
  properties: {
1889
1874
  type: {
1890
- 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.",
1875
+ description: "Type discriminator.",
1891
1876
  type: "string",
1892
1877
  "enum": [
1893
1878
  "getInterfaceOperations"
1894
1879
  ]
1895
1880
  },
1896
1881
  endpoints: {
1897
- 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.",
1882
+ description: "API operation endpoints to retrieve. DO NOT request same endpoints already\nrequested in previous calls.",
1898
1883
  type: "array",
1899
1884
  items: {
1900
1885
  $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
@@ -1912,12 +1897,12 @@ function createController(ctx, props) {
1912
1897
  type: "object",
1913
1898
  properties: {
1914
1899
  path: {
1915
- 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)",
1900
+ 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, `/`, `{`, `}`, `-`, `_`, `.`",
1916
1901
  type: "string",
1917
1902
  pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
1918
1903
  },
1919
1904
  method: {
1920
- 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",
1905
+ 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.",
1921
1906
  type: "string",
1922
1907
  "enum": [
1923
1908
  "get",
@@ -1934,18 +1919,18 @@ function createController(ctx, props) {
1934
1919
  ]
1935
1920
  },
1936
1921
  IAutoBePreliminaryGetInterfaceSchemas: {
1937
- description: "Request to retrieve OpenAPI schema type definitions for context.\n\nThis type is used in the preliminary phase to request specific schema\ndefinitions from components.schemas for review or complementary generation.",
1922
+ description: "Request to retrieve OpenAPI schema type definitions for context.",
1938
1923
  type: "object",
1939
1924
  properties: {
1940
1925
  type: {
1941
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"getInterfaceSchemas\" indicates this is a preliminary\ndata request for interface schemas.",
1926
+ description: "Type discriminator.",
1942
1927
  type: "string",
1943
1928
  "enum": [
1944
1929
  "getInterfaceSchemas"
1945
1930
  ]
1946
1931
  },
1947
1932
  typeNames: {
1948
- description: "List of schema type names to retrieve.\n\nSchema names from the OpenAPI components.schemas section (e.g., \"IUser\",\n\"IUser.ICreate\", \"IPost.IUpdate\").\n\nCRITICAL: DO NOT request the same type names that you have already\nrequested in previous calls.",
1933
+ description: "Schema type names to retrieve. DO NOT request same names already requested\nin previous calls.",
1949
1934
  type: "array",
1950
1935
  items: {
1951
1936
  type: "string"
@@ -1959,18 +1944,18 @@ function createController(ctx, props) {
1959
1944
  ]
1960
1945
  },
1961
1946
  IAutoBePreliminaryGetPreviousAnalysisSections: {
1962
- 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.",
1947
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID.",
1963
1948
  type: "object",
1964
1949
  properties: {
1965
1950
  type: {
1966
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration.",
1951
+ description: "Type discriminator.",
1967
1952
  type: "string",
1968
1953
  "enum": [
1969
1954
  "getPreviousAnalysisSections"
1970
1955
  ]
1971
1956
  },
1972
1957
  sectionIds: {
1973
- 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.",
1958
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls.",
1974
1959
  type: "array",
1975
1960
  items: {
1976
1961
  type: "integer",
@@ -1985,18 +1970,18 @@ function createController(ctx, props) {
1985
1970
  ]
1986
1971
  },
1987
1972
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
1988
- 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",
1973
+ 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.",
1989
1974
  type: "object",
1990
1975
  properties: {
1991
1976
  type: {
1992
- 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.",
1977
+ description: "Type discriminator.",
1993
1978
  type: "string",
1994
1979
  "enum": [
1995
1980
  "getPreviousDatabaseSchemas"
1996
1981
  ]
1997
1982
  },
1998
1983
  schemaNames: {
1999
- 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\"",
1984
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls.",
2000
1985
  type: "array",
2001
1986
  items: {
2002
1987
  type: "string"
@@ -2010,18 +1995,18 @@ function createController(ctx, props) {
2010
1995
  ]
2011
1996
  },
2012
1997
  IAutoBePreliminaryGetPreviousInterfaceOperations: {
2013
- 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",
1998
+ 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.",
2014
1999
  type: "object",
2015
2000
  properties: {
2016
2001
  type: {
2017
- 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.",
2002
+ description: "Type discriminator.",
2018
2003
  type: "string",
2019
2004
  "enum": [
2020
2005
  "getPreviousInterfaceOperations"
2021
2006
  ]
2022
2007
  },
2023
2008
  endpoints: {
2024
- 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\"}`",
2009
+ description: "Endpoints to retrieve from previous iteration. DO NOT request same\nendpoints already requested in previous calls.",
2025
2010
  type: "array",
2026
2011
  items: {
2027
2012
  $ref: "#/$defs/AutoBeOpenApi.IEndpoint"
@@ -2035,18 +2020,18 @@ function createController(ctx, props) {
2035
2020
  ]
2036
2021
  },
2037
2022
  IAutoBePreliminaryGetPreviousInterfaceSchemas: {
2038
- 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",
2023
+ 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.",
2039
2024
  type: "object",
2040
2025
  properties: {
2041
2026
  type: {
2042
- 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.",
2027
+ description: "Type discriminator.",
2043
2028
  type: "string",
2044
2029
  "enum": [
2045
2030
  "getPreviousInterfaceSchemas"
2046
2031
  ]
2047
2032
  },
2048
2033
  typeNames: {
2049
- 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\"",
2034
+ description: "Schema type names to retrieve from previous iteration. DO NOT request same\nnames already requested in previous calls.",
2050
2035
  type: "array",
2051
2036
  items: {
2052
2037
  type: "string"
@@ -2060,30 +2045,30 @@ function createController(ctx, props) {
2060
2045
  ]
2061
2046
  },
2062
2047
  "IAutoBeInterfaceSchemaCastingApplication.IComplete": {
2063
- description: "Request to complete schema refinement analysis.\n\nExecutes the final refinement decision after analyzing a potentially\ndegenerate primitive type. Uses structured Chain-of-Thought reasoning\nthrough observation, reasoning, and verdict properties to ensure systematic\nevaluation before making a decision.",
2048
+ description: "Complete schema casting analysis via Chain-of-Thought (observation,\nreasoning, verdict).",
2064
2049
  type: "object",
2065
2050
  properties: {
2066
2051
  type: {
2067
- 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 refinement\ndecision request.",
2052
+ description: "Type discriminator for completion request.",
2068
2053
  type: "string",
2069
2054
  "enum": [
2070
2055
  "complete"
2071
2056
  ]
2072
2057
  },
2073
2058
  observation: {
2074
- description: "Observation of the current type and its documentation.\n\nDescribe what you observe about the type being analyzed:\n\n- What is the current type definition? (e.g., `type IFoo = number`)\n- What does the JSDoc/description say about the type?\n- Are there any database schema hints (JSON field, etc.)?\n- What does the naming suggest? (e.g., \"Distribution\", \"Preferences\")\n\nThis is purely descriptive - state facts without judgment.",
2059
+ description: "Factual observation of the current type definition, JSDoc, schema hints,\nand naming.",
2075
2060
  type: "string"
2076
2061
  },
2077
2062
  reasoning: {
2078
- description: "Reasoning about whether the type is degenerate.\n\nAnalyze the observations and explain your reasoning:\n\n- Does the documentation describe a structure that contradicts the\n primitive type?\n- Are there keywords suggesting complex structure? (key/value, array, list,\n contains, mapping)\n- Is this a legitimate semantic alias? (e.g., `IUserId = string`)\n- What type SHOULD this be based on the evidence?",
2063
+ description: "Reasoning about whether documentation contradicts the primitive type.",
2079
2064
  type: "string"
2080
2065
  },
2081
2066
  verdict: {
2082
- description: "Final verdict on whether to refine the type.\n\nState your conclusion clearly:\n\n- Is this a degenerate type that needs refinement, or a valid primitive?\n- Summarize the key evidence that led to this decision.\n- If refining, briefly describe what the correct type should be.",
2067
+ description: "Final verdict: \"degenerate\" (needs casting to object) or \"valid\nprimitive\".",
2083
2068
  type: "string"
2084
2069
  },
2085
2070
  casting: {
2086
- description: "Casting design for the corrected object schema, or `null` if intentional.\n\nWhen the type is degenerate: provide the casting design with corrected\nobject schema containing `databaseSchema`, `specification`,\n`description`, and `schema` fields.\n\nWhen the type is intentional (valid primitive alias): set to `null`.",
2071
+ description: "Corrected object schema casting design, or `null` if the primitive is\nintentional.",
2087
2072
  anyOf: [
2088
2073
  {
2089
2074
  type: "null"
@@ -2103,11 +2088,11 @@ function createController(ctx, props) {
2103
2088
  ]
2104
2089
  },
2105
2090
  AutoBeInterfaceSchemaCasting: {
2106
- description: "Design structure for casting primitive types to object schemas.\n\nUsed when a degenerate primitive type alias (e.g., `type IPreferences =\nstring`) needs to be corrected to a proper object schema. The casting agent\nanalyzes JSDoc descriptions, database hints, and naming conventions to\ndetermine the correct object structure.",
2091
+ description: "Design structure for casting a degenerate primitive type to an object schema.\n\nUsed when a primitive alias (e.g., `type IPreferences = string`) needs\ncorrection to a proper object schema based on JSDoc, DB hints, and naming.",
2107
2092
  type: "object",
2108
2093
  properties: {
2109
2094
  databaseSchema: {
2110
- description: "Database model name that this schema maps to.\n\nSpecifies which database table/model this DTO type corresponds to after\ncasting. Creates a traceable link between API types and database entities.\n\n- Set to the exact model name (e.g., `\"shopping_customers\"`,\n `\"bbs_articles\"`) when the corrected object schema represents a database\n entity\n- Set to `null` for:\n\n - Embedded JSON structures stored in a column without dedicated table\n - Computed objects derived from multiple sources\n - Pure configuration or parameter objects\n\nWhen `null`, the `specification` field becomes critical for downstream\nagents to understand how to implement data retrieval or computation.",
2095
+ description: "Database model name after casting, or `null` for embedded/computed types.\n\nWhen `null`, `specification` becomes critical for downstream agents.",
2111
2096
  anyOf: [
2112
2097
  {
2113
2098
  type: "null"
@@ -2118,15 +2103,15 @@ function createController(ctx, props) {
2118
2103
  ]
2119
2104
  },
2120
2105
  specification: {
2121
- description: "Implementation specification for downstream agents.\n\nDetailed guidance on HOW to implement data retrieval, transformation, or\ncomputation for this corrected type. Internal documentation for Realize\nAgent and Test Agent - NOT exposed in public API documentation.\n\n**When `databaseSchema` is set** (direct mapping):\n\n- Can be brief for simple cases\n- Focus on parsing/serialization if stored as JSON column\n\n**When `databaseSchema` is `null`** (embedded/computed types):\n\nThis field is CRITICAL. Must include:\n\n- How the data was previously stored (e.g., JSON string in DB column)\n- Source tables and columns involved\n- Parsing/serialization requirements\n- Validation rules for the object structure\n- Edge cases (nulls, empty objects, defaults)\n\nMust be precise enough for downstream agents to implement the actual data\nretrieval or computation. Vague specifications are unacceptable.",
2106
+ description: "Implementation guidance for downstream agents. NOT exposed in public API\ndocs.\n\nWhen `databaseSchema` is set: brief mapping details. When `null`: MUST\ninclude source tables, parsing/serialization requirements, validation\nrules, and edge cases.",
2122
2107
  type: "string"
2123
2108
  },
2124
2109
  description: {
2125
- 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 corrected\ntype represents from an API consumer's perspective.\n\nGuidelines:\n\n- Describe the object's purpose and structure clearly\n- Explain the overall business meaning and usage context\n- Organize into multiple paragraphs for complex types\n- Keep accessible to API consumers (no implementation details)\n- MUST be written in English",
2110
+ description: "API documentation for consumers (Swagger UI). Focus on WHAT the corrected\ntype represents.\n\n- MUST be written in English",
2126
2111
  type: "string"
2127
2112
  },
2128
2113
  schema: {
2129
- description: "Object schema definition for the corrected type.\n\nThe corrected object structure that replaces the degenerate primitive type.\nMUST be an object schema with proper properties and required array.\n\nWhen designing the object schema:\n\n- Analyze the original JSDoc/description for structural hints\n- Look for keywords like \"contains\", \"includes\", \"mapping\", \"key/value\"\n- Consider database JSON column structure if applicable\n- Include all properties mentioned or implied in documentation\n- Set appropriate `required` array based on business rules",
2114
+ description: "Corrected object schema replacing the degenerate primitive. MUST be an\nobject schema with properties and required array.",
2130
2115
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
2131
2116
  }
2132
2117
  },
@@ -2142,11 +2127,11 @@ function createController(ctx, props) {
2142
2127
  type: "object",
2143
2128
  properties: {
2144
2129
  properties: {
2145
- 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.",
2130
+ description: "Key-value pairs of the object's named properties.",
2146
2131
  $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchema"
2147
2132
  },
2148
2133
  additionalProperties: {
2149
- 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>`",
2134
+ description: "Schema for dynamic keys (`Record<string, T>`), or `false` if no\nadditional properties are allowed.",
2150
2135
  anyOf: [
2151
2136
  {
2152
2137
  type: "boolean",
@@ -2184,14 +2169,14 @@ function createController(ctx, props) {
2184
2169
  ]
2185
2170
  },
2186
2171
  required: {
2187
- 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```",
2172
+ description: "Property keys that must be present. Properties not listed here are\noptional.",
2188
2173
  type: "array",
2189
2174
  items: {
2190
2175
  type: "string"
2191
2176
  }
2192
2177
  },
2193
2178
  type: {
2194
- 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.",
2179
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2195
2180
  type: "string",
2196
2181
  "enum": [
2197
2182
  "object"
@@ -2214,7 +2199,7 @@ function createController(ctx, props) {
2214
2199
  }
2215
2200
  },
2216
2201
  "AutoBeOpenApi.IJsonSchema": {
2217
- 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.",
2202
+ 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.",
2218
2203
  anyOf: [
2219
2204
  {
2220
2205
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
@@ -2253,28 +2238,23 @@ function createController(ctx, props) {
2253
2238
  type: "object",
2254
2239
  properties: {
2255
2240
  minimum: {
2256
- description: "Minimum value restriction.",
2257
2241
  type: "integer"
2258
2242
  },
2259
2243
  maximum: {
2260
- description: "Maximum value restriction.",
2261
2244
  type: "integer"
2262
2245
  },
2263
2246
  exclusiveMinimum: {
2264
- description: "Exclusive minimum value restriction.",
2265
2247
  type: "integer"
2266
2248
  },
2267
2249
  exclusiveMaximum: {
2268
- description: "Exclusive maximum value restriction.",
2269
2250
  type: "integer"
2270
2251
  },
2271
2252
  multipleOf: {
2272
- description: "Multiple of value restriction.",
2273
2253
  type: "integer",
2274
2254
  exclusiveMinimum: 0
2275
2255
  },
2276
2256
  type: {
2277
- 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.",
2257
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2278
2258
  type: "string",
2279
2259
  "enum": [
2280
2260
  "integer"
@@ -2290,28 +2270,23 @@ function createController(ctx, props) {
2290
2270
  type: "object",
2291
2271
  properties: {
2292
2272
  minimum: {
2293
- description: "Minimum value restriction.",
2294
2273
  type: "number"
2295
2274
  },
2296
2275
  maximum: {
2297
- description: "Maximum value restriction.",
2298
2276
  type: "number"
2299
2277
  },
2300
2278
  exclusiveMinimum: {
2301
- description: "Exclusive minimum value restriction.",
2302
2279
  type: "number"
2303
2280
  },
2304
2281
  exclusiveMaximum: {
2305
- description: "Exclusive maximum value restriction.",
2306
2282
  type: "number"
2307
2283
  },
2308
2284
  multipleOf: {
2309
- description: "Multiple of value restriction.",
2310
2285
  type: "number",
2311
2286
  exclusiveMinimum: 0
2312
2287
  },
2313
2288
  type: {
2314
- 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.",
2289
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2315
2290
  type: "string",
2316
2291
  "enum": [
2317
2292
  "number"
@@ -2358,21 +2333,19 @@ function createController(ctx, props) {
2358
2333
  type: "string"
2359
2334
  },
2360
2335
  contentMediaType: {
2361
- 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.",
2336
+ 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.",
2362
2337
  type: "string"
2363
2338
  },
2364
2339
  minLength: {
2365
- description: "Minimum length restriction.",
2366
2340
  type: "integer",
2367
2341
  minimum: 0
2368
2342
  },
2369
2343
  maxLength: {
2370
- description: "Maximum length restriction.",
2371
2344
  type: "integer",
2372
2345
  minimum: 0
2373
2346
  },
2374
2347
  type: {
2375
- 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.",
2348
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2376
2349
  type: "string",
2377
2350
  "enum": [
2378
2351
  "string"
@@ -2411,7 +2384,7 @@ function createController(ctx, props) {
2411
2384
  type: "object",
2412
2385
  properties: {
2413
2386
  type: {
2414
- 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.",
2387
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2415
2388
  type: "string",
2416
2389
  "enum": [
2417
2390
  "boolean"
@@ -2427,7 +2400,7 @@ function createController(ctx, props) {
2427
2400
  type: "object",
2428
2401
  properties: {
2429
2402
  items: {
2430
- 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>`.",
2403
+ description: "Type schema of array elements.",
2431
2404
  anyOf: [
2432
2405
  {
2433
2406
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
@@ -2459,21 +2432,19 @@ function createController(ctx, props) {
2459
2432
  ]
2460
2433
  },
2461
2434
  uniqueItems: {
2462
- description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
2435
+ description: "If `true`, array elements must be unique.",
2463
2436
  type: "boolean"
2464
2437
  },
2465
2438
  minItems: {
2466
- description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.",
2467
2439
  type: "integer",
2468
2440
  minimum: 0
2469
2441
  },
2470
2442
  maxItems: {
2471
- description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.",
2472
2443
  type: "integer",
2473
2444
  minimum: 0
2474
2445
  },
2475
2446
  type: {
2476
- 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.",
2447
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2477
2448
  type: "string",
2478
2449
  "enum": [
2479
2450
  "array"
@@ -2490,7 +2461,7 @@ function createController(ctx, props) {
2490
2461
  type: "object",
2491
2462
  properties: {
2492
2463
  type: {
2493
- 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.",
2464
+ description: "Discriminator value. MUST be a single string, NEVER an array.\n\nFor nullable types, use `IOneOf` instead: `{ oneOf: [{ type: \"string\"\n}, { type: \"null\" }] }`",
2494
2465
  type: "string",
2495
2466
  "enum": [
2496
2467
  "null"
@@ -2506,7 +2477,7 @@ function createController(ctx, props) {
2506
2477
  type: "object",
2507
2478
  properties: {
2508
2479
  $ref: {
2509
- 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`",
2480
+ description: "JSON Pointer reference to a named schema (e.g.,\n`#/components/schemas/SomeObject`).",
2510
2481
  type: "string"
2511
2482
  }
2512
2483
  },
@@ -2515,7 +2486,7 @@ function createController(ctx, props) {
2515
2486
  ]
2516
2487
  },
2517
2488
  "AutoBeOpenApi.IJsonSchema.IOneOf": {
2518
- 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.",
2489
+ 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.",
2519
2490
  type: "object",
2520
2491
  properties: {
2521
2492
  oneOf: {
@@ -2568,7 +2539,7 @@ function createController(ctx, props) {
2568
2539
  type: "string"
2569
2540
  },
2570
2541
  mapping: {
2571
- 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`.",
2542
+ 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`.",
2572
2543
  $ref: "#/$defs/Recordstringstring"
2573
2544
  }
2574
2545
  },
@@ -2587,7 +2558,7 @@ function createController(ctx, props) {
2587
2558
  }
2588
2559
  }
2589
2560
  },
2590
- description: "Process schema refinement task or preliminary data requests.\n\nAnalyzes a potentially degenerate primitive type alias and determines\nwhether it should be refined into a proper object schema structure. Uses\nChain-of-Thought reasoning to systematically evaluate the type.",
2561
+ description: "Process task or retrieve preliminary data.",
2591
2562
  validate: (() => { const _iv10 = 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 _vv21 = 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 => "getInterfaceSchemas" === input.type && (Array.isArray(input.typeNames) && (1 <= input.typeNames.length && input.typeNames.every(elem => "string" === typeof elem))); const _io6 = 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 _io7 = input => "getPreviousDatabaseSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io8 = input => "getPreviousInterfaceOperations" === input.type && (Array.isArray(input.endpoints) && (1 <= input.endpoints.length && input.endpoints.every(elem => "object" === typeof elem && null !== elem && _io4(elem)))); const _io9 = input => "getPreviousInterfaceSchemas" === input.type && (Array.isArray(input.typeNames) && (1 <= input.typeNames.length && input.typeNames.every(elem => "string" === typeof elem))); const _io10 = input => "complete" === input.type && "string" === typeof input.observation && "string" === typeof input.reasoning && "string" === typeof input.verdict && (null === input.casting || "object" === typeof input.casting && null !== input.casting && _io11(input.casting)); const _io11 = input => (null === input.databaseSchema || "string" === typeof input.databaseSchema) && "string" === typeof input.specification && "string" === typeof input.description && ("object" === typeof input.schema && null !== input.schema && _io12(input.schema)); const _io12 = input => (null === input["x-autobe-database-schema"] || undefined === input["x-autobe-database-schema"] || "string" === typeof input["x-autobe-database-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io13(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io13 = input => Object.keys(input).every(key => {
2592
2563
  const value = input[key];
2593
2564
  if (undefined === value)