@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
@@ -101,7 +101,7 @@ function process(ctx, props) {
101
101
  properties: {
102
102
  thinking: {
103
103
  type: "string",
104
- description: "Reflect on requirements analysis before acting.\n\nFor preliminary requests (getAnalysisSections,\ngetPreviousAnalysisSections, getPreviousDatabaseSchemas):\n\n- What requirements documents do you need to analyze this component?\n- Which features in this domain need to be understood?\n\nFor completion (complete):\n\n- What requirements did you analyze?\n- How many revisions are you making and why?\n- Summarize the requirements-to-revisions mapping."
104
+ description: "Reasoning about your current state: what's missing (preliminary) or what\nyou accomplished (completion)."
105
105
  },
106
106
  request: {
107
107
  oneOf: [
@@ -127,7 +127,7 @@ function process(ctx, props) {
127
127
  complete: "#/components/schemas/IAutoBeDatabaseComponentReviewApplication.IComplete"
128
128
  }
129
129
  },
130
- description: "Request type discriminator.\n\nUse preliminary requests (getAnalysisSections, etc.) to fetch\nrequirements documents. Use complete to submit table revisions after\nthorough requirements analysis."
130
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion."
131
131
  }
132
132
  },
133
133
  required: [
@@ -140,7 +140,7 @@ function process(ctx, props) {
140
140
  properties: {
141
141
  type: {
142
142
  "const": "getPreviousAnalysisSections",
143
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration."
143
+ description: "Type discriminator."
144
144
  },
145
145
  sectionIds: {
146
146
  type: "array",
@@ -149,21 +149,21 @@ function process(ctx, props) {
149
149
  minimum: 0
150
150
  },
151
151
  minItems: 1,
152
- 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."
152
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls."
153
153
  }
154
154
  },
155
155
  required: [
156
156
  "type",
157
157
  "sectionIds"
158
158
  ],
159
- 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."
159
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID."
160
160
  },
161
161
  IAutoBePreliminaryGetAnalysisSections: {
162
162
  type: "object",
163
163
  properties: {
164
164
  type: {
165
165
  "const": "getAnalysisSections",
166
- 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."
166
+ description: "Type discriminator."
167
167
  },
168
168
  sectionIds: {
169
169
  type: "array",
@@ -173,21 +173,21 @@ function process(ctx, props) {
173
173
  },
174
174
  minItems: 1,
175
175
  maxItems: 100,
176
- 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."
176
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls."
177
177
  }
178
178
  },
179
179
  required: [
180
180
  "type",
181
181
  "sectionIds"
182
182
  ],
183
- 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."
183
+ description: "Request to retrieve individual analysis sections by numeric ID."
184
184
  },
185
185
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
186
186
  type: "object",
187
187
  properties: {
188
188
  type: {
189
189
  "const": "getPreviousDatabaseSchemas",
190
- 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."
190
+ description: "Type discriminator."
191
191
  },
192
192
  schemaNames: {
193
193
  type: "array",
@@ -195,14 +195,14 @@ function process(ctx, props) {
195
195
  type: "string"
196
196
  },
197
197
  minItems: 1,
198
- 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\""
198
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls."
199
199
  }
200
200
  },
201
201
  required: [
202
202
  "type",
203
203
  "schemaNames"
204
204
  ],
205
- 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"
205
+ 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."
206
206
  },
207
207
  "IAutoBeDatabaseComponentReviewApplication.IComplete": {
208
208
  type: "object",
@@ -213,14 +213,14 @@ function process(ctx, props) {
213
213
  },
214
214
  review: {
215
215
  type: "string",
216
- description: "Requirements coverage analysis.\n\nDocument how you analyzed requirements and mapped them to table\nmodifications:\n\n- What features does this domain support?\n- What data storage needs does each feature have?\n- What tables are missing to fulfill these requirements?\n- What existing tables need renaming or removal?\n\nBe specific - reference actual requirements and explain the\nrequirements-to-revisions mapping."
216
+ description: "How requirements map to proposed table modifications, identifying\ncoverage gaps."
217
217
  },
218
218
  revises: {
219
219
  type: "array",
220
220
  items: {
221
221
  $ref: "#/components/schemas/AutoBeDatabaseComponentTableRevise"
222
222
  },
223
- description: "Array of table revision operations.\n\nInclude all create, update, and erase operations identified during\nreview. Each operation must include a reason explaining why the change is\nnecessary.\n\n## Operation Types:\n\n### Create - Add missing tables\n\nUse when a table is needed to fulfill requirements but doesn't exist.\n\n```typescript\n{\n \"type\": \"create\",\n \"reason\": \"Requirement 3.2 specifies order cancellation tracking\",\n \"table\": \"order_cancellations\",\n \"description\": \"Stores cancellation records with reasons and timestamps\"\n}\n```\n\n### Update - Rename tables\n\nUse when a table has naming convention issues.\n\n```typescript\n{\n \"type\": \"update\",\n \"reason\": \"Table name violates snake_case convention\",\n \"original\": \"orderCancel\",\n \"updated\": \"order_cancellations\",\n \"description\": \"Stores cancellation records with reasons and timestamps\"\n}\n```\n\n### Erase - Remove tables\n\nUse when a table belongs to another domain or is unnecessary.\n\n```typescript\n{\n \"type\": \"erase\",\n \"reason\": \"Table belongs to Actors component, not Orders\",\n \"table\": \"shopping_customers\"\n}\n```\n\n## Constraints:\n\n- Only CREATE tables that CLEARLY belong to THIS component's domain\n- If uncertain about domain ownership \u2192 DO NOT CREATE\n- Each operation must have a clear, requirement-based reason\n- Empty array is valid if no modifications are needed\n\n## Validation Rules:\n\n- CREATE/UPDATE table names are checked against \"Tables in Other\n Components\"\n- If the table name already exists in another component \u2192 validation FAILS\n- Always check \"Tables in Other Components\" before CREATE/UPDATE operations\n- Your revises only affect Target Component, never other components' tables\n\n## Naming Conventions:\n\n- Snake case: `user_profiles` not `userProfiles`\n- Plural form: `users` not `user`\n- Domain prefix: `shopping_customers`"
223
+ description: "Table revision operations (create/update/erase). Each must include a\nreason.\n\nConstraints:\n\n- Only CREATE tables that clearly belong to THIS component's domain\n- CREATE/UPDATE names are validated against other components (duplicates\n fail)\n- Revises only affect the target component\n- Empty array is valid if no modifications are needed\n\nNaming: snake_case, plural, domain-prefixed."
224
224
  }
225
225
  },
226
226
  required: [
@@ -250,27 +250,27 @@ function process(ctx, props) {
250
250
  update: "#/components/schemas/AutoBeDatabaseComponentTableUpdate"
251
251
  }
252
252
  },
253
- description: "Table revision operation type.\n\nDiscriminated union representing all possible table modifications during the\ncomponent review phase. Review agents examine generated tables and return an\narray of these operations to correct issues:\n\n- **Create**: Add missing tables that fulfill requirements\n- **Update**: Fix incorrectly named tables (rename operations)\n- **Erase**: Remove invalid or misplaced tables"
253
+ description: "Table revision: create | update (rename) | erase."
254
254
  },
