@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
@@ -97,7 +97,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
97
97
  properties: {
98
98
  thinking: {
99
99
  type: "string",
100
- 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 (getDatabaseSchemas):\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."
100
+ description: "Think before you act.\n\nFor preliminary requests: what critical information is missing?\n\nFor completion: what did you acquire, what did you accomplish, why is it\nsufficient? Summarize \u2014 don't enumerate every single item."
101
101
  },
102
102
  request: {
103
103
  oneOf: [
@@ -115,7 +115,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
115
115
  complete: "#/components/schemas/IAutoBeRealizeTransformerCorrectApplication.IComplete"
116
116
  }
117
117
  },
118
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getDatabaseSchemas) or final error correction (complete). When\npreliminary returns empty array, that type is removed from the union,\nphysically preventing repeated calls."
118
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion, physically preventing repeated calls."
119
119
  }
120
120
  },
121
121
  required: [
@@ -128,7 +128,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
128
128
  properties: {
129
129
  type: {
130
130
  "const": "getDatabaseSchemas",
131
- 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."
131
+ description: "Type discriminator."
132
132
  },
133
133
  schemaNames: {
134
134
  type: "array",
@@ -136,47 +136,47 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
136
136
  type: "string"
137
137
  },
138
138
  minItems: 1,
139
- 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."
139
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls."
140
140
  }
141
141
  },
142
142
  required: [
143
143
  "type",
144
144
  "schemaNames"
145
145
  ],
146
- 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."
146
+ description: "Request to retrieve database schema definitions for context."
147
147
  },
148
148
  "IAutoBeRealizeTransformerCorrectApplication.IComplete": {
149
149
  type: "object",
150
150
  properties: {
151
151
  type: {
152
152
  "const": "complete",
153
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request."
153
+ description: "Type discriminator for completion request."
154
154
  },
155
155
  think: {
156
156
  type: "string",
157
- description: "Systematic error analysis and correction strategy.\n\nMUST contain thorough analysis with these four mandatory sections:\n\n1. Error Inventory - Categorize ALL compilation errors by root cause type\n2. Root Cause Analysis - Identify WHY each error occurs (wrong field, wrong\n transform, etc.)\n3. Schema Verification - Cross-check error-related fields against actual\n database schema\n4. Correction Strategy - Specific fix for each error in BOTH select() and\n transform()\n\nThis forces you to understand the REAL problem (not guess) and plan\nsurgical fixes that address root causes, not symptoms."
157
+ description: "Systematic error analysis. MUST contain four sections:\n\n1. Error Inventory \u2014 categorize ALL compilation errors by root cause\n2. Root Cause Analysis \u2014 identify WHY each error occurs (wrong field, wrong\n transform, etc.)\n3. Schema Verification \u2014 cross-check error-related fields against actual\n database schema\n4. Correction Strategy \u2014 specific fix for each error in BOTH select() and\n transform()\n\nThis forces you to understand the REAL problem (not guess) and plan\nsurgical fixes that address root causes, not symptoms."
158
158
  },
159
159
  selectMappings: {
160
160
  type: "array",
161
161
  items: {
162
162
  $ref: "#/components/schemas/AutoBeRealizeTransformerSelectMapping"
163
163
  },
164
- description: "Database field-by-field selection mapping verification for the select()\nfunction.\n\nReview which database fields/relations are being selected to identify\nmissing selections or incorrect field names that cause compilation\nerrors.\n\nFor each database field needed by transform(), document:\n\n- `member`: Exact database field/relation name (snake_case) - verify\n against schema\n- `kind`: Whether it's a scalar field, belongsTo, hasOne, or hasMany\n relation\n- `nullable`: Whether the field/relation is nullable (true/false for\n scalar/belongsTo, null for hasMany/hasOne)\n- `how`: Current state + correction plan (\"No change needed\", \"Fix: wrong\n field name\", etc.)\n\nThe `kind` property helps identify selection syntax errors (e.g., using\n`field: true` for a relation instead of nested select).\n\nThe `nullable` property helps catch nullability mismatch errors in\ntransform().\n\n**Common selection errors to identify**:\n\n- Wrong field name (typo or doesn't exist in schema)\n- Missing required field (transform() uses it but select() doesn't fetch\n it)\n- Wrong selection syntax (true for relation, or nested select for scalar)\n- Selecting field that doesn't exist in database model\n- Missing aggregation (_count, _sum) when transform() needs it\n\nThis structured verification:\n\n- Catches missing field selections before runtime\n- Identifies field name typos by comparing with schema\n- Ensures select() provides all data transform() needs\n- Documents what corrections are needed for selection logic\n- Prevents \"field not found\" errors\n\nThe validator will cross-check this against the database schema to ensure\nall field names are valid and complete coverage.\n\n**Note**: If compilation succeeds, select() is typically correct. This\nmapping is mainly for cases where select() has errors (wrong field names,\nmissing selections)."
164
+ description: "Selection mapping verification for select(). For each database field\nneeded by transform(), document:\n\n- `member`: Exact Prisma field/relation name (snake_case) \u2014 verify against\n the Relation Mapping Table and member list\n- `kind`: scalar, belongsTo, hasOne, or hasMany\n- `nullable`: true/false for scalar/belongsTo, null for hasMany/hasOne\n- `how`: Current state + correction plan (\"No change needed\", \"Fix: wrong\n field name\", etc.)\n\n**Common selection errors to identify**:\n\n- Wrong field name (typo or doesn't exist in schema)\n- Missing required field (transform() uses it but select() doesn't)\n- Wrong syntax (true for relation, or nested select for scalar)\n\nMissing even a single required field will cause validation failure."
165
165
  },
166
166
  transformMappings: {
167
167
  type: "array",
168
168
  items: {
169
169
  $ref: "#/components/schemas/AutoBeRealizeTransformerTransformMapping"
170
170
  },
171
- description: "DTO property-by-property mapping verification for the transform()\nfunction.\n\nReview EVERY property from the DTO type definition to ensure correct\ntransformation in the transform() function. This systematic approach\ncatches errors beyond what the compiler reports and prevents new issues.\n\nFor each DTO property in transform(), document:\n\n- `property`: Exact DTO property name (camelCase)\n- `how`: Current state + correction plan (\"No change needed\", \"Fix:\n [problem] \u2192 [solution]\", etc.)\n\nEven properties without errors should be included with \"No change needed\"\nto ensure complete review. Missing even a single property could hide\nbugs.\n\nThis structured verification:\n\n- Catches silent errors compiler didn't report\n- Ensures no properties accidentally omitted in transform()\n- Documents transformation corrections explicitly\n- Verifies transform() logic correctness\n- Prevents regression in working transformations\n\n**Common correction scenarios in transform()**:\n\n- Missing type conversion (Decimal \u2192 Number, DateTime \u2192 ISO)\n- Wrong property name (DTO vs database mismatch)\n- Inline transformation when neighbor transformer exists\n- Missing computed property\n- Wrong nullable handling (DateTime? \u2192 string | null)\n- Fabricated property not in DTO\n- Missing property from DTO\n- Missing await for async transformers\n\nThe validator will cross-check this against the DTO type definition to\nensure nothing was overlooked.\n\n**Note**: This mapping is ONLY for the transform() function. The select()\nfunction is typically correct if compilation succeeds, as it's\nstructurally simpler."
171
+ description: "Transform mapping verification. MUST include EVERY DTO property.\n\n- `property`: Exact DTO property name (camelCase)\n- `how`: Current state + correction plan (\"No change needed\", \"Fix:\n [problem] \u2192 [solution]\")\n\nEven correct properties must be included with \"No change needed\" to\nensure complete review.\n\nMissing even a single property will cause validation failure."
172
172
  },
173
173
  draft: {
174
174
  type: "string",
175
- description: "Initial correction implementation.\n\nComplete corrected code that applies ALL fixes from the think phase\nstrategy. EVERY error in think Section 1 inventory MUST be addressed.\nImplement:\n\n- Field name corrections in select() (exact database field names)\n- Type casts in transform() (Decimal\u2192Number, DateTime\u2192ISO)\n- Neighbor transformer reuse (replace inline logic if transformer exists)\n- Function order fix (transform \u2192 select \u2192 Payload)\n\nApply fixes surgically - change ONLY what's broken, preserve working\nlogic."
175
+ description: "Complete corrected code. EVERY error from think Section 1 MUST be\naddressed. Implement:\n\n- Field name corrections in select() (exact database field names)\n- Type casts in transform() (Decimal\u2192Number, DateTime\u2192ISO)\n- Neighbor transformer reuse (replace inline logic if transformer exists)\n\nApply fixes surgically \u2014 change ONLY what's broken, preserve working\nlogic."
176
176
  },
177
177
  revise: {
178
178
  $ref: "#/components/schemas/IAutoBeRealizeTransformerCorrectApplication.IReviseProps",
179
- description: "Revision and finalization phase.\n\nReviews the draft corrections and produces the final, error-free code\nthat maintains all business requirements."
179
+ description: "Reviews draft corrections and produces final error-free code."
180
180
  }
181
181
  },
182
182
  required: [
@@ -187,14 +187,14 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
187
187
  "draft",
188
188
  "revise"
189
189
  ],
190
- description: "Request to correct transformer implementation errors.\n\nExecutes three-phase error correction to resolve TypeScript compilation\nissues in transformer functions. Applies systematic fixes following think \u2192\ndraft \u2192 revise pattern to ensure error-free production code."
190
+ description: "Correct transformer compilation errors via think/draft/revise."
191
191
  },
