@autobe/agent 0.10.6 → 0.11.1

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 (147) hide show
  1. package/lib/AutoBeAgent.js +13 -46
  2. package/lib/AutoBeAgent.js.map +1 -1
  3. package/lib/constants/AutoBeSystemPromptConstant.d.ts +11 -6
  4. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  5. package/lib/context/AutoBeContext.d.ts +3 -2
  6. package/lib/factory/getAutoBeGenerated.d.ts +5 -0
  7. package/lib/factory/getAutoBeGenerated.js +307 -0
  8. package/lib/factory/getAutoBeGenerated.js.map +1 -0
  9. package/lib/index.mjs +1652 -1402
  10. package/lib/index.mjs.map +1 -1
  11. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.d.ts +2 -7
  12. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js +1 -9
  13. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js.map +1 -1
  14. package/lib/orchestrate/analyze/AutoBeAnalyzeRole.d.ts +13 -0
  15. package/lib/orchestrate/analyze/AutoBeAnalyzeRole.js +3 -0
  16. package/lib/orchestrate/analyze/AutoBeAnalyzeRole.js.map +1 -0
  17. package/lib/orchestrate/analyze/orchestrateAnalyze.d.ts +0 -25
  18. package/lib/orchestrate/analyze/orchestrateAnalyze.js +22 -420
  19. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  20. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.d.ts +6 -0
  21. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js +561 -0
  22. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js.map +1 -0
  23. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.d.ts +6 -0
  24. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js +41 -0
  25. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js.map +1 -0
  26. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +14 -0
  27. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +468 -0
  28. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -0
  29. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.d.ts +68 -0
  30. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js +3 -0
  31. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js.map +1 -0
  32. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.d.ts +5 -0
  33. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js +27 -0
  34. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js.map +1 -0
  35. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.d.ts +12 -0
  36. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js +78 -0
  37. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js.map +1 -0
  38. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.d.ts +6 -0
  39. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js +58 -0
  40. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js.map +1 -0
  41. package/lib/orchestrate/interface/orchestrateInterface.js +0 -2
  42. package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
  43. package/lib/orchestrate/interface/orchestrateInterfaceComponents.js +17 -137
  44. package/lib/orchestrate/interface/orchestrateInterfaceComponents.js.map +1 -1
  45. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +92 -141
  46. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  47. package/lib/orchestrate/prisma/orchestratePrisma.js +9 -5
  48. package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
  49. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +54 -25
  50. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  51. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +4 -3
  52. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  53. package/lib/orchestrate/prisma/{orchestratePrismaSchema.d.ts → orchestratePrismaSchemas.d.ts} +2 -4
  54. package/lib/orchestrate/prisma/{orchestratePrismaSchema.js → orchestratePrismaSchemas.js} +269 -203
  55. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -0
  56. package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js +1 -1
  57. package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js.map +1 -1
  58. package/lib/orchestrate/prisma/transformPrismaCorrectHistories.js +1 -1
  59. package/lib/orchestrate/prisma/transformPrismaHistories.js +1 -1
  60. package/lib/orchestrate/prisma/transformPrismaHistories.js.map +1 -1
  61. package/lib/orchestrate/prisma/transformPrismaSchemaHistories.d.ts +2 -6
  62. package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js +24 -32
  63. package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js.map +1 -1
  64. package/lib/orchestrate/realize/RealizePipe.d.ts +5 -0
  65. package/lib/orchestrate/realize/RealizePipe.js +14 -0
  66. package/lib/orchestrate/realize/RealizePipe.js.map +1 -0
  67. package/lib/orchestrate/realize/orchestrateRealize.d.ts +0 -6
  68. package/lib/orchestrate/realize/orchestrateRealize.js +6 -43
  69. package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
  70. package/lib/orchestrate/realize/orchestrateRealizeCoder.d.ts +3 -3
  71. package/lib/orchestrate/realize/orchestrateRealizeCoder.js +124 -59
  72. package/lib/orchestrate/realize/orchestrateRealizeCoder.js.map +1 -1
  73. package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +188 -18
  74. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +23 -0
  75. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.js +3 -0
  76. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.js.map +1 -0
  77. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +2 -0
  78. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js +5 -0
  79. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js.map +1 -0
  80. package/lib/orchestrate/realize/transformRealizeCoderHistories.d.ts +2 -1
  81. package/lib/orchestrate/realize/transformRealizeCoderHistories.js +50 -36
  82. package/lib/orchestrate/realize/transformRealizeCoderHistories.js.map +1 -1
  83. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.d.ts +5 -0
  84. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js +123 -0
  85. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js.map +1 -0
  86. package/lib/orchestrate/test/compile/getTestExternalDeclarations.js +4 -1
  87. package/lib/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -1
  88. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js +2 -1
  89. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -1
  90. package/lib/orchestrate/test/orchestrateTest.js +11 -5
  91. package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
  92. package/lib/orchestrate/test/orchestrateTestCorrect.js +3 -2
  93. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  94. package/lib/orchestrate/test/orchestrateTestWrite.js +22 -13
  95. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  96. package/lib/structures/IAutoBeProps.d.ts +8 -8
  97. package/lib/utils/pipe.d.ts +5 -0
  98. package/lib/utils/pipe.js +14 -0
  99. package/lib/utils/pipe.js.map +1 -0
  100. package/package.json +6 -6
  101. package/src/AutoBeAgent.ts +22 -76
  102. package/src/constants/AutoBeSystemPromptConstant.ts +11 -6
  103. package/src/context/AutoBeContext.ts +3 -1
  104. package/src/factory/getAutoBeGenerated.ts +113 -0
  105. package/src/orchestrate/analyze/AutoBeAnalyzeFileSystem.ts +5 -13
  106. package/src/orchestrate/analyze/AutoBeAnalyzeRole.ts +14 -0
  107. package/src/orchestrate/analyze/orchestrateAnalyze.ts +30 -165
  108. package/src/orchestrate/analyze/orchestrateAnalyzeComposer.ts +115 -0
  109. package/src/orchestrate/analyze/orchestrateAnalyzeReviewer.ts +39 -0
  110. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +106 -0
  111. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.ts +74 -0
  112. package/src/orchestrate/analyze/transformAnalyzeReviewerHistories.ts +31 -0
  113. package/src/orchestrate/analyze/transformAnalyzeWriteHistories.ts +94 -0
  114. package/src/orchestrate/analyze/writeDocumentUntilReviewPassed.ts +66 -0
  115. package/src/orchestrate/interface/orchestrateInterface.ts +0 -2
  116. package/src/orchestrate/interface/orchestrateInterfaceComponents.ts +2 -3
  117. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +21 -0
  118. package/src/orchestrate/prisma/orchestratePrisma.ts +12 -5
  119. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +4 -13
  120. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +9 -4
  121. package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +265 -0
  122. package/src/orchestrate/prisma/transformPrismaSchemaHistories.ts +26 -37
  123. package/src/orchestrate/realize/RealizePipe.ts +39 -0
  124. package/src/orchestrate/realize/orchestrateRealize.ts +3 -91
  125. package/src/orchestrate/realize/orchestrateRealizeCoder.ts +60 -25
  126. package/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.ts +192 -18
  127. package/src/orchestrate/realize/structures/IAutoBeRealizeCompile.ts +34 -0
  128. package/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.ts +2 -0
  129. package/src/orchestrate/realize/transformRealizeCoderHistories.ts +58 -34
  130. package/src/orchestrate/realize/writeCodeUntilCompilePassed.ts +178 -0
  131. package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +5 -4
  132. package/src/orchestrate/test/compile/getTestScenarioArtifacts.ts +7 -2
  133. package/src/orchestrate/test/orchestrateTest.ts +14 -12
  134. package/src/orchestrate/test/orchestrateTestCorrect.ts +10 -9
  135. package/src/orchestrate/test/orchestrateTestWrite.ts +33 -27
  136. package/src/structures/IAutoBeProps.ts +10 -7
  137. package/src/utils/pipe.ts +39 -0
  138. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.d.ts +0 -20
  139. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js +0 -735
  140. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js.map +0 -1
  141. package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.d.ts +0 -15
  142. package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js +0 -44
  143. package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js.map +0 -1
  144. package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +0 -1
  145. package/src/orchestrate/analyze/AutoBeAnalyzeAgent.ts +0 -219
  146. package/src/orchestrate/analyze/AutoBeAnalyzeReviewer.ts +0 -62
  147. package/src/orchestrate/prisma/orchestratePrismaSchema.ts +0 -157