255
255
  AutoBeDatabaseComponentTableCreate: {
256
256
  type: "object",
257
257
  properties: {
258
258
  type: {
259
259
  "const": "create",
260
- description: "Type discriminator indicating this is a create operation."
260
+ description: "Type discriminator."
261
261
  },
262
262
  reason: {
263
263
  type: "string",
264
- description: "Brief, concise reason for creating this table.\n\nExplain which requirement this table fulfills and why it was missing from\nthe initial generation.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum"
264
+ description: "Why this table is needed. Keep concise \u2014 one or two sentences."
265
265
  },
266
266
  table: {
267
267
  type: "string",
268
268
  pattern: "^[a-z][a-z0-9_]*$",
269
- description: "The new table name to add.\n\nMust follow snake_case naming convention with appropriate domain prefix."
269
+ description: "Table name in snake_case with domain prefix."
270
270
  },
271
271
  description: {
272
272
  type: "string",
273
- description: "Brief, concise description of what this table stores.\n\nExplain the business purpose and what data this table will contain.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum"
273
+ description: "Business purpose of this table. Keep concise. MUST be in English."
274
274
  }
275
275
  },
276
276
  required: [
@@ -279,23 +279,23 @@ function process(ctx, props) {
279
279
  "table",
280
280
  "description"
281
281
  ],
282
- description: "Request to create a new table in the component.\n\nUse this when you identify a missing table that should exist based on\nrequirements analysis. Common scenarios:\n\n- A required table was accidentally omitted from initial generation\n- A use case requires a table that wasn't initially identified\n- Review reveals gaps in data coverage for specific requirements\n- Supporting tables needed (snapshots, settings, attachments, etc.)"
282
+ description: "Add a missing table to the component."
283
283
  },
284
284
  AutoBeDatabaseComponentTableErase: {
285
285
  type: "object",
286
286
  properties: {
287
287
  type: {
288
288
  "const": "erase",
289
- description: "Type discriminator indicating this is an erase operation."
289
+ description: "Type discriminator."
290
290
  },
291
291
  reason: {
292
292
  type: "string",
293
- description: "Brief, concise reason for deletion.\n\nExplain why this table should be removed and what issue it causes.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum"
293
+ description: "Why this table should be removed. Keep concise \u2014 one or two sentences."
294
294
  },
295
295
  table: {
296
296
  type: "string",
297
297
  pattern: "^[a-z][a-z0-9_]*$",
298
- description: "The table name to remove.\n\nMust be from the current component's table list. Must match exactly."
298
+ description: "Table name to remove. Must match exactly from current component."
299
299
  }
300
300
  },
301
301
  required: [
@@ -303,32 +303,32 @@ function process(ctx, props) {
303
303
  "reason",
304
304
  "table"
305
305
  ],
306
- description: "Request to erase a table from the component.\n\nUse this when a table should be removed from the component:\n\n- Table belongs to a different domain/component\n- Duplicate functionality with another table\n- Not derived from actual requirements (hallucinated)\n- Table is unnecessary for the business requirements\n- Over-engineering (unnecessary granularity)"
306
+ description: "Remove a table from the component."
307
307
  },
308
308
  AutoBeDatabaseComponentTableUpdate: {
309
309
  type: "object",
310
310
  properties: {
311
311
  type: {
312
312
  "const": "update",
313
- description: "Type discriminator indicating this is an update operation."
313
+ description: "Type discriminator."
314
314
  },
315
315
  reason: {
316
316
  type: "string",
317
- description: "Brief, concise reason for this update.\n\nExplain what naming issue this fixes and why the new name is better.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum"
317
+ description: "Why this rename is needed. Keep concise \u2014 one or two sentences."
318
318
  },
319
319
  original: {
320
320
  type: "string",
321
321
  pattern: "^[a-z][a-z0-9_]*$",
322
- description: "The original table name to modify.\n\nMust be from the current component's table list. Must match exactly."
322
+ description: "Original table name. Must match exactly from current component."
323
323
  },
324
324
  updated: {
325
325
  type: "string",
326
326
  pattern: "^[a-z][a-z0-9_]*$",
327
- description: "The updated table name.\n\nMust follow snake_case naming convention with appropriate domain prefix."
327
+ description: "New table name in snake_case with domain prefix."
328
328
  },
329
329
  description: {
330
330
  type: "string",
331
- description: "Brief, concise updated description of what this table stores.\n\nProvide a clear description for the renamed table.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum"
331
+ description: "Updated description. Keep concise. MUST be in English."
332
332
  }
333
333
  },
334
334
  required: [
@@ -338,7 +338,7 @@ function process(ctx, props) {
338
338
  "updated",
339
339
  "description"
340
340
  ],
341
- description: "Request to update (rename) an existing table in the component.\n\nUse this when a table has naming issues that need correction:\n\n- Naming convention violations (e.g., `userProfile` -> `user_profiles`)\n- Missing domain prefix (e.g., `orders` -> `shopping_orders`)\n- Singular/plural normalization (e.g., `order` -> `orders`)\n- Typos or unclear naming (e.g., `usr_data` -> `user_data`)\n- Better alignment with domain terminology"
341
+ description: "Rename an existing table in the component."
342
342
  }
343
343
  }
344
344
  },
@@ -349,14 +349,13 @@ function process(ctx, props) {
349
349
  parameters: [
350
350
  {
351
351
  name: "props",
352
- description: " Request containing either preliminary data request or complete\ntask with table revisions",
353
352
  required: true,
354
353
  schema: {
355
354
  $ref: "#/components/schemas/IAutoBeDatabaseComponentReviewApplication.IProps"
356
355
  }
357
356
  }
358
357
  ],
359
- description: "Analyze requirements and review the component's table list.\n\nYour PRIMARY task is to deeply analyze user requirements and ensure\ncomplete table coverage for all features in this component's domain. Review\nexisting tables and identify necessary modifications using create, update,\nor erase operations.\n\nALWAYS fetch analysis sections first using `getAnalysisSections` to\nunderstand what features this component's domain needs to support, then\nsystematically verify table coverage and apply corrections."
358
+ description: "Process component review task or retrieve preliminary data."
360
359
  }
361
360
  ]