192
192
  AutoBeRealizeTransformerSelectMapping: {
193
193
  type: "object",
194
194
  properties: {
195
195
  member: {
196
196
  type: "string",
197
- description: "Exact Prisma field or relation name from the Prisma schema.\n\nMUST match the Prisma schema exactly (case-sensitive). Use snake_case as\nPrisma follows database conventions.\n\n**Field Types**:\n\n- **Scalar fields**: Database columns (id, email, created_at, unit_price,\n etc.)\n- **BelongsTo relations**: Foreign key relations (customer, article,\n category, etc.)\n- **HasMany relations**: One-to-many arrays (tags, comments, reviews, etc.)\n- **Aggregations**: Prisma computed fields (_count, _sum, _avg, etc.)\n\n**Examples**:\n\n```typescript\n// Scalar fields for direct mapping or conversion\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"email\", kind: \"scalar\", nullable: false, how: \"For DTO.email\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt (needs .toISOString())\" }\n{ member: \"unit_price\", kind: \"scalar\", nullable: false, how: \"For DTO.price (Decimal \u2192 Number)\" }\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt (nullable DateTime)\" }\n\n// Scalar fields for computation\n{ member: \"quantity\", kind: \"scalar\", nullable: false, how: \"For DTO.totalPrice computation\" }\n{ member: \"expiry_date\", kind: \"scalar\", nullable: false, how: \"For DTO.isExpired computation\" }\n\n// Aggregations (special scalar type)\n{ member: \"_count\", kind: \"scalar\", nullable: false, how: \"For DTO.reviewCount\" }\n\n// BelongsTo relations (nested objects)\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.customer (nested transformer)\" }\n{ member: \"article\", kind: \"belongsTo\", nullable: false, how: \"For DTO.article (nested transformer)\" }\n{ member: \"parent\", kind: \"belongsTo\", nullable: true, how: \"For DTO.parent (optional nested)\" }\n\n// HasMany relations (arrays)\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array transformer)\" }\n{ member: \"comments\", kind: \"hasMany\", nullable: null, how: \"For DTO.comments (array transformer)\" }\n```\n\nDO NOT use DTO property names here - this is about Prisma schema members,\nnot DTO properties."
197
+ description: "Exact Prisma field or relation name from the Prisma schema.\n\nMUST match the Prisma schema exactly (case-sensitive, snake_case).\n\n**Field Types**:\n\n- **Scalar fields**: Database columns (id, email, created_at, unit_price)\n- **BelongsTo relations**: FK relations (customer, article, category)\n- **HasMany relations**: 1:N arrays (tags, comments, reviews)\n- **Aggregations**: Prisma computed fields (_count, _sum, _avg)\n\n**Examples**:\n\n```typescript\n// Scalar fields\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt (needs .toISOString())\" }\n{ member: \"unit_price\", kind: \"scalar\", nullable: false, how: \"For DTO.price (Decimal \u2192 Number)\" }\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt (nullable DateTime)\" }\n\n// BelongsTo relations \u2014 member is ALWAYS the Prisma relation name,\n// which may differ from the DTO property name\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.buyer (nested transformer)\" }\n{ member: \"user\", kind: \"belongsTo\", nullable: true, how: \"For DTO.voter (optional nested)\" }\n\n// HasMany relations\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array transformer)\" }\n```\n\nDO NOT use DTO property names \u2014 this is about Prisma schema members. Read\nthe Relation Mapping Table and member list to find correct names."
198
198
  },
199
199
  kind: {
200
200
  oneOf: [
@@ -211,7 +211,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
211
211
  "const": "hasMany"
212
212
  }
213
213
  ],
214
- description: "The kind of Prisma schema member being selected.\n\nExplicitly identifies whether this member is a scalar field or a relation,\nand if it's a relation, what type of relation it is. This classification\nforces the AI to think through the nature of each member before planning\nwhat to select, preventing common mistakes in the select() function.\n\n**Possible values**:\n\n- `\"scalar\"`: Regular database column (id, email, created_at, unit_price,\n etc.)\n- `\"belongsTo\"`: Foreign key relation pointing to parent entity (customer,\n article, category, etc.)\n- `\"hasOne\"`: One-to-one relation where this side owns the relationship\n- `\"hasMany\"`: One-to-many or many-to-many relation (comments, tags, reviews,\n etc.)\n\n**Why this matters for select()**:\n\n- **Prevents confusion**: AI must consciously identify if \"customer\" is a\n scalar or belongsTo relation\n- **Forces correct select syntax**: belongsTo/hasMany require nested select\n objects, scalar requires `true`\n- **Enables Chain-of-Thought**: AI explicitly thinks about the kind before\n deciding selection strategy\n- **Supports proper data loading**: Different kinds require different\n selection approaches\n\n**Examples by kind**:\n\n```typescript\n// Scalar fields - simple selection\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"email\", kind: \"scalar\", nullable: false, how: \"For DTO.email\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt\" }\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt\" }\n\n// BelongsTo relations - nested selection with transformer\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.customer (nested)\" }\n{ member: \"article\", kind: \"belongsTo\", nullable: false, how: \"For DTO.article (nested)\" }\n{ member: \"parent\", kind: \"belongsTo\", nullable: true, how: \"For DTO.parent (optional)\" }\n\n// HasMany relations - nested selection with array transformer\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array)\" }\n{ member: \"comments\", kind: \"hasMany\", nullable: null, how: \"For DTO.comments (array)\" }\n```\n\nThe `kind` field works together with `nullable` and `how`: kind identifies\nWHAT it is, nullable identifies IF it's optional, how explains WHY we're\nselecting it."
214
+ description: "Kind of Prisma schema member.\n\n- `\"scalar\"`: Regular column \u2192 `{ field: true }`\n- `\"belongsTo\"`: FK relation \u2192 `{ relation: { select: ... } }`\n- `\"hasOne\"`: 1:1 relation \u2192 nested select\n- `\"hasMany\"`: 1:N relation \u2192 `{ relation: { select: ... } }`\n\nThe kind forces explicit classification of each member BEFORE deciding\nselect syntax, preventing confusion between scalars and relations."
215
215
  },
216
216
  nullable: {
217
217
  oneOf: [
@@ -222,11 +222,11 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
222
222
  type: "boolean"
223
223
  }
224
224
  ],
225
- description: "Whether this Prisma member is nullable in the schema.\n\nThis property explicitly documents whether a field/relation can be null,\nforcing the AI to understand nullability constraints before deciding\nselection strategy. This affects how the transform() function will handle\nthe data.\n\n**Value semantics by kind**:\n\n- **For scalar fields** (`kind: \"scalar\"`):\n\n - `false`: Non-nullable column (e.g., `email String`, `id String`)\n\n - Will always have a value in the selected data\n - Transform() can safely access without null checks\n - Example: `created_at DateTime` \u2192 `nullable: false`\n - `true`: Nullable column (e.g., `deleted_at DateTime?`)\n\n - Might be null in the selected data\n - Transform() must handle null case (e.g., `?? null`)\n - Example: `deleted_at DateTime?` \u2192 `nullable: true`\n- **For belongsTo relations** (`kind: \"belongsTo\"`):\n\n - `false`: Required foreign key (e.g., `customer_id String`)\n\n - Relation will always exist in the selected data\n - Transform() can safely use the nested transformer\n - Example: `customer` relation \u2192 `nullable: false`\n - `true`: Optional foreign key (e.g., `parent_id String?`)\n\n - Relation might not exist in the selected data\n - Transform() must handle null case\n - Example: `parent` relation \u2192 `nullable: true`\n- **For hasMany/hasOne relations** (`kind: \"hasMany\"` or `kind: \"hasOne\"`):\n\n - Always `null`: Nullability concept doesn't apply to these relations\n\n - HasMany: Always returns array (empty or populated)\n - HasOne: Handled differently in Prisma\n - The `nullable` property has no semantic meaning\n\n**Why this matters for select()**:\n\n- **Informs transform() handling**: Knowing nullability helps plan correct\n transformation\n- **Validates selection strategy**: Nullable fields need different handling\n in transform()\n- **Supports Chain-of-Thought**: AI must think about nullability BEFORE\n deciding selection\n- **Documents schema constraints**: Makes nullability explicit for validation\n\n**Examples**:\n\n```typescript\n// Non-nullable scalar (nullable: false)\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"email\", kind: \"scalar\", nullable: false, how: \"For DTO.email\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt\" }\n\n// Nullable scalar (nullable: true)\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt (nullable)\" }\n{ member: \"description\", kind: \"scalar\", nullable: true, how: \"For DTO.description (optional)\" }\n\n// Required belongsTo (nullable: false)\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.customer (nested)\" }\n{ member: \"article\", kind: \"belongsTo\", nullable: false, how: \"For DTO.article (nested)\" }\n\n// Optional belongsTo (nullable: true)\n{ member: \"parent\", kind: \"belongsTo\", nullable: true, how: \"For DTO.parent (optional)\" }\n{ member: \"category\", kind: \"belongsTo\", nullable: true, how: \"For DTO.category (optional)\" }\n\n// HasMany relations (nullable: null - not applicable)\n{ member: \"comments\", kind: \"hasMany\", nullable: null, how: \"For DTO.comments (array)\" }\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array)\" }\n```\n\nThe `nullable` property works with `kind` and `how`: kind identifies WHAT\nit is, nullable identifies IF it's optional, how explains WHY we're\nselecting it."
225
+ description: "Whether nullable in Prisma schema.\n\n- `false`: Always present \u2014 transform() can safely access\n- `true`: May be null \u2014 transform() must handle null case\n- `null`: Not applicable (hasMany/hasOne)"
226
226
  },