@@ -57,21 +57,24 @@ const transformPrismaSchemaHistories_1 = require("./transformPrismaSchemaHistori
57
57
  function orchestratePrismaSchemas(ctx, components) {
58
58
  return __awaiter(this, void 0, void 0, function* () {
59
59
  const start = new Date();
60
- const entireTables = Array.from(new Set(components.flatMap((c) => c.tables)));
61
- const total = components.reduce((acc, c) => acc + c.tables.length, 0);
62
- let i = 0;
63
- return yield Promise.all(components.map((c) => __awaiter(this, void 0, void 0, function* () {
60
+ const total = components
61
+ .map((c) => c.tables.length)
62
+ .reduce((x, y) => x + y, 0);
63
+ let completed = 0;
64
+ return yield Promise.all(components.map((comp) => __awaiter(this, void 0, void 0, function* () {
64
65
  var _a, _b;
65
- const result = yield (0, forceRetry_1.forceRetry)(() => process(ctx, {
66
- filename: c.filename,
67
- tables: c.tables,
68
- entireTables,
69
- }));
66
+ const targetComponent = comp;
67
+ const otherComponents = components.filter((y) => comp !== y);
68
+ const result = yield (0, forceRetry_1.forceRetry)(() => process(ctx, targetComponent, otherComponents));
70
69
  const event = {
71
70
  type: "prismaSchemas",
72
71
  created_at: start.toISOString(),
73
- file: result.file,
74
- completed: (i += c.tables.length),
72
+ file: {
73
+ filename: comp.filename,
74
+ namespace: comp.namespace,
75
+ models: result.models,
76
+ },
77
+ completed: (completed += comp.tables.length),
75
78
  total,
76
79
  step: (_b = (_a = ctx.state().analyze) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0,
77
80
  };
@@ -80,7 +83,7 @@ function orchestratePrismaSchemas(ctx, components) {
80
83
  })));
81
84
  });
82
85
  }
83
- function process(ctx, component) {
86
+ function process(ctx, targetComponent, otherComponents) {
84
87
  return __awaiter(this, void 0, void 0, function* () {
85
88
  var _a;
86
89
  const pointer = {
@@ -92,20 +95,13 @@ function process(ctx, component) {
92
95
  config: Object.assign(Object.assign({}, ((_a = ctx.config) !== null && _a !== void 0 ? _a : {})), { executor: {
93
96
  describe: null,
94
97
  } }),
95
- histories: (0, transformPrismaSchemaHistories_1.transformPrismaSchemaHistories)(ctx.state().analyze, component),
98
+ histories: (0, transformPrismaSchemaHistories_1.transformPrismaSchemaHistories)(ctx.state().analyze.files, targetComponent, otherComponents),
96
99
  controllers: [
97
- createApplication({
98
- model: ctx.model,
100
+ createApplication(ctx, {
101
+ targetComponent,
102
+ otherComponents,
99
103
  build: (next) => {
100
- var _a;
101
- (_a = pointer.value) !== null && _a !== void 0 ? _a : (pointer.value = {
102
- file: {
103
- filename: component.filename,
104
- namespace: next.file.namespace,
105
- models: [],
106
- },
107
- });
108
- pointer.value.file.models.push(...next.file.models);
104
+ pointer.value = next;
109
105
  },
110
106
  }),
111
107
  ],
@@ -120,9 +116,67 @@ function process(ctx, component) {
120
116
  return pointer.value;
121
117
  });
122
118
  }
123
- function createApplication(props) {
124
- (0, assertSchemaModel_1.assertSchemaModel)(props.model);
125
- const application = collection[props.model];
119
+ function createApplication(ctx, props) {
120
+ (0, assertSchemaModel_1.assertSchemaModel)(ctx.model);
121
+ const application = collection[ctx.model];
122
+ // application.functions[0].validate = (
123
+ // input: unknown,
124
+ // ): IValidation<IMakePrismaSchemaFileProps> => {
125
+ // const result: IValidation<IMakePrismaSchemaFileProps> =
126
+ // typia.validate<IMakePrismaSchemaFileProps>(input);
127
+ // if (result.success === false) return result;
128
+ // const everyModels: AutoBePrisma.IModel[] = result.data.models;
129
+ // result.data.models = result.data.models.filter((m) =>
130
+ // props.otherComponents.every((oc) => oc.tables.includes(m.name) === false),
131
+ // );
132
+ // const expected: string[] = props.targetComponent.tables;
133
+ // const actual: string[] = result.data.models.map((m) => m.name);
134
+ // const missed: string[] = expected.filter(
135
+ // (x) => actual.includes(x) === false,
136
+ // );
137
+ // if (missed.length === 0) return result;
138
+ // ctx.dispatch({
139
+ // type: "prismaInsufficient",
140
+ // created_at: new Date().toISOString(),
141
+ // component: props.targetComponent,
142
+ // actual: everyModels,
143
+ // missed,
144
+ // tablesToCreate: result.data.tablesToCreate,
145
+ // validationReview: result.data.validationReview,
146
+ // confirmedTables: result.data.confirmedTables,
147
+ // });
148
+ // return {
149
+ // success: false,
150
+ // data: result.data,
151
+ // errors: [
152
+ // {
153
+ // path: "$input.file.models",
154
+ // value: result.data.models,
155
+ // expected: `Array<AutoBePrisma.IModel>`,
156
+ // description: [
157
+ // "You missed some tables from the current domain's component.",
158
+ // "",
159
+ // "Look at the following details to fix the schemas. Never forget to",
160
+ // "compose the `missed` tables at the next function calling.",
161
+ // "",
162
+ // "- filename: current domain's filename",
163
+ // "- namespace: current domain's namespace",
164
+ // "- expected: expected tables in the current domain",
165
+ // "- actual: actual tables you made",
166
+ // "- missed: tables you have missed, and you have to compose again",
167
+ // "",
168
+ // JSON.stringify({
169
+ // filename: props.targetComponent.filename,
170
+ // namespace: props.targetComponent.namespace,
171
+ // expected,
172
+ // actual,
173
+ // missed,
174
+ // }),
175
+ // ].join("\n"),
176
+ // },
177
+ // ],
178
+ // };
179
+ // };
126
180
  return {
127
181
  protocol: "class",
128
182
  name: "Prisma Generator",
@@ -147,43 +201,40 @@ const claude = {
147
201
  description: " Properties containing the file\n\n------------------------------\n\nCurrent Type: {@link IMakePrismaSchemaFileProps}",
148
202
  type: "object",
149
203
  properties: {
150
- file: {
151
- description: "Complete definition of a single Prisma schema file.\n\nRepresents one business domain containing related models, organized for\nmodular schema management and following domain-driven design principles.",
152
- $ref: "#/$defs/AutoBePrisma.IFile"
204
+ tablesToCreate: {
205
+ description: "STEP 1: First enumeration of tables that must be created\n\nList all table names that need to be created based on the\n`targetComponent.tables`. This should be an exact copy of the\n`targetComponent.tables` array.\n\nExample: [\"shopping_goods\", \"shopping_goods_options\"]",
206
+ type: "array",
207
+ items: {
208
+ type: "string"
209
+ }
210
+ },
211
+ validationReview: {
212
+ description: "STEP 2: Validation review of the first enumeration\n\nCompare `tablesToCreate` against `targetComponent.tables` and\n`otherComponents[].tables`. Write a review statement that validates:\n\n- All tables from `targetComponent.tables` are included\n- No tables from `otherComponents[].tables` are included\n- Additional tables (if any) are for M:N junction relationships or\n domain-specific needs\n- No forbidden tables from other domains are included\n\nExample: \"VALIDATION PASSED: All required tables from\n`targetComponent.tables` included: shopping_goods, shopping_goods_options.\nFORBIDDEN CHECK: No tables from `otherComponents` included\n(shopping_customers, shopping_sellers are correctly excluded). Additional\ntables: none needed for this domain.\"",
213
+ type: "string"
214
+ },
215
+ confirmedTables: {
216
+ description: "STEP 3: Second enumeration of tables to create\n\nAfter validation, re-list the tables that will be created. This should be\nidentical to `tablesToCreate` if validation passed. This serves as the\nfinal confirmed list before model creation.\n\nExample: [\"shopping_goods\", \"shopping_goods_options\"]",
217
+ type: "array",
218
+ items: {
219
+ type: "string"
220
+ }
221
+ },
222
+ models: {
223
+ description: "STEP 4: Array of Prisma models (database tables) within the domain\n\nCreate exactly one model for each table in `confirmedTables`. Each model\nrepresents a business entity or concept within the namespace. Models can\nreference each other through foreign key relationships.\n\nThe `models` array length must equal `confirmedTables.length`. Each\n`model.name` must match an entry in `confirmedTables`.",
224
+ type: "array",
225
+ items: {
226
+ $ref: "#/$defs/AutoBePrisma.IModel"
227
+ }
153
228
  }
154
229
  },
155
230
  required: [
156
- "file"
231
+ "tablesToCreate",
232
+ "validationReview",
233
+ "confirmedTables",
234
+ "models"
157
235
  ],
158
236
  additionalProperties: false,
159
237
  $defs: {
160
- "AutoBePrisma.IFile": {
161
- description: "Interface representing a single Prisma schema file within the application.\n\nEach file focuses on a specific business domain and contains related\nmodels. File organization follows domain-driven design principles as seen\nin the uploaded schemas.",
162
- type: "object",
163
- properties: {
164
- filename: {
165
- description: "Name of the schema file to be generated.\n\nShould follow the naming convention: \"schema-{number}-{domain}.prisma\"\nExamples: \"schema-02-systematic.prisma\", \"schema-03-actors.prisma\" The\nnumber indicates the dependency order for schema generation.",
166
- type: "string",
167
- pattern: "^[a-zA-Z0-9._-]+\\.prisma$"
168
- },
169
- namespace: {
170
- description: "Business domain namespace that groups related models.\n\nUsed in Prisma documentation comments as \"@\\namespace directive\".\nExamples from uploaded schemas: \"Systematic\", \"Actors\", \"Sales\", \"Carts\",\n\"Orders\", \"Coupons\", \"Coins\", \"Inquiries\", \"Favorites\", \"Articles\"",
171
- type: "string"
172
- },
173
- models: {
174
- description: "Array of Prisma models (database tables) within this domain.\n\nEach model represents a business entity or concept within the namespace.\nModels can reference each other through foreign key relationships.",
175
- type: "array",
176
- items: {
177
- $ref: "#/$defs/AutoBePrisma.IModel"
178
- }
179
- }
180
- },
181
- required: [
182
- "filename",
183
- "namespace",
184
- "models"
185
- ]
186
- },
187
238
  "AutoBePrisma.IModel": {
188
239
  description: "Interface representing a single Prisma model (database table).\n\nBased on the uploaded schemas, models follow specific patterns:\n\n- Main business entities (e.g., shopping_sales, shopping_customers)\n- Snapshot/versioning entities for audit trails (e.g.,\n shopping_sale_snapshots)\n- Junction tables for M:N relationships (e.g.,\n shopping_cart_commodity_stocks)\n- Materialized views for performance (prefixed with mv_)",
189
240
  type: "object",
@@ -443,43 +494,51 @@ const claude = {
443
494
  }
444
495
  },
445
496
  description: "Generates comprehensive Prisma schema files based on detailed requirements\nanalysis.\n\nCreates multiple organized schema files following enterprise patterns\nincluding proper domain separation, relationship modeling, snapshot\npatterns, inheritance, materialized views, and comprehensive documentation.\nThe generated schemas implement best practices for scalability,\nmaintainability, and data integrity.",
446
- validate: (() => { const _io0 = input => "object" === typeof input.file && null !== input.file && _io1(input.file); const _io1 = input => "string" === typeof input.filename && RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) && "string" === typeof input.namespace && (Array.isArray(input.models) && input.models.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "string" === typeof input.description && "boolean" === typeof input.material && ("object" === typeof input.primaryField && null !== input.primaryField && _io3(input.primaryField)) && (Array.isArray(input.foreignFields) && input.foreignFields.every(elem => "object" === typeof elem && null !== elem && _io4(elem))) && (Array.isArray(input.plainFields) && input.plainFields.every(elem => "object" === typeof elem && null !== elem && _io6(elem))) && (Array.isArray(input.uniqueIndexes) && input.uniqueIndexes.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (Array.isArray(input.plainIndexes) && input.plainIndexes.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (Array.isArray(input.ginIndexes) && input.ginIndexes.every(elem => "object" === typeof elem && null !== elem && _io9(elem))); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description; const _io4 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description && ("object" === typeof input.relation && null !== input.relation && _io5(input.relation)) && "boolean" === typeof input.unique && "boolean" === typeof input.nullable; const _io5 = input => "string" === typeof input.name && RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) && "string" === typeof input.targetModel; const _io6 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && ("string" === input.type || "boolean" === input.type || "uuid" === input.type || "uri" === input.type || "int" === input.type || "double" === input.type || "datetime" === input.type) && "string" === typeof input.description && "boolean" === typeof input.nullable; const _io7 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)) && true === input.unique; const _io8 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)); const _io9 = input => "string" === typeof input.fieldName; const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.file && null !== input.file || _report(_exceptionable, {
447
- path: _path + ".file",
448
- expected: "AutoBePrisma.IFile",
449
- value: input.file
450
- })) && _vo1(input.file, _path + ".file", true && _exceptionable) || _report(_exceptionable, {
451
- path: _path + ".file",
452
- expected: "AutoBePrisma.IFile",
453
- value: input.file
454
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.filename && (RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) || _report(_exceptionable, {
455
- path: _path + ".filename",
456
- expected: "string & Pattern<\"^[a-zA-Z0-9._-]+\\\\.prisma$\">",
457
- value: input.filename
458
- })) || _report(_exceptionable, {
459
- path: _path + ".filename",
460
- expected: "(string & Pattern<\"^[a-zA-Z0-9._-]+\\\\.prisma$\">)",
461
- value: input.filename
462
- }), "string" === typeof input.namespace || _report(_exceptionable, {
463
- path: _path + ".namespace",
497
+ validate: (() => { const _io0 = input => Array.isArray(input.tablesToCreate) && input.tablesToCreate.every(elem => "string" === typeof elem) && "string" === typeof input.validationReview && (Array.isArray(input.confirmedTables) && input.confirmedTables.every(elem => "string" === typeof elem)) && (Array.isArray(input.models) && input.models.every(elem => "object" === typeof elem && null !== elem && _io1(elem))); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "string" === typeof input.description && "boolean" === typeof input.material && ("object" === typeof input.primaryField && null !== input.primaryField && _io2(input.primaryField)) && (Array.isArray(input.foreignFields) && input.foreignFields.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (Array.isArray(input.plainFields) && input.plainFields.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (Array.isArray(input.uniqueIndexes) && input.uniqueIndexes.every(elem => "object" === typeof elem && null !== elem && _io6(elem))) && (Array.isArray(input.plainIndexes) && input.plainIndexes.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (Array.isArray(input.ginIndexes) && input.ginIndexes.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description; const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description && ("object" === typeof input.relation && null !== input.relation && _io4(input.relation)) && "boolean" === typeof input.unique && "boolean" === typeof input.nullable; const _io4 = input => "string" === typeof input.name && RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) && "string" === typeof input.targetModel; const _io5 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && ("string" === input.type || "boolean" === input.type || "uuid" === input.type || "uri" === input.type || "int" === input.type || "double" === input.type || "datetime" === input.type) && "string" === typeof input.description && "boolean" === typeof input.nullable; const _io6 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)) && true === input.unique; const _io7 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)); const _io8 = input => "string" === typeof input.fieldName; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.tablesToCreate) || _report(_exceptionable, {
498
+ path: _path + ".tablesToCreate",
499
+ expected: "Array<string>",
500
+ value: input.tablesToCreate
501
+ })) && input.tablesToCreate.map((elem, _index11) => "string" === typeof elem || _report(_exceptionable, {
502
+ path: _path + ".tablesToCreate[" + _index11 + "]",
503
+ expected: "string",
504
+ value: elem
505
+ })).every(flag => flag) || _report(_exceptionable, {
506
+ path: _path + ".tablesToCreate",
507
+ expected: "Array<string>",
508
+ value: input.tablesToCreate
509
+ }), "string" === typeof input.validationReview || _report(_exceptionable, {
510
+ path: _path + ".validationReview",
511
+ expected: "string",
512
+ value: input.validationReview
513
+ }), (Array.isArray(input.confirmedTables) || _report(_exceptionable, {
514
+ path: _path + ".confirmedTables",
515
+ expected: "Array<string>",
516
+ value: input.confirmedTables
517
+ })) && input.confirmedTables.map((elem, _index12) => "string" === typeof elem || _report(_exceptionable, {
518
+ path: _path + ".confirmedTables[" + _index12 + "]",
464
519
  expected: "string",
465
- value: input.namespace
520
+ value: elem
521
+ })).every(flag => flag) || _report(_exceptionable, {
522
+ path: _path + ".confirmedTables",
523
+ expected: "Array<string>",
524
+ value: input.confirmedTables
466
525
  }), (Array.isArray(input.models) || _report(_exceptionable, {
467
526
  path: _path + ".models",
468
527
  expected: "Array<AutoBePrisma.IModel>",
469
528
  value: input.models
470
- })) && input.models.map((elem, _index9) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
471
- path: _path + ".models[" + _index9 + "]",
529
+ })) && input.models.map((elem, _index13) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
530
+ path: _path + ".models[" + _index13 + "]",
472
531
  expected: "AutoBePrisma.IModel",
473
532
  value: elem
474
- })) && _vo2(elem, _path + ".models[" + _index9 + "]", true && _exceptionable) || _report(_exceptionable, {
475
- path: _path + ".models[" + _index9 + "]",
533
+ })) && _vo1(elem, _path + ".models[" + _index13 + "]", true && _exceptionable) || _report(_exceptionable, {
534
+ path: _path + ".models[" + _index13 + "]",
476
535
  expected: "AutoBePrisma.IModel",
477
536
  value: elem
478
537
  })).every(flag => flag) || _report(_exceptionable, {
479
538
  path: _path + ".models",
480
539
  expected: "Array<AutoBePrisma.IModel>",
481
540
  value: input.models
482
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
541
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
483
542
  path: _path + ".name",
484
543
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
485
544
  value: input.name
@@ -499,7 +558,7 @@ const claude = {
499
558
  path: _path + ".primaryField",
500
559
  expected: "AutoBePrisma.IPrimaryField",
501
560
  value: input.primaryField
502
- })) && _vo3(input.primaryField, _path + ".primaryField", true && _exceptionable) || _report(_exceptionable, {
561
+ })) && _vo2(input.primaryField, _path + ".primaryField", true && _exceptionable) || _report(_exceptionable, {
503
562
  path: _path + ".primaryField",
504
563
  expected: "AutoBePrisma.IPrimaryField",
505
564
  value: input.primaryField
@@ -507,12 +566,12 @@ const claude = {
507
566
  path: _path + ".foreignFields",
508
567
  expected: "Array<AutoBePrisma.IForeignField>",
509
568
  value: input.foreignFields
510
- })) && input.foreignFields.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
511
- path: _path + ".foreignFields[" + _index10 + "]",
569
+ })) && input.foreignFields.map((elem, _index14) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
570
+ path: _path + ".foreignFields[" + _index14 + "]",
512
571
  expected: "AutoBePrisma.IForeignField",
513
572
  value: elem
514
- })) && _vo4(elem, _path + ".foreignFields[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
515
- path: _path + ".foreignFields[" + _index10 + "]",
573
+ })) && _vo3(elem, _path + ".foreignFields[" + _index14 + "]", true && _exceptionable) || _report(_exceptionable, {
574
+ path: _path + ".foreignFields[" + _index14 + "]",
516
575
  expected: "AutoBePrisma.IForeignField",
517
576
  value: elem
518
577
  })).every(flag => flag) || _report(_exceptionable, {
@@ -523,12 +582,12 @@ const claude = {
523
582
  path: _path + ".plainFields",
524
583
  expected: "Array<AutoBePrisma.IPlainField>",
525
584
  value: input.plainFields
526
- })) && input.plainFields.map((elem, _index11) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
527
- path: _path + ".plainFields[" + _index11 + "]",
585
+ })) && input.plainFields.map((elem, _index15) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
586
+ path: _path + ".plainFields[" + _index15 + "]",
528
587
  expected: "AutoBePrisma.IPlainField",
529
588
  value: elem
530
- })) && _vo6(elem, _path + ".plainFields[" + _index11 + "]", true && _exceptionable) || _report(_exceptionable, {
531
- path: _path + ".plainFields[" + _index11 + "]",
589
+ })) && _vo5(elem, _path + ".plainFields[" + _index15 + "]", true && _exceptionable) || _report(_exceptionable, {
590
+ path: _path + ".plainFields[" + _index15 + "]",
532
591
  expected: "AutoBePrisma.IPlainField",
533
592
  value: elem
534
593
  })).every(flag => flag) || _report(_exceptionable, {
@@ -539,12 +598,12 @@ const claude = {
539
598
  path: _path + ".uniqueIndexes",
540
599
  expected: "Array<AutoBePrisma.IUniqueIndex>",
541
600
  value: input.uniqueIndexes
542
- })) && input.uniqueIndexes.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
543
- path: _path + ".uniqueIndexes[" + _index12 + "]",
601
+ })) && input.uniqueIndexes.map((elem, _index16) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
602
+ path: _path + ".uniqueIndexes[" + _index16 + "]",
544
603
  expected: "AutoBePrisma.IUniqueIndex",
545
604
  value: elem
546
- })) && _vo7(elem, _path + ".uniqueIndexes[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
547
- path: _path + ".uniqueIndexes[" + _index12 + "]",
605
+ })) && _vo6(elem, _path + ".uniqueIndexes[" + _index16 + "]", true && _exceptionable) || _report(_exceptionable, {
606
+ path: _path + ".uniqueIndexes[" + _index16 + "]",
548
607
  expected: "AutoBePrisma.IUniqueIndex",
549
608
  value: elem
550
609
  })).every(flag => flag) || _report(_exceptionable, {
@@ -555,12 +614,12 @@ const claude = {
555
614
  path: _path + ".plainIndexes",
556
615
  expected: "Array<AutoBePrisma.IPlainIndex>",
557
616
  value: input.plainIndexes
558
- })) && input.plainIndexes.map((elem, _index13) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
559
- path: _path + ".plainIndexes[" + _index13 + "]",
617
+ })) && input.plainIndexes.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
618
+ path: _path + ".plainIndexes[" + _index17 + "]",
560
619
  expected: "AutoBePrisma.IPlainIndex",