362
361
  },
@@ -700,11 +699,11 @@ function createController(props) {
700
699
  type: "object",
701
700
  properties: {
702
701
  thinking: {
703
- description: "Reflect on requirements analysis before acting.\n\nFor preliminary requests (getAnalysisSections,\ngetPreviousAnalysisSections, getPreviousDatabaseSchemas):\n\n- What requirements documents do you need to analyze this component?\n- Which features in this domain need to be understood?\n\nFor completion (complete):\n\n- What requirements did you analyze?\n- How many revisions are you making and why?\n- Summarize the requirements-to-revisions mapping.",
702
+ description: "Reasoning about your current state: what's missing (preliminary) or what\nyou accomplished (completion).",
704
703
  type: "string"
705
704
  },
706
705
  request: {
707
- description: "Request type discriminator.\n\nUse preliminary requests (getAnalysisSections, etc.) to fetch\nrequirements documents. Use complete to submit table revisions after\nthorough requirements analysis.",
706
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion.",
708
707
  anyOf: [
709
708
  {
710
709
  $ref: "#/$defs/IAutoBePreliminaryGetPreviousAnalysisSections"
@@ -737,18 +736,18 @@ function createController(props) {
737
736
  additionalProperties: false,
738
737
  $defs: {
739
738
  IAutoBePreliminaryGetPreviousAnalysisSections: {
740
- 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.",
739
+ description: "Request to retrieve analysis sections from the previous iteration by numeric\nID.",
741
740
  type: "object",
742
741
  properties: {
743
742
  type: {
744
- description: "Type discriminator for the request.\n\nValue \"getPreviousAnalysisSections\" indicates this is a preliminary data\nrequest for analysis sections from the previous iteration.",
743
+ description: "Type discriminator.",
745
744
  type: "string",
746
745
  "enum": [
747
746
  "getPreviousAnalysisSections"
748
747
  ]
749
748
  },
750
749
  sectionIds: {
751
- 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.",
750
+ description: "Section IDs to retrieve from previous iteration. DO NOT request same IDs\nalready requested in previous calls.",
752
751
  type: "array",
753
752
  items: {
754
753
  type: "integer",
@@ -763,18 +762,18 @@ function createController(props) {
763
762
  ]
764
763
  },
765
764
  IAutoBePreliminaryGetAnalysisSections: {
766
- 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.",
765
+ description: "Request to retrieve individual analysis sections by numeric ID.",
767
766
  type: "object",
768
767
  properties: {
769
768
  type: {
770
- 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.",
769
+ description: "Type discriminator.",
771
770
  type: "string",
772
771
  "enum": [
773
772
  "getAnalysisSections"
774
773
  ]
775
774
  },
776
775
  sectionIds: {
777
- 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.",
776
+ description: "Section IDs to retrieve. DO NOT request same IDs already requested in\nprevious calls.",
778
777
  type: "array",
779
778
  items: {
780
779
  type: "integer",
@@ -790,18 +789,18 @@ function createController(props) {
790
789
  ]
791
790
  },
792
791
  IAutoBePreliminaryGetPreviousDatabaseSchemas: {
793
- 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",
792
+ 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.",
794
793
  type: "object",
795
794
  properties: {
796
795
  type: {
797
- 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.",
796
+ description: "Type discriminator.",
798
797
  type: "string",
799
798
  "enum": [
800
799
  "getPreviousDatabaseSchemas"
801
800
  ]
802
801
  },
803
802
  schemaNames: {
804
- 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\"",
803
+ description: "Table names to retrieve from previous iteration. DO NOT request same names\nalready requested in previous calls.",
805
804
  type: "array",
806
805
  items: {
807
806
  type: "string"
@@ -826,11 +825,11 @@ function createController(props) {
826
825
  ]
827
826
  },
828
827
  review: {
829
- description: "Requirements coverage analysis.\n\nDocument how you analyzed requirements and mapped them to table\nmodifications:\n\n- What features does this domain support?\n- What data storage needs does each feature have?\n- What tables are missing to fulfill these requirements?\n- What existing tables need renaming or removal?\n\nBe specific - reference actual requirements and explain the\nrequirements-to-revisions mapping.",
828
+ description: "How requirements map to proposed table modifications, identifying\ncoverage gaps.",
830
829
  type: "string"
831
830
  },
832
831
  revises: {
833
- description: "Array of table revision operations.\n\nInclude all create, update, and erase operations identified during\nreview. Each operation must include a reason explaining why the change is\nnecessary.\n\n## Operation Types:\n\n### Create - Add missing tables\n\nUse when a table is needed to fulfill requirements but doesn't exist.\n\n```typescript\n{\n \"type\": \"create\",\n \"reason\": \"Requirement 3.2 specifies order cancellation tracking\",\n \"table\": \"order_cancellations\",\n \"description\": \"Stores cancellation records with reasons and timestamps\"\n}\n```\n\n### Update - Rename tables\n\nUse when a table has naming convention issues.\n\n```typescript\n{\n \"type\": \"update\",\n \"reason\": \"Table name violates snake_case convention\",\n \"original\": \"orderCancel\",\n \"updated\": \"order_cancellations\",\n \"description\": \"Stores cancellation records with reasons and timestamps\"\n}\n```\n\n### Erase - Remove tables\n\nUse when a table belongs to another domain or is unnecessary.\n\n```typescript\n{\n \"type\": \"erase\",\n \"reason\": \"Table belongs to Actors component, not Orders\",\n \"table\": \"shopping_customers\"\n}\n```\n\n## Constraints:\n\n- Only CREATE tables that CLEARLY belong to THIS component's domain\n- If uncertain about domain ownership \u2192 DO NOT CREATE\n- Each operation must have a clear, requirement-based reason\n- Empty array is valid if no modifications are needed\n\n## Validation Rules:\n\n- CREATE/UPDATE table names are checked against \"Tables in Other\n Components\"\n- If the table name already exists in another component \u2192 validation FAILS\n- Always check \"Tables in Other Components\" before CREATE/UPDATE operations\n- Your revises only affect Target Component, never other components' tables\n\n## Naming Conventions:\n\n- Snake case: `user_profiles` not `userProfiles`\n- Plural form: `users` not `user`\n- Domain prefix: `shopping_customers`",
832
+ description: "Table revision operations (create/update/erase). Each must include a\nreason.\n\nConstraints:\n\n- Only CREATE tables that clearly belong to THIS component's domain\n- CREATE/UPDATE names are validated against other components (duplicates\n fail)\n- Revises only affect the target component\n- Empty array is valid if no modifications are needed\n\nNaming: snake_case, plural, domain-prefixed.",
834
833
  type: "array",
835
834
  items: {
836
835
  $ref: "#/$defs/AutoBeDatabaseComponentTableRevise"
@@ -844,7 +843,7 @@ function createController(props) {
844
843
  ]
845
844
  },
846
845
  AutoBeDatabaseComponentTableRevise: {
847
- description: "Table revision operation type.\n\nDiscriminated union representing all possible table modifications during the\ncomponent review phase. Review agents examine generated tables and return an\narray of these operations to correct issues:\n\n- **Create**: Add missing tables that fulfill requirements\n- **Update**: Fix incorrectly named tables (rename operations)\n- **Erase**: Remove invalid or misplaced tables",
846
+ description: "Table revision: create | update (rename) | erase.",
848
847
  anyOf: [
849
848
  {
850
849
  $ref: "#/$defs/AutoBeDatabaseComponentTableCreate"
@@ -866,27 +865,27 @@ function createController(props) {
866
865
  }
867
866
  },
868
867
  AutoBeDatabaseComponentTableCreate: {
869
- description: "Request to create a new table in the component.\n\nUse this when you identify a missing table that should exist based on\nrequirements analysis. Common scenarios:\n\n- A required table was accidentally omitted from initial generation\n- A use case requires a table that wasn't initially identified\n- Review reveals gaps in data coverage for specific requirements\n- Supporting tables needed (snapshots, settings, attachments, etc.)",
868
+ description: "Add a missing table to the component.",
870
869
  type: "object",
871
870
  properties: {
872
871
  type: {
873
- description: "Type discriminator indicating this is a create operation.",
872
+ description: "Type discriminator.",
874
873
  type: "string",
875
874
  "enum": [
876
875
  "create"
877
876
  ]
878
877
  },
879
878
  reason: {
880
- description: "Brief, concise reason for creating this table.\n\nExplain which requirement this table fulfills and why it was missing from\nthe initial generation.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum",
879
+ description: "Why this table is needed. Keep concise \u2014 one or two sentences.",
881
880
  type: "string"
882
881
  },
883
882
  table: {
884
- description: "The new table name to add.\n\nMust follow snake_case naming convention with appropriate domain prefix.",
883
+ description: "Table name in snake_case with domain prefix.",
885
884
  type: "string",
886
885
  pattern: "^[a-z][a-z0-9_]*$"
887
886
  },
888
887
  description: {
889
- description: "Brief, concise description of what this table stores.\n\nExplain the business purpose and what data this table will contain.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum",
888
+ description: "Business purpose of this table. Keep concise. MUST be in English.",
890
889
  type: "string"
891
890
  }
892
891
  },
@@ -898,22 +897,22 @@ function createController(props) {
898
897
  ]
899
898
  },
900
899
  AutoBeDatabaseComponentTableErase: {
901
- description: "Request to erase a table from the component.\n\nUse this when a table should be removed from the component:\n\n- Table belongs to a different domain/component\n- Duplicate functionality with another table\n- Not derived from actual requirements (hallucinated)\n- Table is unnecessary for the business requirements\n- Over-engineering (unnecessary granularity)",
900
+ description: "Remove a table from the component.",
902
901
  type: "object",
903
902
  properties: {
904
903
  type: {
905
- description: "Type discriminator indicating this is an erase operation.",
904
+ description: "Type discriminator.",
906
905
  type: "string",
907
906
  "enum": [
908
907
  "erase"
909
908
  ]
910
909
  },
911
910
  reason: {
912
- description: "Brief, concise reason for deletion.\n\nExplain why this table should be removed and what issue it causes.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum",
911
+ description: "Why this table should be removed. Keep concise \u2014 one or two sentences.",
913
912
  type: "string"
914
913
  },
915
914
  table: {
916
- description: "The table name to remove.\n\nMust be from the current component's table list. Must match exactly.",
915
+ description: "Table name to remove. Must match exactly from current component.",
917
916
  type: "string",
918
917
  pattern: "^[a-z][a-z0-9_]*$"
919
918
  }
@@ -925,32 +924,32 @@ function createController(props) {
925
924
  ]
926
925
  },
927
926
  AutoBeDatabaseComponentTableUpdate: {
928
- description: "Request to update (rename) an existing table in the component.\n\nUse this when a table has naming issues that need correction:\n\n- Naming convention violations (e.g., `userProfile` -> `user_profiles`)\n- Missing domain prefix (e.g., `orders` -> `shopping_orders`)\n- Singular/plural normalization (e.g., `order` -> `orders`)\n- Typos or unclear naming (e.g., `usr_data` -> `user_data`)\n- Better alignment with domain terminology",
927
+ description: "Rename an existing table in the component.",
929
928
  type: "object",
930
929
  properties: {
931
930
  type: {
932
- description: "Type discriminator indicating this is an update operation.",
931
+ description: "Type discriminator.",
933
932
  type: "string",
934
933
  "enum": [
935
934
  "update"
936
935
  ]
937
936
  },
938
937
  reason: {
939
- description: "Brief, concise reason for this update.\n\nExplain what naming issue this fixes and why the new name is better.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum",
938
+ description: "Why this rename is needed. Keep concise \u2014 one or two sentences.",
940
939
  type: "string"
941
940
  },
942
941
  original: {
943
- description: "The original table name to modify.\n\nMust be from the current component's table list. Must match exactly.",
942
+ description: "Original table name. Must match exactly from current component.",
944
943
  type: "string",
945
944
  pattern: "^[a-z][a-z0-9_]*$"
946
945
  },
947
946
  updated: {
948
- description: "The updated table name.\n\nMust follow snake_case naming convention with appropriate domain prefix.",
947
+ description: "New table name in snake_case with domain prefix.",
949
948
  type: "string",
950
949
  pattern: "^[a-z][a-z0-9_]*$"
951
950
  },
952
951
  description: {
953
- description: "Brief, concise updated description of what this table stores.\n\nProvide a clear description for the renamed table.\n\n**IMPORTANT**: Keep it **concise** - one or two sentences maximum",
952
+ description: "Updated description. Keep concise. MUST be in English.",
954
953
  type: "string"
955
954
  }
956
955
  },
@@ -964,7 +963,7 @@ function createController(props) {
964
963
  }
965
964
  }
966
965
  },
967
- description: "Analyze requirements and review the component's table list.\n\nYour PRIMARY task is to deeply analyze user requirements and ensure\ncomplete table coverage for all features in this component's domain. Review\nexisting tables and identify necessary modifications using create, update,\nor erase operations.\n\nALWAYS fetch analysis sections first using `getAnalysisSections` to\nunderstand what features this component's domain needs to support, then\nsystematically verify table coverage and apply corrections.",
966
+ description: "Process component review task or retrieve preliminary data.",
968
967
  validate: (() => { 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 => "getPreviousAnalysisSections" === input.type && (Array.isArray(input.sectionIds) && (1 <= input.sectionIds.length && input.sectionIds.every(elem => "number" === typeof elem && __typia_transform__isTypeUint32._isTypeUint32(elem)))); const _io3 = input => "getPreviousDatabaseSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io4 = input => "complete" === input.type && "string" === typeof input.review && (Array.isArray(input.revises) && input.revises.every(elem => "object" === typeof elem && null !== elem && _iu0(elem))); const _io5 = input => "create" === input.type && "string" === typeof input.reason && ("string" === typeof input.table && RegExp("^[a-z][a-z0-9_]*$").test(input.table)) && "string" === typeof input.description; const _io6 = input => "erase" === input.type && "string" === typeof input.reason && ("string" === typeof input.table && RegExp("^[a-z][a-z0-9_]*$").test(input.table)); const _io7 = input => "update" === input.type && "string" === typeof input.reason && ("string" === typeof input.original && RegExp("^[a-z][a-z0-9_]*$").test(input.original)) && ("string" === typeof input.updated && RegExp("^[a-z][a-z0-9_]*$").test(input.updated)) && "string" === typeof input.description; const _iu0 = input => (() => {
969
968
  if ("create" === input.type)
970
969
  return _io5(input);
@@ -1 +1 @@
1
- {"version":3,"file":"orchestratePrismaComponentReview.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaComponentReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestratePrismaComponentReview.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaComponentReview.ts"],"names":[],"mappings":"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"}