227
227
  how: {
228
228
  type: "string",
229
- description: "Brief one-line explanation of why this Prisma field is being selected.\n\nKeep it concise and clear. Focus on which DTO property(ies) need this data.\n\n**For Write Phase** (planning field selection):\n\n- \"For DTO.id\"\n- \"For DTO.email\"\n- \"For DTO.createdAt (needs .toISOString())\"\n- \"For DTO.deletedAt (nullable DateTime)\"\n- \"For DTO.price (Decimal \u2192 Number conversion)\"\n- \"For DTO.totalPrice computation (with quantity)\"\n- \"For DTO.reviewCount aggregation\"\n- \"For DTO.isExpired computation\"\n- \"For DTO.customer (nested CustomerTransformer)\"\n- \"For DTO.tags (array TagTransformer)\"\n- \"For nested transformer's select() requirements\"\n\n**For Correct Phase** (documenting current state and fixes):\n\n- \"No change needed - correct\"\n- \"Already correct\"\n- \"Fix: Wrong field name 'user_email' \u2192 'email'\"\n- \"Fix: Missing field - add for DTO.totalPrice\"\n- \"Fix: Should use select, not include\"\n- \"Fix: Missing aggregation - add _count\"\n- \"Fix: Fabricated field - remove it\"\n- \"Fix: Selecting unused field - remove it\"\n\nEven if a selection is correct, you MUST include it in the mapping and\nexplain why. This ensures complete coverage and alignment with\ntransform().\n\nThis is NOT code - just a simple description of the selection purpose."
229
+ description: "Brief reason for selecting this field (NOT code).\n\nWrite phase: \"For DTO.id\", \"For DTO.createdAt (needs .toISOString())\", \"For\nDTO.customer (nested transformer)\".\n\nCorrect phase: \"No change needed\", \"Fix: Missing field \u2014 add for\nDTO.totalPrice\".\n\nEven if correct, you MUST include it in the mapping. This ensures complete\ncoverage and alignment with transform()."
230
230
  }
231
231
  },
232
232
  required: [
@@ -235,32 +235,32 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
235
235
  "nullable",
236
236
  "how"
237
237
  ],
238
- description: "Single Prisma field selection mapping for the select() function.\n\nDocuments which Prisma fields/relations must be selected from the database to\nenable the transform() function to build the DTO. This structured approach\nensures no required data is missing from the query, preventing runtime\nerrors.\n\n**Purpose**:\n\n- Prevents missing field selections through systematic coverage verification\n- Forces explicit decision-making for each Prisma field selection\n- Ensures select() and transform() are perfectly aligned\n- Creates clear documentation of what data to load from database\n\n**Usage Contexts**:\n\n- **Write Phase**: Plan which Prisma fields to select for each DTO property\n- **Correct Phase**: Document current state and correction plan for each\n selection\n\nThe validator cross-checks mappings against the Prisma schema and DTO\nrequirements to ensure nothing is overlooked, rejecting incomplete\nselections.\n\n**Critical Principle**:\n\nEvery DTO property in the transform() function requires corresponding Prisma\ndata. This mapping documents what must be selected to satisfy those\nrequirements. If transform() needs `prisma.created_at`, select() MUST include\n`created_at: true`."
238
+ description: "Prisma field selection mapping for the select() function.\n\nDocuments which Prisma fields/relations must be selected to enable\ntransform() to build the DTO. EVERY required field must be listed \u2014 the\nvalidator rejects incomplete selections."
239
239
  },