561
620
  value: elem
562
- })) && _vo8(elem, _path + ".plainIndexes[" + _index13 + "]", true && _exceptionable) || _report(_exceptionable, {
563
- path: _path + ".plainIndexes[" + _index13 + "]",
621
+ })) && _vo7(elem, _path + ".plainIndexes[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
622
+ path: _path + ".plainIndexes[" + _index17 + "]",
564
623
  expected: "AutoBePrisma.IPlainIndex",
565
624
  value: elem
566
625
  })).every(flag => flag) || _report(_exceptionable, {
@@ -571,19 +630,19 @@ const claude = {
571
630
  path: _path + ".ginIndexes",
572
631
  expected: "Array<AutoBePrisma.IGinIndex>",
573
632
  value: input.ginIndexes
574
- })) && input.ginIndexes.map((elem, _index14) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
575
- path: _path + ".ginIndexes[" + _index14 + "]",
633
+ })) && input.ginIndexes.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
634
+ path: _path + ".ginIndexes[" + _index18 + "]",
576
635
  expected: "AutoBePrisma.IGinIndex",
577
636
  value: elem
578
- })) && _vo9(elem, _path + ".ginIndexes[" + _index14 + "]", true && _exceptionable) || _report(_exceptionable, {
579
- path: _path + ".ginIndexes[" + _index14 + "]",
637
+ })) && _vo8(elem, _path + ".ginIndexes[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
638
+ path: _path + ".ginIndexes[" + _index18 + "]",
580
639
  expected: "AutoBePrisma.IGinIndex",
581
640
  value: elem
582
641
  })).every(flag => flag) || _report(_exceptionable, {
583
642
  path: _path + ".ginIndexes",
584
643
  expected: "Array<AutoBePrisma.IGinIndex>",
585
644
  value: input.ginIndexes
586
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
645
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
587
646
  path: _path + ".name",
588
647
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
589
648
  value: input.name
@@ -599,7 +658,7 @@ const claude = {
599
658
  path: _path + ".description",
600
659
  expected: "string",
601
660
  value: input.description
602
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
661
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
603
662
  path: _path + ".name",
604
663
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
605
664
  value: input.name
@@ -619,7 +678,7 @@ const claude = {
619
678
  path: _path + ".relation",
620
679
  expected: "AutoBePrisma.IRelation",
621
680
  value: input.relation
622
- })) && _vo5(input.relation, _path + ".relation", true && _exceptionable) || _report(_exceptionable, {
681
+ })) && _vo4(input.relation, _path + ".relation", true && _exceptionable) || _report(_exceptionable, {
623
682
  path: _path + ".relation",
624
683
  expected: "AutoBePrisma.IRelation",
625
684
  value: input.relation
@@ -631,7 +690,7 @@ const claude = {
631
690
  path: _path + ".nullable",
632
691
  expected: "boolean",
633
692
  value: input.nullable
634
- })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) || _report(_exceptionable, {
693
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) || _report(_exceptionable, {
635
694
  path: _path + ".name",
636
695
  expected: "string & Pattern<\"^[a-zA-Z_][a-zA-Z0-9_]*$\">",
637
696
  value: input.name
@@ -643,7 +702,7 @@ const claude = {
643
702
  path: _path + ".targetModel",
644
703
  expected: "string",
645
704
  value: input.targetModel
646
- })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
705
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
647
706
  path: _path + ".name",
648
707
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
649
708
  value: input.name
@@ -663,7 +722,7 @@ const claude = {
663
722
  path: _path + ".nullable",
664
723
  expected: "boolean",
665
724
  value: input.nullable
666
- })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
725
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
667
726
  path: _path + ".fieldNames",
668
727
  expected: "(Array<string> & MinItems<1> & UniqueItems<true>)",
669
728
  value: input.fieldNames
@@ -675,8 +734,8 @@ const claude = {
675
734
  path: _path + ".fieldNames",
676
735
  expected: "Array<> & UniqueItems<true>",
677
736
  value: input.fieldNames
678
- })) && input.fieldNames.map((elem, _index15) => "string" === typeof elem || _report(_exceptionable, {
679
- path: _path + ".fieldNames[" + _index15 + "]",
737
+ })) && input.fieldNames.map((elem, _index19) => "string" === typeof elem || _report(_exceptionable, {
738
+ path: _path + ".fieldNames[" + _index19 + "]",
680
739
  expected: "string",
681
740
  value: elem
682
741
  })).every(flag => flag)) || _report(_exceptionable, {
@@ -687,7 +746,7 @@ const claude = {
687
746
  path: _path + ".unique",
688
747
  expected: "true",
689
748
  value: input.unique
690
- })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
749
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
691
750
  path: _path + ".fieldNames",
692
751
  expected: "(Array<string> & MinItems<1> & UniqueItems<true>)",
693
752
  value: input.fieldNames
@@ -699,15 +758,15 @@ const claude = {
699
758
  path: _path + ".fieldNames",
700
759
  expected: "Array<> & UniqueItems<true>",
701
760
  value: input.fieldNames
702
- })) && input.fieldNames.map((elem, _index16) => "string" === typeof elem || _report(_exceptionable, {
703
- path: _path + ".fieldNames[" + _index16 + "]",
761
+ })) && input.fieldNames.map((elem, _index20) => "string" === typeof elem || _report(_exceptionable, {
762
+ path: _path + ".fieldNames[" + _index20 + "]",
704
763
  expected: "string",
705
764
  value: elem
706
765
  })).every(flag => flag)) || _report(_exceptionable, {
707
766
  path: _path + ".fieldNames",
708
767
  expected: "(Array<string> & MinItems<1> & UniqueItems<true>)",
709
768
  value: input.fieldNames
710
- })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["string" === typeof input.fieldName || _report(_exceptionable, {
769
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.fieldName || _report(_exceptionable, {
711
770
  path: _path + ".fieldName",
712
771
  expected: "string",
713
772
  value: input.fieldName
@@ -754,44 +813,43 @@ const collection = {
754
813
  {
755
814
  name: "makePrismaSchemaFile",
756
815
  parameters: {
757
- description: " Properties containing the file\n\n------------------------------\n\nCurrent Type: {@link IMakePrismaSchemaFileProps}\n\n### Description of {@link file} property:\n\n> Complete definition of a single Prisma schema file.\n> \n> Represents one business domain containing related models, organized for\n> modular schema management and following domain-driven design principles.",
816
+ description: " Properties containing the file\n\n------------------------------\n\nCurrent Type: {@link IMakePrismaSchemaFileProps}",
758
817
  type: "object",
759
818
  properties: {
760
- file: {
761
- $ref: "#/$defs/AutoBePrisma.IFile"
819
+ tablesToCreate: {
820
+ description: "STEP 1: First enumeration of tables that must be created\n\nList all table names that need to be created based on the\n`targetComponent.tables`. This should be an exact copy of the\n`targetComponent.tables` array.\n\nExample: [\"shopping_goods\", \"shopping_goods_options\"]",
821
+ type: "array",
822
+ items: {
823
+ type: "string"
824
+ }
825
+ },
826
+ validationReview: {
827
+ description: "STEP 2: Validation review of the first enumeration\n\nCompare `tablesToCreate` against `targetComponent.tables` and\n`otherComponents[].tables`. Write a review statement that validates:\n\n- All tables from `targetComponent.tables` are included\n- No tables from `otherComponents[].tables` are included\n- Additional tables (if any) are for M:N junction relationships or\n domain-specific needs\n- No forbidden tables from other domains are included\n\nExample: \"VALIDATION PASSED: All required tables from\n`targetComponent.tables` included: shopping_goods, shopping_goods_options.\nFORBIDDEN CHECK: No tables from `otherComponents` included\n(shopping_customers, shopping_sellers are correctly excluded). Additional\ntables: none needed for this domain.\"",
828
+ type: "string"
829
+ },
830
+ confirmedTables: {
831
+ description: "STEP 3: Second enumeration of tables to create\n\nAfter validation, re-list the tables that will be created. This should be\nidentical to `tablesToCreate` if validation passed. This serves as the\nfinal confirmed list before model creation.\n\nExample: [\"shopping_goods\", \"shopping_goods_options\"]",
832
+ type: "array",
833
+ items: {
834
+ type: "string"
835
+ }
836
+ },
837
+ models: {
838
+ description: "STEP 4: Array of Prisma models (database tables) within the domain\n\nCreate exactly one model for each table in `confirmedTables`. Each model\nrepresents a business entity or concept within the namespace. Models can\nreference each other through foreign key relationships.\n\nThe `models` array length must equal `confirmedTables.length`. Each\n`model.name` must match an entry in `confirmedTables`.",
839
+ type: "array",
840
+ items: {
841
+ $ref: "#/$defs/AutoBePrisma.IModel"
842
+ }
762
843
  }
763
844
  },
764
845
  required: [
765
- "file"
846
+ "tablesToCreate",
847
+ "validationReview",
848
+ "confirmedTables",
849
+ "models"
766
850
  ],
767
851
  additionalProperties: false,
768
852
  $defs: {
769
- "AutoBePrisma.IFile": {
770
- description: "Interface representing a single Prisma schema file within the application.\n\nEach file focuses on a specific business domain and contains related\nmodels. File organization follows domain-driven design principles as seen\nin the uploaded schemas.",
771
- type: "object",
772
- properties: {
773
- filename: {
774
- description: "Name of the schema file to be generated.\n\nShould follow the naming convention: \"schema-{number}-{domain}.prisma\"\nExamples: \"schema-02-systematic.prisma\", \"schema-03-actors.prisma\" The\nnumber indicates the dependency order for schema generation.\n\n\n@pattern ^[a-zA-Z0-9._-]+\\.prisma$",
775
- type: "string"
776
- },
777
- namespace: {
778
- description: "Business domain namespace that groups related models.\n\nUsed in Prisma documentation comments as \"@\\namespace directive\".\nExamples from uploaded schemas: \"Systematic\", \"Actors\", \"Sales\", \"Carts\",\n\"Orders\", \"Coupons\", \"Coins\", \"Inquiries\", \"Favorites\", \"Articles\"",
779
- type: "string"
780
- },
781
- models: {
782
- description: "Array of Prisma models (database tables) within this domain.\n\nEach model represents a business entity or concept within the namespace.\nModels can reference each other through foreign key relationships.",
783
- type: "array",
784
- items: {
785
- $ref: "#/$defs/AutoBePrisma.IModel"
786
- }
787
- }
788
- },
789
- required: [
790
- "filename",
791
- "namespace",
792
- "models"
793
- ]
794
- },
795
853
  "AutoBePrisma.IModel": {
796
854
  description: "Interface representing a single Prisma model (database table).\n\nBased on the uploaded schemas, models follow specific patterns:\n\n- Main business entities (e.g., shopping_sales, shopping_customers)\n- Snapshot/versioning entities for audit trails (e.g.,\n shopping_sale_snapshots)\n- Junction tables for M:N relationships (e.g.,\n shopping_cart_commodity_stocks)\n- Materialized views for performance (prefixed with mv_)\n\n### Description of {@link primaryField} property:\n\n> The primary key field of the model.\n> \n> In all uploaded schemas, primary keys are always UUID type with \"@\\id\"\n> directive. Usually named \"id\" and marked with \"@\\db.Uuid\" for PostgreSQL\n> mapping.",
797
855
  type: "object",
@@ -1036,43 +1094,51 @@ const collection = {
1036
1094
  }
1037
1095
  },
1038
1096
  description: "Generates comprehensive Prisma schema files based on detailed requirements\nanalysis.\n\nCreates multiple organized schema files following enterprise patterns\nincluding proper domain separation, relationship modeling, snapshot\npatterns, inheritance, materialized views, and comprehensive documentation.\nThe generated schemas implement best practices for scalability,\nmaintainability, and data integrity.",
1039
- validate: (() => { const _io0 = input => "object" === typeof input.file && null !== input.file && _io1(input.file); const _io1 = input => "string" === typeof input.filename && RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) && "string" === typeof input.namespace && (Array.isArray(input.models) && input.models.every(elem => "object" === typeof elem && null !== elem && _io2(elem))); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "string" === typeof input.description && "boolean" === typeof input.material && ("object" === typeof input.primaryField && null !== input.primaryField && _io3(input.primaryField)) && (Array.isArray(input.foreignFields) && input.foreignFields.every(elem => "object" === typeof elem && null !== elem && _io4(elem))) && (Array.isArray(input.plainFields) && input.plainFields.every(elem => "object" === typeof elem && null !== elem && _io6(elem))) && (Array.isArray(input.uniqueIndexes) && input.uniqueIndexes.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (Array.isArray(input.plainIndexes) && input.plainIndexes.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (Array.isArray(input.ginIndexes) && input.ginIndexes.every(elem => "object" === typeof elem && null !== elem && _io9(elem))); const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description; const _io4 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description && ("object" === typeof input.relation && null !== input.relation && _io5(input.relation)) && "boolean" === typeof input.unique && "boolean" === typeof input.nullable; const _io5 = input => "string" === typeof input.name && RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) && "string" === typeof input.targetModel; const _io6 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && ("string" === input.type || "boolean" === input.type || "uuid" === input.type || "uri" === input.type || "int" === input.type || "double" === input.type || "datetime" === input.type) && "string" === typeof input.description && "boolean" === typeof input.nullable; const _io7 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)) && true === input.unique; const _io8 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)); const _io9 = input => "string" === typeof input.fieldName; const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.file && null !== input.file || _report(_exceptionable, {
1040
- path: _path + ".file",
1041
- expected: "AutoBePrisma.IFile",
1042
- value: input.file
1043
- })) && _vo1(input.file, _path + ".file", true && _exceptionable) || _report(_exceptionable, {
1044
- path: _path + ".file",
1045
- expected: "AutoBePrisma.IFile",
1046
- value: input.file
1047
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.filename && (RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) || _report(_exceptionable, {
1048
- path: _path + ".filename",
1049
- expected: "string & Pattern<\"^[a-zA-Z0-9._-]+\\\\.prisma$\">",
1050
- value: input.filename
1051
- })) || _report(_exceptionable, {
1052
- path: _path + ".filename",
1053
- expected: "(string & Pattern<\"^[a-zA-Z0-9._-]+\\\\.prisma$\">)",
1054
- value: input.filename
1055
- }), "string" === typeof input.namespace || _report(_exceptionable, {
1056
- path: _path + ".namespace",
1097
+ validate: (() => { const _io0 = input => Array.isArray(input.tablesToCreate) && input.tablesToCreate.every(elem => "string" === typeof elem) && "string" === typeof input.validationReview && (Array.isArray(input.confirmedTables) && input.confirmedTables.every(elem => "string" === typeof elem)) && (Array.isArray(input.models) && input.models.every(elem => "object" === typeof elem && null !== elem && _io1(elem))); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "string" === typeof input.description && "boolean" === typeof input.material && ("object" === typeof input.primaryField && null !== input.primaryField && _io2(input.primaryField)) && (Array.isArray(input.foreignFields) && input.foreignFields.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (Array.isArray(input.plainFields) && input.plainFields.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (Array.isArray(input.uniqueIndexes) && input.uniqueIndexes.every(elem => "object" === typeof elem && null !== elem && _io6(elem))) && (Array.isArray(input.plainIndexes) && input.plainIndexes.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (Array.isArray(input.ginIndexes) && input.ginIndexes.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io2 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description; const _io3 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && "uuid" === input.type && "string" === typeof input.description && ("object" === typeof input.relation && null !== input.relation && _io4(input.relation)) && "boolean" === typeof input.unique && "boolean" === typeof input.nullable; const _io4 = input => "string" === typeof input.name && RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) && "string" === typeof input.targetModel; const _io5 = input => "string" === typeof input.name && RegExp("^[a-z][a-z0-9_]*$").test(input.name) && ("string" === input.type || "boolean" === input.type || "uuid" === input.type || "uri" === input.type || "int" === input.type || "double" === input.type || "datetime" === input.type) && "string" === typeof input.description && "boolean" === typeof input.nullable; const _io6 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)) && true === input.unique; const _io7 = input => Array.isArray(input.fieldNames) && (1 <= input.fieldNames.length && __typia_transform__isUniqueItems._isUniqueItems(input.fieldNames) && input.fieldNames.every(elem => "string" === typeof elem)); const _io8 = input => "string" === typeof input.fieldName; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.tablesToCreate) || _report(_exceptionable, {
1098
+ path: _path + ".tablesToCreate",
1099
+ expected: "Array<string>",
1100
+ value: input.tablesToCreate
1101
+ })) && input.tablesToCreate.map((elem, _index11) => "string" === typeof elem || _report(_exceptionable, {
1102
+ path: _path + ".tablesToCreate[" + _index11 + "]",
1103
+ expected: "string",
1104
+ value: elem
1105
+ })).every(flag => flag) || _report(_exceptionable, {
1106
+ path: _path + ".tablesToCreate",
1107
+ expected: "Array<string>",
1108
+ value: input.tablesToCreate
1109
+ }), "string" === typeof input.validationReview || _report(_exceptionable, {
1110
+ path: _path + ".validationReview",
1111
+ expected: "string",
1112
+ value: input.validationReview
1113
+ }), (Array.isArray(input.confirmedTables) || _report(_exceptionable, {
1114
+ path: _path + ".confirmedTables",
1115
+ expected: "Array<string>",
1116
+ value: input.confirmedTables
1117
+ })) && input.confirmedTables.map((elem, _index12) => "string" === typeof elem || _report(_exceptionable, {
1118
+ path: _path + ".confirmedTables[" + _index12 + "]",
1057
1119
  expected: "string",
1058
- value: input.namespace
1120
+ value: elem
1121
+ })).every(flag => flag) || _report(_exceptionable, {
1122
+ path: _path + ".confirmedTables",
1123
+ expected: "Array<string>",
1124
+ value: input.confirmedTables
1059
1125
  }), (Array.isArray(input.models) || _report(_exceptionable, {
1060
1126
  path: _path + ".models",
1061
1127
  expected: "Array<AutoBePrisma.IModel>",
1062
1128
  value: input.models
1063
- })) && input.models.map((elem, _index9) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1064
- path: _path + ".models[" + _index9 + "]",
1129
+ })) && input.models.map((elem, _index13) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1130
+ path: _path + ".models[" + _index13 + "]",
1065
1131
  expected: "AutoBePrisma.IModel",
1066
1132
  value: elem
1067
- })) && _vo2(elem, _path + ".models[" + _index9 + "]", true && _exceptionable) || _report(_exceptionable, {
1068
- path: _path + ".models[" + _index9 + "]",
1133
+ })) && _vo1(elem, _path + ".models[" + _index13 + "]", true && _exceptionable) || _report(_exceptionable, {
1134
+ path: _path + ".models[" + _index13 + "]",
1069
1135
  expected: "AutoBePrisma.IModel",
1070
1136
  value: elem
1071
1137
  })).every(flag => flag) || _report(_exceptionable, {
1072
1138
  path: _path + ".models",
1073
1139
  expected: "Array<AutoBePrisma.IModel>",
1074
1140
  value: input.models
1075
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1141
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1076
1142
  path: _path + ".name",
1077
1143
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
1078
1144
  value: input.name
@@ -1092,7 +1158,7 @@ const collection = {
1092
1158
  path: _path + ".primaryField",
1093
1159
  expected: "AutoBePrisma.IPrimaryField",
1094
1160
  value: input.primaryField
1095
- })) && _vo3(input.primaryField, _path + ".primaryField", true && _exceptionable) || _report(_exceptionable, {
1161
+ })) && _vo2(input.primaryField, _path + ".primaryField", true && _exceptionable) || _report(_exceptionable, {
1096
1162
  path: _path + ".primaryField",
1097
1163
  expected: "AutoBePrisma.IPrimaryField",
1098
1164
  value: input.primaryField
@@ -1100,12 +1166,12 @@ const collection = {
1100
1166
  path: _path + ".foreignFields",
1101
1167
  expected: "Array<AutoBePrisma.IForeignField>",
1102
1168
  value: input.foreignFields
1103
- })) && input.foreignFields.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1104
- path: _path + ".foreignFields[" + _index10 + "]",
1169
+ })) && input.foreignFields.map((elem, _index14) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1170
+ path: _path + ".foreignFields[" + _index14 + "]",
1105
1171
  expected: "AutoBePrisma.IForeignField",
1106
1172
  value: elem
1107
- })) && _vo4(elem, _path + ".foreignFields[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
1108
- path: _path + ".foreignFields[" + _index10 + "]",
1173
+ })) && _vo3(elem, _path + ".foreignFields[" + _index14 + "]", true && _exceptionable) || _report(_exceptionable, {
1174
+ path: _path + ".foreignFields[" + _index14 + "]",
1109
1175
  expected: "AutoBePrisma.IForeignField",
1110
1176
  value: elem
1111
1177
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1116,12 +1182,12 @@ const collection = {
1116
1182
  path: _path + ".plainFields",
1117
1183
  expected: "Array<AutoBePrisma.IPlainField>",
1118
1184
  value: input.plainFields
1119
- })) && input.plainFields.map((elem, _index11) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1120
- path: _path + ".plainFields[" + _index11 + "]",
1185
+ })) && input.plainFields.map((elem, _index15) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1186
+ path: _path + ".plainFields[" + _index15 + "]",
1121
1187
  expected: "AutoBePrisma.IPlainField",
1122
1188
  value: elem
1123
- })) && _vo6(elem, _path + ".plainFields[" + _index11 + "]", true && _exceptionable) || _report(_exceptionable, {
1124
- path: _path + ".plainFields[" + _index11 + "]",
1189
+ })) && _vo5(elem, _path + ".plainFields[" + _index15 + "]", true && _exceptionable) || _report(_exceptionable, {
1190
+ path: _path + ".plainFields[" + _index15 + "]",
1125
1191
  expected: "AutoBePrisma.IPlainField",
1126
1192
  value: elem
1127
1193
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1132,12 +1198,12 @@ const collection = {
1132
1198
  path: _path + ".uniqueIndexes",
1133
1199
  expected: "Array<AutoBePrisma.IUniqueIndex>",
1134
1200
  value: input.uniqueIndexes
1135
- })) && input.uniqueIndexes.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1136
- path: _path + ".uniqueIndexes[" + _index12 + "]",
1201
+ })) && input.uniqueIndexes.map((elem, _index16) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1202
+ path: _path + ".uniqueIndexes[" + _index16 + "]",
1137
1203
  expected: "AutoBePrisma.IUniqueIndex",
1138
1204
  value: elem
1139
- })) && _vo7(elem, _path + ".uniqueIndexes[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
1140
- path: _path + ".uniqueIndexes[" + _index12 + "]",
1205
+ })) && _vo6(elem, _path + ".uniqueIndexes[" + _index16 + "]", true && _exceptionable) || _report(_exceptionable, {
1206
+ path: _path + ".uniqueIndexes[" + _index16 + "]",
1141
1207
  expected: "AutoBePrisma.IUniqueIndex",
1142
1208
  value: elem
1143
1209
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1148,12 +1214,12 @@ const collection = {
1148
1214
  path: _path + ".plainIndexes",
1149
1215
  expected: "Array<AutoBePrisma.IPlainIndex>",
1150
1216
  value: input.plainIndexes
1151
- })) && input.plainIndexes.map((elem, _index13) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1152
- path: _path + ".plainIndexes[" + _index13 + "]",
1217
+ })) && input.plainIndexes.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1218
+ path: _path + ".plainIndexes[" + _index17 + "]",
1153
1219
  expected: "AutoBePrisma.IPlainIndex",