240
240
  AutoBeRealizeTransformerTransformMapping: {
241
241
  type: "object",
242
242
  properties: {
243
243
  property: {
244
244
  type: "string",
245
- description: "Exact DTO property name from the DTO type definition.\n\nMUST match the DTO interface exactly (case-sensitive). Examples:\n\n- Scalar properties: \"id\", \"email\", \"createdAt\"\n- Computed properties: \"totalPrice\", \"reviewCount\", \"isExpired\"\n- Nested objects: \"customer\", \"article\"\n- Arrays: \"tags\", \"comments\"\n\nUse camelCase as DTOs follow TypeScript conventions (unlike Prisma's\nsnake_case).\n\nInclude ALL properties from the DTO, even if they require complex\ntransformations or are computed from multiple Prisma fields.\n\n**Examples**:\n\n```typescript\n// Direct scalar mappings\n{ property: \"id\", how: \"From prisma.id\" }\n{ property: \"email\", how: \"From prisma.email\" }\n{ property: \"createdAt\", how: \"From prisma.created_at.toISOString()\" }\n\n// Type conversions\n{ property: \"price\", how: \"From prisma.unit_price (Decimal \u2192 Number)\" }\n{ property: \"deletedAt\", how: \"From prisma.deleted_at?.toISOString() ?? null\" }\n\n// Computed properties\n{ property: \"totalPrice\", how: \"Compute: prisma.unit_price * prisma.quantity\" }\n{ property: \"reviewCount\", how: \"From prisma._count.reviews\" }\n{ property: \"isExpired\", how: \"Compute: prisma.expiry_date < new Date()\" }\n\n// Nested transformations\n{ property: \"customer\", how: \"Transform with CustomerTransformer\" }\n{ property: \"tags\", how: \"Array map with TagTransformer\" }\n```"
245
+ description: "Exact DTO property name (case-sensitive, camelCase).\n\nInclude ALL properties: direct mappings, type conversions, computed values,\nand nested transformations.\n\n**Examples**:\n\n```typescript\n// Direct scalar mappings\n{ property: \"id\", how: \"From prisma.id\" }\n{ property: \"createdAt\", how: \"From prisma.created_at.toISOString()\" }\n\n// Type conversions\n{ property: \"price\", how: \"From prisma.unit_price (Decimal \u2192 Number)\" }\n{ property: \"deletedAt\", how: \"From prisma.deleted_at?.toISOString() ?? null\" }\n\n// Computed properties\n{ property: \"totalPrice\", how: \"Compute: prisma.unit_price * prisma.quantity\" }\n{ property: \"reviewCount\", how: \"From prisma._count.reviews\" }\n\n// Nested transformations (reuse neighbor transformers)\n{ property: \"customer\", how: \"Transform with CustomerTransformer\" }\n{ property: \"tags\", how: \"Array map with TagTransformer\" }\n```"
246
246
  },
247
247
  how: {
248
248
  type: "string",
249
- description: "Brief one-line explanation of how to obtain this property's value from\nPrisma.\n\nKeep it concise and clear.\n\n**For Write Phase** (planning transformation strategy):\n\n- \"From prisma.email\"\n- \"From prisma.created_at.toISOString()\"\n- \"From prisma.unit_price (Decimal \u2192 Number)\"\n- \"From prisma.deleted_at?.toISOString() ?? null\"\n- \"Compute: prisma.unit_price * prisma.quantity\"\n- \"From prisma._count.reviews\"\n- \"Compute: prisma.expiry_date < new Date()\"\n- \"Transform with CustomerTransformer\"\n- \"Array map with TagTransformer\"\n- \"From prisma.customer.name (nested field)\"\n\n**For Correct Phase** (documenting current state and fixes):\n\n- \"No change needed - correct\"\n- \"Already correct\"\n- \"Fix: Wrong property name 'userEmail' \u2192 'email'\"\n- \"Fix: Missing property - add from prisma.total_price\"\n- \"Fix: Wrong transformation - should use .toISOString()\"\n- \"Fix: Should use TagTransformer instead of inline\"\n- \"Fix: Missing Decimal conversion\"\n- \"Fix: Fabricated property - remove it\"\n\nEven if a property is correct, you MUST include it in the mapping and\nexplain why. This ensures complete DTO coverage.\n\nThis is NOT code - just a simple description of the transformation\nstrategy."
249
+ description: "Brief strategy for obtaining this property's value (NOT code).\n\nWrite phase: \"From prisma.email\", \"From prisma.created_at.toISOString()\",\n\"From prisma.deleted_at?.toISOString() ?? null\", \"From prisma.unit_price\n(Decimal \u2192 Number)\", \"Transform with CustomerTransformer\", \"Array map with\nTagTransformer\", \"Compute: prisma.unit_price * prisma.quantity\".\n\nCorrect phase: \"No change needed\", \"Fix: Missing Decimal conversion\", \"Fix:\nShould use TagTransformer instead of inline\".\n\nEven if correct, you MUST include it. This ensures complete DTO coverage."
250
250
  }
251
251
  },
252
252
  required: [
253
253
  "property",
254
254
  "how"
255
255
  ],
256
- description: "Single DTO property transformation mapping for the transform() function.\n\nDocuments how to transform Prisma payload data into each specific DTO\nproperty in the transform() function. This structured approach ensures\ncomplete DTO coverage by requiring explicit documentation for EVERY property\n\n- Including those requiring special transformations or computed from multiple\n Prisma fields.\n\n**Purpose**:\n\n- Prevents property omissions through systematic coverage verification\n- Forces explicit decision-making for each DTO property transformation\n- Enables validation before code generation (Write) or correction (Correct)\n- Creates clear documentation of transformation logic\n\n**Usage Contexts**:\n\n- **Write Phase**: Plan how to transform each Prisma field \u2192 DTO property in\n transform()\n- **Correct Phase**: Document current state and correction plan for each\n property in transform()\n\nThe validator cross-checks mappings against the DTO type definition to ensure\nnothing is overlooked, rejecting incomplete mappings.\n\n**Critical Principle**:\n\nThis mapping is ONLY for the transform() function - it documents how to build\nthe DTO return object. The corresponding select() function requirements are\ndocumented separately in AutoBeRealizeTransformerSelectMapping."
256
+ description: "DTO property transformation mapping for the transform() function.\n\nDocuments how to transform Prisma payload data into each DTO property. EVERY\nDTO property must be listed \u2014 the validator rejects incomplete mappings."
257
257
  },
258
258
  "IAutoBeRealizeTransformerCorrectApplication.IReviseProps": {
259
259
  type: "object",
260
260
  properties: {
261
261
  review: {
262
262
  type: "string",
263
- description: "Critical correction review and validation.\n\nMUST systematically verify using four checklists:\n\n1. Error Resolution - Confirm EVERY error from think Section 1 is fixed\n2. Root Cause Fix - Verify fixes address root causes (not workarounds/hacks)\n3. System Rules - Mandatory neighbor reuse, select (not include), proper\n types\n4. No Regression - Confirm no NEW errors, Payload type matches select()\n\nIdentify any remaining issues with line numbers and root cause analysis.\nCatch Band-Aid fixes (any casts, type assertions) that hide real\nproblems."
263
+ description: "MUST systematically verify four checklists:\n\n1. Error Resolution \u2014 confirm EVERY error from think Section 1 is fixed\n2. Root Cause Fix \u2014 verify fixes address root causes (not workarounds/hacks)\n3. System Rules \u2014 neighbor reuse, select (not include), proper types\n4. No Regression \u2014 confirm no NEW errors, Payload type matches select()\n\nCatch Band-Aid fixes (any casts, type assertions) that hide real\nproblems."
264
264
  },
265
265
  final: {
266
266
  oneOf: [
@@ -271,7 +271,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
271
271
  type: "string"
272
272
  }
273
273
  ],
274
- description: "Final error-free transformer code with all corrections applied.\n\nApply ALL remaining fixes identified in the review to produce\ncompilation-ready code. If review found issues (workarounds, new errors),\nthis MUST contain proper fixes.\n\nReturn `null` ONLY if draft is already perfect and review found zero\nissues."
274
+ description: "Final error-free code with all corrections applied, or null if draft\nneeds no changes."
275
275
  }
276
276
  },
277
277
  required: [
@@ -295,7 +295,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
295
295
  }
296
296
  }
297
297
  ],
298
- description: "Process transformer correction task or preliminary data requests.\n\nSystematically analyzes and corrects TypeScript compilation errors in\ntransformer functions through three-phase workflow (think \u2192 draft \u2192\nrevise). Maintains business logic integrity while resolving all compilation\nissues."
298
+ description: "Process transformer correction task or preliminary data requests."
299
299
  }
300
300
  ]
301
301
  },
@@ -516,11 +516,11 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
516
516
  type: "object",