1154
1220
  value: elem
1155
- })) && _vo8(elem, _path + ".plainIndexes[" + _index13 + "]", true && _exceptionable) || _report(_exceptionable, {
1156
- path: _path + ".plainIndexes[" + _index13 + "]",
1221
+ })) && _vo7(elem, _path + ".plainIndexes[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
1222
+ path: _path + ".plainIndexes[" + _index17 + "]",
1157
1223
  expected: "AutoBePrisma.IPlainIndex",
1158
1224
  value: elem
1159
1225
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1164,19 +1230,19 @@ const collection = {
1164
1230
  path: _path + ".ginIndexes",
1165
1231
  expected: "Array<AutoBePrisma.IGinIndex>",
1166
1232
  value: input.ginIndexes
1167
- })) && input.ginIndexes.map((elem, _index14) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1168
- path: _path + ".ginIndexes[" + _index14 + "]",
1233
+ })) && input.ginIndexes.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1234
+ path: _path + ".ginIndexes[" + _index18 + "]",
1169
1235
  expected: "AutoBePrisma.IGinIndex",
1170
1236
  value: elem
1171
- })) && _vo9(elem, _path + ".ginIndexes[" + _index14 + "]", true && _exceptionable) || _report(_exceptionable, {
1172
- path: _path + ".ginIndexes[" + _index14 + "]",
1237
+ })) && _vo8(elem, _path + ".ginIndexes[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
1238
+ path: _path + ".ginIndexes[" + _index18 + "]",
1173
1239
  expected: "AutoBePrisma.IGinIndex",
1174
1240
  value: elem
1175
1241
  })).every(flag => flag) || _report(_exceptionable, {
1176
1242
  path: _path + ".ginIndexes",
1177
1243
  expected: "Array<AutoBePrisma.IGinIndex>",
1178
1244
  value: input.ginIndexes
1179
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1245
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1180
1246
  path: _path + ".name",
1181
1247
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
1182
1248
  value: input.name
@@ -1192,7 +1258,7 @@ const collection = {
1192
1258
  path: _path + ".description",
1193
1259
  expected: "string",
1194
1260
  value: input.description
1195
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1261
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1196
1262
  path: _path + ".name",
1197
1263
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
1198
1264
  value: input.name
@@ -1212,7 +1278,7 @@ const collection = {
1212
1278
  path: _path + ".relation",
1213
1279
  expected: "AutoBePrisma.IRelation",
1214
1280
  value: input.relation
1215
- })) && _vo5(input.relation, _path + ".relation", true && _exceptionable) || _report(_exceptionable, {
1281
+ })) && _vo4(input.relation, _path + ".relation", true && _exceptionable) || _report(_exceptionable, {
1216
1282
  path: _path + ".relation",
1217
1283
  expected: "AutoBePrisma.IRelation",
1218
1284
  value: input.relation
@@ -1224,7 +1290,7 @@ const collection = {
1224
1290
  path: _path + ".nullable",
1225
1291
  expected: "boolean",
1226
1292
  value: input.nullable
1227
- })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) || _report(_exceptionable, {
1293
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-zA-Z_][a-zA-Z0-9_]*$").test(input.name) || _report(_exceptionable, {
1228
1294
  path: _path + ".name",
1229
1295
  expected: "string & Pattern<\"^[a-zA-Z_][a-zA-Z0-9_]*$\">",
1230
1296
  value: input.name
@@ -1236,7 +1302,7 @@ const collection = {
1236
1302
  path: _path + ".targetModel",
1237
1303
  expected: "string",
1238
1304
  value: input.targetModel
1239
- })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1305
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-z0-9_]*$").test(input.name) || _report(_exceptionable, {
1240
1306
  path: _path + ".name",