517
517
  properties: {
518
518
  thinking: {
519
- 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 (getDatabaseSchemas):\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.",
519
+ description: "Think before you act.\n\nFor preliminary requests: what critical information is missing?\n\nFor completion: what did you acquire, what did you accomplish, why is it\nsufficient? Summarize \u2014 don't enumerate every single item.",
520
520
  type: "string"
521
521
  },
522
522
  request: {
523
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval\n(getDatabaseSchemas) or final error correction (complete). When\npreliminary returns empty array, that type is removed from the union,\nphysically preventing repeated calls.",
523
+ description: "Action to perform. Exhausted preliminary types are removed from the\nunion, physically preventing repeated calls.",
524
524
  anyOf: [
525
525
  {
526
526
  $ref: "#/$defs/IAutoBePreliminaryGetDatabaseSchemas"
@@ -545,18 +545,18 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
545
545
  additionalProperties: false,
546
546
  $defs: {
547
547
  IAutoBePreliminaryGetDatabaseSchemas: {
548
- 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.",
548
+ description: "Request to retrieve database schema definitions for context.",
549
549
  type: "object",
550
550
  properties: {
551
551
  type: {
552
- 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.",
552
+ description: "Type discriminator.",
553
553
  type: "string",
554
554
  "enum": [
555
555
  "getDatabaseSchemas"
556
556
  ]
557
557
  },
558
558
  schemaNames: {
559
- 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.",
559
+ description: "Database table names to retrieve. DO NOT request same names already\nrequested in previous calls.",
560
560
  type: "array",
561
561
  items: {
562
562
  type: "string"
@@ -570,40 +570,40 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
570
570
  ]
571
571
  },
572
572
  "IAutoBeRealizeTransformerCorrectApplication.IComplete": {
573
- description: "Request to correct transformer implementation errors.\n\nExecutes three-phase error correction to resolve TypeScript compilation\nissues in transformer functions. Applies systematic fixes following think \u2192\ndraft \u2192 revise pattern to ensure error-free production code.",
573
+ description: "Correct transformer compilation errors via think/draft/revise.",
574
574
  type: "object",
575
575
  properties: {
576
576
  type: {
577
- description: "Type discriminator for the request.\n\nDetermines which action to perform: preliminary data retrieval or actual\ntask execution. Value \"complete\" indicates this is the final task\nexecution request.",
577
+ description: "Type discriminator for completion request.",
578
578
  type: "string",
579
579
  "enum": [
580
580
  "complete"
581
581
  ]
582
582
  },
583
583
  think: {
584
- description: "Systematic error analysis and correction strategy.\n\nMUST contain thorough analysis with these four mandatory sections:\n\n1. Error Inventory - Categorize ALL compilation errors by root cause type\n2. Root Cause Analysis - Identify WHY each error occurs (wrong field, wrong\n transform, etc.)\n3. Schema Verification - Cross-check error-related fields against actual\n database schema\n4. Correction Strategy - Specific fix for each error in BOTH select() and\n transform()\n\nThis forces you to understand the REAL problem (not guess) and plan\nsurgical fixes that address root causes, not symptoms.",
584
+ description: "Systematic error analysis. MUST contain four sections:\n\n1. Error Inventory \u2014 categorize ALL compilation errors by root cause\n2. Root Cause Analysis \u2014 identify WHY each error occurs (wrong field, wrong\n transform, etc.)\n3. Schema Verification \u2014 cross-check error-related fields against actual\n database schema\n4. Correction Strategy \u2014 specific fix for each error in BOTH select() and\n transform()\n\nThis forces you to understand the REAL problem (not guess) and plan\nsurgical fixes that address root causes, not symptoms.",
585
585
  type: "string"
586
586
  },
587
587
  selectMappings: {
588
- description: "Database field-by-field selection mapping verification for the select()\nfunction.\n\nReview which database fields/relations are being selected to identify\nmissing selections or incorrect field names that cause compilation\nerrors.\n\nFor each database field needed by transform(), document:\n\n- `member`: Exact database field/relation name (snake_case) - verify\n against schema\n- `kind`: Whether it's a scalar field, belongsTo, hasOne, or hasMany\n relation\n- `nullable`: Whether the field/relation is nullable (true/false for\n scalar/belongsTo, null for hasMany/hasOne)\n- `how`: Current state + correction plan (\"No change needed\", \"Fix: wrong\n field name\", etc.)\n\nThe `kind` property helps identify selection syntax errors (e.g., using\n`field: true` for a relation instead of nested select).\n\nThe `nullable` property helps catch nullability mismatch errors in\ntransform().\n\n**Common selection errors to identify**:\n\n- Wrong field name (typo or doesn't exist in schema)\n- Missing required field (transform() uses it but select() doesn't fetch\n it)\n- Wrong selection syntax (true for relation, or nested select for scalar)\n- Selecting field that doesn't exist in database model\n- Missing aggregation (_count, _sum) when transform() needs it\n\nThis structured verification:\n\n- Catches missing field selections before runtime\n- Identifies field name typos by comparing with schema\n- Ensures select() provides all data transform() needs\n- Documents what corrections are needed for selection logic\n- Prevents \"field not found\" errors\n\nThe validator will cross-check this against the database schema to ensure\nall field names are valid and complete coverage.\n\n**Note**: If compilation succeeds, select() is typically correct. This\nmapping is mainly for cases where select() has errors (wrong field names,\nmissing selections).",
588
+ description: "Selection mapping verification for select(). For each database field\nneeded by transform(), document:\n\n- `member`: Exact Prisma field/relation name (snake_case) \u2014 verify against\n the Relation Mapping Table and member list\n- `kind`: scalar, belongsTo, hasOne, or hasMany\n- `nullable`: true/false for scalar/belongsTo, null for hasMany/hasOne\n- `how`: Current state + correction plan (\"No change needed\", \"Fix: wrong\n field name\", etc.)\n\n**Common selection errors to identify**:\n\n- Wrong field name (typo or doesn't exist in schema)\n- Missing required field (transform() uses it but select() doesn't)\n- Wrong syntax (true for relation, or nested select for scalar)\n\nMissing even a single required field will cause validation failure.",
589
589
  type: "array",
590
590
  items: {
591
591
  $ref: "#/$defs/AutoBeRealizeTransformerSelectMapping"
592
592
  }
593
593
  },
594
594
  transformMappings: {
595
- description: "DTO property-by-property mapping verification for the transform()\nfunction.\n\nReview EVERY property from the DTO type definition to ensure correct\ntransformation in the transform() function. This systematic approach\ncatches errors beyond what the compiler reports and prevents new issues.\n\nFor each DTO property in transform(), document:\n\n- `property`: Exact DTO property name (camelCase)\n- `how`: Current state + correction plan (\"No change needed\", \"Fix:\n [problem] \u2192 [solution]\", etc.)\n\nEven properties without errors should be included with \"No change needed\"\nto ensure complete review. Missing even a single property could hide\nbugs.\n\nThis structured verification:\n\n- Catches silent errors compiler didn't report\n- Ensures no properties accidentally omitted in transform()\n- Documents transformation corrections explicitly\n- Verifies transform() logic correctness\n- Prevents regression in working transformations\n\n**Common correction scenarios in transform()**:\n\n- Missing type conversion (Decimal \u2192 Number, DateTime \u2192 ISO)\n- Wrong property name (DTO vs database mismatch)\n- Inline transformation when neighbor transformer exists\n- Missing computed property\n- Wrong nullable handling (DateTime? \u2192 string | null)\n- Fabricated property not in DTO\n- Missing property from DTO\n- Missing await for async transformers\n\nThe validator will cross-check this against the DTO type definition to\nensure nothing was overlooked.\n\n**Note**: This mapping is ONLY for the transform() function. The select()\nfunction is typically correct if compilation succeeds, as it's\nstructurally simpler.",
595
+ description: "Transform mapping verification. MUST include EVERY DTO property.\n\n- `property`: Exact DTO property name (camelCase)\n- `how`: Current state + correction plan (\"No change needed\", \"Fix:\n [problem] \u2192 [solution]\")\n\nEven correct properties must be included with \"No change needed\" to\nensure complete review.\n\nMissing even a single property will cause validation failure.",
596
596
  type: "array",
597
597
  items: {
598
598
  $ref: "#/$defs/AutoBeRealizeTransformerTransformMapping"
599
599
  }
600
600
  },
601
601
  draft: {
602
- description: "Initial correction implementation.\n\nComplete corrected code that applies ALL fixes from the think phase\nstrategy. EVERY error in think Section 1 inventory MUST be addressed.\nImplement:\n\n- Field name corrections in select() (exact database field names)\n- Type casts in transform() (Decimal\u2192Number, DateTime\u2192ISO)\n- Neighbor transformer reuse (replace inline logic if transformer exists)\n- Function order fix (transform \u2192 select \u2192 Payload)\n\nApply fixes surgically - change ONLY what's broken, preserve working\nlogic.",
602
+ description: "Complete corrected code. EVERY error from think Section 1 MUST be\naddressed. Implement:\n\n- Field name corrections in select() (exact database field names)\n- Type casts in transform() (Decimal\u2192Number, DateTime\u2192ISO)\n- Neighbor transformer reuse (replace inline logic if transformer exists)\n\nApply fixes surgically \u2014 change ONLY what's broken, preserve working\nlogic.",
603
603
  type: "string"
604
604
  },
605
605
  revise: {
606
- description: "Revision and finalization phase.\n\nReviews the draft corrections and produces the final, error-free code\nthat maintains all business requirements.",
606
+ description: "Reviews draft corrections and produces final error-free code.",
607
607
  $ref: "#/$defs/IAutoBeRealizeTransformerCorrectApplication.IReviseProps"
608
608
  }
609
609
  },
@@ -617,15 +617,15 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
617
617
  ]
618
618
  },
619
619
  AutoBeRealizeTransformerSelectMapping: {
620
- description: "Single Prisma field selection mapping for the select() function.\n\nDocuments which Prisma fields/relations must be selected from the database to\nenable the transform() function to build the DTO. This structured approach\nensures no required data is missing from the query, preventing runtime\nerrors.\n\n**Purpose**:\n\n- Prevents missing field selections through systematic coverage verification\n- Forces explicit decision-making for each Prisma field selection\n- Ensures select() and transform() are perfectly aligned\n- Creates clear documentation of what data to load from database\n\n**Usage Contexts**:\n\n- **Write Phase**: Plan which Prisma fields to select for each DTO property\n- **Correct Phase**: Document current state and correction plan for each\n selection\n\nThe validator cross-checks mappings against the Prisma schema and DTO\nrequirements to ensure nothing is overlooked, rejecting incomplete\nselections.\n\n**Critical Principle**:\n\nEvery DTO property in the transform() function requires corresponding Prisma\ndata. This mapping documents what must be selected to satisfy those\nrequirements. If transform() needs `prisma.created_at`, select() MUST include\n`created_at: true`.",
620
+ description: "Prisma field selection mapping for the select() function.\n\nDocuments which Prisma fields/relations must be selected to enable\ntransform() to build the DTO. EVERY required field must be listed \u2014 the\nvalidator rejects incomplete selections.",
621
621
  type: "object",
622
622
  properties: {
623
623
  member: {
624
- description: "Exact Prisma field or relation name from the Prisma schema.\n\nMUST match the Prisma schema exactly (case-sensitive). Use snake_case as\nPrisma follows database conventions.\n\n**Field Types**:\n\n- **Scalar fields**: Database columns (id, email, created_at, unit_price,\n etc.)\n- **BelongsTo relations**: Foreign key relations (customer, article,\n category, etc.)\n- **HasMany relations**: One-to-many arrays (tags, comments, reviews, etc.)\n- **Aggregations**: Prisma computed fields (_count, _sum, _avg, etc.)\n\n**Examples**:\n\n```typescript\n// Scalar fields for direct mapping or conversion\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"email\", kind: \"scalar\", nullable: false, how: \"For DTO.email\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt (needs .toISOString())\" }\n{ member: \"unit_price\", kind: \"scalar\", nullable: false, how: \"For DTO.price (Decimal \u2192 Number)\" }\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt (nullable DateTime)\" }\n\n// Scalar fields for computation\n{ member: \"quantity\", kind: \"scalar\", nullable: false, how: \"For DTO.totalPrice computation\" }\n{ member: \"expiry_date\", kind: \"scalar\", nullable: false, how: \"For DTO.isExpired computation\" }\n\n// Aggregations (special scalar type)\n{ member: \"_count\", kind: \"scalar\", nullable: false, how: \"For DTO.reviewCount\" }\n\n// BelongsTo relations (nested objects)\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.customer (nested transformer)\" }\n{ member: \"article\", kind: \"belongsTo\", nullable: false, how: \"For DTO.article (nested transformer)\" }\n{ member: \"parent\", kind: \"belongsTo\", nullable: true, how: \"For DTO.parent (optional nested)\" }\n\n// HasMany relations (arrays)\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array transformer)\" }\n{ member: \"comments\", kind: \"hasMany\", nullable: null, how: \"For DTO.comments (array transformer)\" }\n```\n\nDO NOT use DTO property names here - this is about Prisma schema members,\nnot DTO properties.",
624
+ description: "Exact Prisma field or relation name from the Prisma schema.\n\nMUST match the Prisma schema exactly (case-sensitive, snake_case).\n\n**Field Types**:\n\n- **Scalar fields**: Database columns (id, email, created_at, unit_price)\n- **BelongsTo relations**: FK relations (customer, article, category)\n- **HasMany relations**: 1:N arrays (tags, comments, reviews)\n- **Aggregations**: Prisma computed fields (_count, _sum, _avg)\n\n**Examples**:\n\n```typescript\n// Scalar fields\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt (needs .toISOString())\" }\n{ member: \"unit_price\", kind: \"scalar\", nullable: false, how: \"For DTO.price (Decimal \u2192 Number)\" }\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt (nullable DateTime)\" }\n\n// BelongsTo relations \u2014 member is ALWAYS the Prisma relation name,\n// which may differ from the DTO property name\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.buyer (nested transformer)\" }\n{ member: \"user\", kind: \"belongsTo\", nullable: true, how: \"For DTO.voter (optional nested)\" }\n\n// HasMany relations\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array transformer)\" }\n```\n\nDO NOT use DTO property names \u2014 this is about Prisma schema members. Read\nthe Relation Mapping Table and member list to find correct names.",
625
625
  type: "string"
626
626
  },
627
627
  kind: {
628
- description: "The kind of Prisma schema member being selected.\n\nExplicitly identifies whether this member is a scalar field or a relation,\nand if it's a relation, what type of relation it is. This classification\nforces the AI to think through the nature of each member before planning\nwhat to select, preventing common mistakes in the select() function.\n\n**Possible values**:\n\n- `\"scalar\"`: Regular database column (id, email, created_at, unit_price,\n etc.)\n- `\"belongsTo\"`: Foreign key relation pointing to parent entity (customer,\n article, category, etc.)\n- `\"hasOne\"`: One-to-one relation where this side owns the relationship\n- `\"hasMany\"`: One-to-many or many-to-many relation (comments, tags, reviews,\n etc.)\n\n**Why this matters for select()**:\n\n- **Prevents confusion**: AI must consciously identify if \"customer\" is a\n scalar or belongsTo relation\n- **Forces correct select syntax**: belongsTo/hasMany require nested select\n objects, scalar requires `true`\n- **Enables Chain-of-Thought**: AI explicitly thinks about the kind before\n deciding selection strategy\n- **Supports proper data loading**: Different kinds require different\n selection approaches\n\n**Examples by kind**:\n\n```typescript\n// Scalar fields - simple selection\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"email\", kind: \"scalar\", nullable: false, how: \"For DTO.email\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt\" }\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt\" }\n\n// BelongsTo relations - nested selection with transformer\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.customer (nested)\" }\n{ member: \"article\", kind: \"belongsTo\", nullable: false, how: \"For DTO.article (nested)\" }\n{ member: \"parent\", kind: \"belongsTo\", nullable: true, how: \"For DTO.parent (optional)\" }\n\n// HasMany relations - nested selection with array transformer\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array)\" }\n{ member: \"comments\", kind: \"hasMany\", nullable: null, how: \"For DTO.comments (array)\" }\n```\n\nThe `kind` field works together with `nullable` and `how`: kind identifies\nWHAT it is, nullable identifies IF it's optional, how explains WHY we're\nselecting it.",
628
+ description: "Kind of Prisma schema member.\n\n- `\"scalar\"`: Regular column \u2192 `{ field: true }`\n- `\"belongsTo\"`: FK relation \u2192 `{ relation: { select: ... } }`\n- `\"hasOne\"`: 1:1 relation \u2192 nested select\n- `\"hasMany\"`: 1:N relation \u2192 `{ relation: { select: ... } }`\n\nThe kind forces explicit classification of each member BEFORE deciding\nselect syntax, preventing confusion between scalars and relations.",
629
629
  type: "string",
630
630
  "enum": [
631
631
  "scalar",
@@ -635,7 +635,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
635
635
  ]
636
636
  },
637
637
  nullable: {
638
- description: "Whether this Prisma member is nullable in the schema.\n\nThis property explicitly documents whether a field/relation can be null,\nforcing the AI to understand nullability constraints before deciding\nselection strategy. This affects how the transform() function will handle\nthe data.\n\n**Value semantics by kind**:\n\n- **For scalar fields** (`kind: \"scalar\"`):\n\n - `false`: Non-nullable column (e.g., `email String`, `id String`)\n\n - Will always have a value in the selected data\n - Transform() can safely access without null checks\n - Example: `created_at DateTime` \u2192 `nullable: false`\n - `true`: Nullable column (e.g., `deleted_at DateTime?`)\n\n - Might be null in the selected data\n - Transform() must handle null case (e.g., `?? null`)\n - Example: `deleted_at DateTime?` \u2192 `nullable: true`\n- **For belongsTo relations** (`kind: \"belongsTo\"`):\n\n - `false`: Required foreign key (e.g., `customer_id String`)\n\n - Relation will always exist in the selected data\n - Transform() can safely use the nested transformer\n - Example: `customer` relation \u2192 `nullable: false`\n - `true`: Optional foreign key (e.g., `parent_id String?`)\n\n - Relation might not exist in the selected data\n - Transform() must handle null case\n - Example: `parent` relation \u2192 `nullable: true`\n- **For hasMany/hasOne relations** (`kind: \"hasMany\"` or `kind: \"hasOne\"`):\n\n - Always `null`: Nullability concept doesn't apply to these relations\n\n - HasMany: Always returns array (empty or populated)\n - HasOne: Handled differently in Prisma\n - The `nullable` property has no semantic meaning\n\n**Why this matters for select()**:\n\n- **Informs transform() handling**: Knowing nullability helps plan correct\n transformation\n- **Validates selection strategy**: Nullable fields need different handling\n in transform()\n- **Supports Chain-of-Thought**: AI must think about nullability BEFORE\n deciding selection\n- **Documents schema constraints**: Makes nullability explicit for validation\n\n**Examples**:\n\n```typescript\n// Non-nullable scalar (nullable: false)\n{ member: \"id\", kind: \"scalar\", nullable: false, how: \"For DTO.id\" }\n{ member: \"email\", kind: \"scalar\", nullable: false, how: \"For DTO.email\" }\n{ member: \"created_at\", kind: \"scalar\", nullable: false, how: \"For DTO.createdAt\" }\n\n// Nullable scalar (nullable: true)\n{ member: \"deleted_at\", kind: \"scalar\", nullable: true, how: \"For DTO.deletedAt (nullable)\" }\n{ member: \"description\", kind: \"scalar\", nullable: true, how: \"For DTO.description (optional)\" }\n\n// Required belongsTo (nullable: false)\n{ member: \"customer\", kind: \"belongsTo\", nullable: false, how: \"For DTO.customer (nested)\" }\n{ member: \"article\", kind: \"belongsTo\", nullable: false, how: \"For DTO.article (nested)\" }\n\n// Optional belongsTo (nullable: true)\n{ member: \"parent\", kind: \"belongsTo\", nullable: true, how: \"For DTO.parent (optional)\" }\n{ member: \"category\", kind: \"belongsTo\", nullable: true, how: \"For DTO.category (optional)\" }\n\n// HasMany relations (nullable: null - not applicable)\n{ member: \"comments\", kind: \"hasMany\", nullable: null, how: \"For DTO.comments (array)\" }\n{ member: \"tags\", kind: \"hasMany\", nullable: null, how: \"For DTO.tags (array)\" }\n```\n\nThe `nullable` property works with `kind` and `how`: kind identifies WHAT\nit is, nullable identifies IF it's optional, how explains WHY we're\nselecting it.",
638
+ description: "Whether nullable in Prisma schema.\n\n- `false`: Always present \u2014 transform() can safely access\n- `true`: May be null \u2014 transform() must handle null case\n- `null`: Not applicable (hasMany/hasOne)",
639
639
  anyOf: [
640
640
  {
641
641
  type: "null"
@@ -646,7 +646,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
646
646
  ]
647
647
  },
648
648
  how: {
649
- description: "Brief one-line explanation of why this Prisma field is being selected.\n\nKeep it concise and clear. Focus on which DTO property(ies) need this data.\n\n**For Write Phase** (planning field selection):\n\n- \"For DTO.id\"\n- \"For DTO.email\"\n- \"For DTO.createdAt (needs .toISOString())\"\n- \"For DTO.deletedAt (nullable DateTime)\"\n- \"For DTO.price (Decimal \u2192 Number conversion)\"\n- \"For DTO.totalPrice computation (with quantity)\"\n- \"For DTO.reviewCount aggregation\"\n- \"For DTO.isExpired computation\"\n- \"For DTO.customer (nested CustomerTransformer)\"\n- \"For DTO.tags (array TagTransformer)\"\n- \"For nested transformer's select() requirements\"\n\n**For Correct Phase** (documenting current state and fixes):\n\n- \"No change needed - correct\"\n- \"Already correct\"\n- \"Fix: Wrong field name 'user_email' \u2192 'email'\"\n- \"Fix: Missing field - add for DTO.totalPrice\"\n- \"Fix: Should use select, not include\"\n- \"Fix: Missing aggregation - add _count\"\n- \"Fix: Fabricated field - remove it\"\n- \"Fix: Selecting unused field - remove it\"\n\nEven if a selection is correct, you MUST include it in the mapping and\nexplain why. This ensures complete coverage and alignment with\ntransform().\n\nThis is NOT code - just a simple description of the selection purpose.",
649
+ description: "Brief reason for selecting this field (NOT code).\n\nWrite phase: \"For DTO.id\", \"For DTO.createdAt (needs .toISOString())\", \"For\nDTO.customer (nested transformer)\".\n\nCorrect phase: \"No change needed\", \"Fix: Missing field \u2014 add for\nDTO.totalPrice\".\n\nEven if correct, you MUST include it in the mapping. This ensures complete\ncoverage and alignment with transform().",
650
650
  type: "string"
651
651
  }
652
652
  },
@@ -658,15 +658,15 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
658
658
  ]
659
659
  },
660
660
  AutoBeRealizeTransformerTransformMapping: {
661
- description: "Single DTO property transformation mapping for the transform() function.\n\nDocuments how to transform Prisma payload data into each specific DTO\nproperty in the transform() function. This structured approach ensures\ncomplete DTO coverage by requiring explicit documentation for EVERY property\n\n- Including those requiring special transformations or computed from multiple\n Prisma fields.\n\n**Purpose**:\n\n- Prevents property omissions through systematic coverage verification\n- Forces explicit decision-making for each DTO property transformation\n- Enables validation before code generation (Write) or correction (Correct)\n- Creates clear documentation of transformation logic\n\n**Usage Contexts**:\n\n- **Write Phase**: Plan how to transform each Prisma field \u2192 DTO property in\n transform()\n- **Correct Phase**: Document current state and correction plan for each\n property in transform()\n\nThe validator cross-checks mappings against the DTO type definition to ensure\nnothing is overlooked, rejecting incomplete mappings.\n\n**Critical Principle**:\n\nThis mapping is ONLY for the transform() function - it documents how to build\nthe DTO return object. The corresponding select() function requirements are\ndocumented separately in AutoBeRealizeTransformerSelectMapping.",
661
+ description: "DTO property transformation mapping for the transform() function.\n\nDocuments how to transform Prisma payload data into each DTO property. EVERY\nDTO property must be listed \u2014 the validator rejects incomplete mappings.",
662
662
  type: "object",
663
663
  properties: {
664
664
  property: {
665
- description: "Exact DTO property name from the DTO type definition.\n\nMUST match the DTO interface exactly (case-sensitive). Examples:\n\n- Scalar properties: \"id\", \"email\", \"createdAt\"\n- Computed properties: \"totalPrice\", \"reviewCount\", \"isExpired\"\n- Nested objects: \"customer\", \"article\"\n- Arrays: \"tags\", \"comments\"\n\nUse camelCase as DTOs follow TypeScript conventions (unlike Prisma's\nsnake_case).\n\nInclude ALL properties from the DTO, even if they require complex\ntransformations or are computed from multiple Prisma fields.\n\n**Examples**:\n\n```typescript\n// Direct scalar mappings\n{ property: \"id\", how: \"From prisma.id\" }\n{ property: \"email\", how: \"From prisma.email\" }\n{ property: \"createdAt\", how: \"From prisma.created_at.toISOString()\" }\n\n// Type conversions\n{ property: \"price\", how: \"From prisma.unit_price (Decimal \u2192 Number)\" }\n{ property: \"deletedAt\", how: \"From prisma.deleted_at?.toISOString() ?? null\" }\n\n// Computed properties\n{ property: \"totalPrice\", how: \"Compute: prisma.unit_price * prisma.quantity\" }\n{ property: \"reviewCount\", how: \"From prisma._count.reviews\" }\n{ property: \"isExpired\", how: \"Compute: prisma.expiry_date < new Date()\" }\n\n// Nested transformations\n{ property: \"customer\", how: \"Transform with CustomerTransformer\" }\n{ property: \"tags\", how: \"Array map with TagTransformer\" }\n```",
665
+ description: "Exact DTO property name (case-sensitive, camelCase).\n\nInclude ALL properties: direct mappings, type conversions, computed values,\nand nested transformations.\n\n**Examples**:\n\n```typescript\n// Direct scalar mappings\n{ property: \"id\", how: \"From prisma.id\" }\n{ property: \"createdAt\", how: \"From prisma.created_at.toISOString()\" }\n\n// Type conversions\n{ property: \"price\", how: \"From prisma.unit_price (Decimal \u2192 Number)\" }\n{ property: \"deletedAt\", how: \"From prisma.deleted_at?.toISOString() ?? null\" }\n\n// Computed properties\n{ property: \"totalPrice\", how: \"Compute: prisma.unit_price * prisma.quantity\" }\n{ property: \"reviewCount\", how: \"From prisma._count.reviews\" }\n\n// Nested transformations (reuse neighbor transformers)\n{ property: \"customer\", how: \"Transform with CustomerTransformer\" }\n{ property: \"tags\", how: \"Array map with TagTransformer\" }\n```",
666
666
  type: "string"
667
667
  },
668
668
  how: {
669
- description: "Brief one-line explanation of how to obtain this property's value from\nPrisma.\n\nKeep it concise and clear.\n\n**For Write Phase** (planning transformation strategy):\n\n- \"From prisma.email\"\n- \"From prisma.created_at.toISOString()\"\n- \"From prisma.unit_price (Decimal \u2192 Number)\"\n- \"From prisma.deleted_at?.toISOString() ?? null\"\n- \"Compute: prisma.unit_price * prisma.quantity\"\n- \"From prisma._count.reviews\"\n- \"Compute: prisma.expiry_date < new Date()\"\n- \"Transform with CustomerTransformer\"\n- \"Array map with TagTransformer\"\n- \"From prisma.customer.name (nested field)\"\n\n**For Correct Phase** (documenting current state and fixes):\n\n- \"No change needed - correct\"\n- \"Already correct\"\n- \"Fix: Wrong property name 'userEmail' \u2192 'email'\"\n- \"Fix: Missing property - add from prisma.total_price\"\n- \"Fix: Wrong transformation - should use .toISOString()\"\n- \"Fix: Should use TagTransformer instead of inline\"\n- \"Fix: Missing Decimal conversion\"\n- \"Fix: Fabricated property - remove it\"\n\nEven if a property is correct, you MUST include it in the mapping and\nexplain why. This ensures complete DTO coverage.\n\nThis is NOT code - just a simple description of the transformation\nstrategy.",
669
+ description: "Brief strategy for obtaining this property's value (NOT code).\n\nWrite phase: \"From prisma.email\", \"From prisma.created_at.toISOString()\",\n\"From prisma.deleted_at?.toISOString() ?? null\", \"From prisma.unit_price\n(Decimal \u2192 Number)\", \"Transform with CustomerTransformer\", \"Array map with\nTagTransformer\", \"Compute: prisma.unit_price * prisma.quantity\".\n\nCorrect phase: \"No change needed\", \"Fix: Missing Decimal conversion\", \"Fix:\nShould use TagTransformer instead of inline\".\n\nEven if correct, you MUST include it. This ensures complete DTO coverage.",
670
670
  type: "string"
671
671
  }
672
672
  },
@@ -679,11 +679,11 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
679
679
  type: "object",
680
680
  properties: {
681
681
  review: {
682
- description: "Critical correction review and validation.\n\nMUST systematically verify using four checklists:\n\n1. Error Resolution - Confirm EVERY error from think Section 1 is fixed\n2. Root Cause Fix - Verify fixes address root causes (not workarounds/hacks)\n3. System Rules - Mandatory neighbor reuse, select (not include), proper\n types\n4. No Regression - Confirm no NEW errors, Payload type matches select()\n\nIdentify any remaining issues with line numbers and root cause analysis.\nCatch Band-Aid fixes (any casts, type assertions) that hide real\nproblems.",
682
+ description: "MUST systematically verify four checklists:\n\n1. Error Resolution \u2014 confirm EVERY error from think Section 1 is fixed\n2. Root Cause Fix \u2014 verify fixes address root causes (not workarounds/hacks)\n3. System Rules \u2014 neighbor reuse, select (not include), proper types\n4. No Regression \u2014 confirm no NEW errors, Payload type matches select()\n\nCatch Band-Aid fixes (any casts, type assertions) that hide real\nproblems.",
683
683
  type: "string"
684
684
  },
685
685
  final: {
686
- description: "Final error-free transformer code with all corrections applied.\n\nApply ALL remaining fixes identified in the review to produce\ncompilation-ready code. If review found issues (workarounds, new errors),\nthis MUST contain proper fixes.\n\nReturn `null` ONLY if draft is already perfect and review found zero\nissues.",
686
+ description: "Final error-free code with all corrections applied, or null if draft\nneeds no changes.",
687
687
  anyOf: [
688
688
  {
689
689
  type: "null"
@@ -701,7 +701,7 @@ const orchestrateRealizeTransformerCorrectOverall = (ctx, props) => __awaiter(vo
701
701
  }
702
702
  }
703
703
  },
704
- description: "Process transformer correction task or preliminary data requests.\n\nSystematically analyzes and corrects TypeScript compilation errors in\ntransformer functions through three-phase workflow (think \u2192 draft \u2192\nrevise). Maintains business logic integrity while resolving all compilation\nissues.",
704
+ description: "Process transformer correction task or preliminary data requests.",
705
705
  validate: (() => { const _io0 = input => "string" === typeof input.thinking && ("object" === typeof input.request && null !== input.request && _iu0(input.request)); const _io1 = input => "getDatabaseSchemas" === input.type && (Array.isArray(input.schemaNames) && (1 <= input.schemaNames.length && input.schemaNames.every(elem => "string" === typeof elem))); const _io2 = input => "complete" === input.type && "string" === typeof input.think && (Array.isArray(input.selectMappings) && input.selectMappings.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (Array.isArray(input.transformMappings) && input.transformMappings.every(elem => "object" === typeof elem && null !== elem && _io4(elem))) && "string" === typeof input.draft && ("object" === typeof input.revise && null !== input.revise && _io5(input.revise)); const _io3 = input => "string" === typeof input.member && ("scalar" === input.kind || "belongsTo" === input.kind || "hasOne" === input.kind || "hasMany" === input.kind) && (null === input.nullable || "boolean" === typeof input.nullable) && "string" === typeof input.how; const _io4 = input => "string" === typeof input.property && "string" === typeof input.how; const _io5 = input => "string" === typeof input.review && (null === input.final || "string" === typeof input.final); const _iu0 = input => (() => {
706
706
  if ("getDatabaseSchemas" === input.type)
707
707
  return _io1(input);