1241
1307
  expected: "string & Pattern<\"^[a-z][a-z0-9_]*$\">",
1242
1308
  value: input.name
@@ -1256,7 +1322,7 @@ const collection = {
1256
1322
  path: _path + ".nullable",
1257
1323
  expected: "boolean",
1258
1324
  value: input.nullable
1259
- })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
1325
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
1260
1326
  path: _path + ".fieldNames",
1261
1327
  expected: "(Array<string> & MinItems<1> & UniqueItems<true>)",
1262
1328
  value: input.fieldNames
@@ -1268,8 +1334,8 @@ const collection = {
1268
1334
  path: _path + ".fieldNames",
1269
1335
  expected: "Array<> & UniqueItems<true>",
1270
1336
  value: input.fieldNames
1271
- })) && input.fieldNames.map((elem, _index15) => "string" === typeof elem || _report(_exceptionable, {
1272
- path: _path + ".fieldNames[" + _index15 + "]",
1337
+ })) && input.fieldNames.map((elem, _index19) => "string" === typeof elem || _report(_exceptionable, {
1338
+ path: _path + ".fieldNames[" + _index19 + "]",
1273
1339
  expected: "string",
1274
1340
  value: elem
1275
1341
  })).every(flag => flag)) || _report(_exceptionable, {
@@ -1280,7 +1346,7 @@ const collection = {
1280
1346
  path: _path + ".unique",
1281
1347
  expected: "true",
1282
1348
  value: input.unique
1283
- })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
1349
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [(Array.isArray(input.fieldNames) || _report(_exceptionable, {
1284
1350
  path: _path + ".fieldNames",
1285
1351
  expected: "(Array<string> & MinItems<1> & UniqueItems<true>)",
1286
1352
  value: input.fieldNames
@@ -1292,15 +1358,15 @@ const collection = {
1292
1358
  path: _path + ".fieldNames",
1293
1359
  expected: "Array<> & UniqueItems<true>",
1294
1360
  value: input.fieldNames
1295
- })) && input.fieldNames.map((elem, _index16) => "string" === typeof elem || _report(_exceptionable, {
1296
- path: _path + ".fieldNames[" + _index16 + "]",
1361
+ })) && input.fieldNames.map((elem, _index20) => "string" === typeof elem || _report(_exceptionable, {
1362
+ path: _path + ".fieldNames[" + _index20 + "]",
1297
1363
  expected: "string",
1298
1364
  value: elem
1299
1365
  })).every(flag => flag)) || _report(_exceptionable, {
1300
1366
  path: _path + ".fieldNames",
1301
1367
  expected: "(Array<string> & MinItems<1> & UniqueItems<true>)",
1302
1368
  value: input.fieldNames
1303
- })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["string" === typeof input.fieldName || _report(_exceptionable, {
1369
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.fieldName || _report(_exceptionable, {
1304
1370
  path: _path + ".fieldName",
1305
1371
  expected: "string",
1306
1372
  value: input.fieldName
@@ -1340,4 +1406,4 @@ const collection = {
1340
1406
  deepseek: claude,
1341
1407
  "3.1": claude,
1342
1408
  };
1343
- //# sourceMappingURL=orchestratePrismaSchema.js.map
1409
+ //# sourceMappingURL=orchestratePrismaSchemas.js.map