@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.
- package/lib/AutoBeAgent.js +13 -46
- package/lib/AutoBeAgent.js.map +1 -1
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +11 -6
- package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
- package/lib/context/AutoBeContext.d.ts +3 -2
- package/lib/factory/getAutoBeGenerated.d.ts +5 -0
- package/lib/factory/getAutoBeGenerated.js +307 -0
- package/lib/factory/getAutoBeGenerated.js.map +1 -0
- package/lib/index.mjs +1652 -1402
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.d.ts +2 -7
- package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js +1 -9
- package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js.map +1 -1
- package/lib/orchestrate/analyze/AutoBeAnalyzeRole.d.ts +13 -0
- package/lib/orchestrate/analyze/AutoBeAnalyzeRole.js +3 -0
- package/lib/orchestrate/analyze/AutoBeAnalyzeRole.js.map +1 -0
- package/lib/orchestrate/analyze/orchestrateAnalyze.d.ts +0 -25
- package/lib/orchestrate/analyze/orchestrateAnalyze.js +22 -420
- package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.d.ts +6 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js +561 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js.map +1 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.d.ts +6 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js +41 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js.map +1 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +14 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +468 -0
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -0
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.d.ts +68 -0
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js +3 -0
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js.map +1 -0
- package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.d.ts +5 -0
- package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js +27 -0
- package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js.map +1 -0
- package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.d.ts +12 -0
- package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js +78 -0
- package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js.map +1 -0
- package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.d.ts +6 -0
- package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js +58 -0
- package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js.map +1 -0
- package/lib/orchestrate/interface/orchestrateInterface.js +0 -2
- package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceComponents.js +17 -137
- package/lib/orchestrate/interface/orchestrateInterfaceComponents.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +92 -141
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrisma.js +9 -5
- package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +54 -25
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +4 -3
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/orchestrate/prisma/{orchestratePrismaSchema.d.ts → orchestratePrismaSchemas.d.ts} +2 -4
- package/lib/orchestrate/prisma/{orchestratePrismaSchema.js → orchestratePrismaSchemas.js} +269 -203
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -0
- package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js +1 -1
- package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js.map +1 -1
- package/lib/orchestrate/prisma/transformPrismaCorrectHistories.js +1 -1
- package/lib/orchestrate/prisma/transformPrismaHistories.js +1 -1
- package/lib/orchestrate/prisma/transformPrismaHistories.js.map +1 -1
- package/lib/orchestrate/prisma/transformPrismaSchemaHistories.d.ts +2 -6
- package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js +24 -32
- package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js.map +1 -1
- package/lib/orchestrate/realize/RealizePipe.d.ts +5 -0
- package/lib/orchestrate/realize/RealizePipe.js +14 -0
- package/lib/orchestrate/realize/RealizePipe.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealize.d.ts +0 -6
- package/lib/orchestrate/realize/orchestrateRealize.js +6 -43
- package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCoder.d.ts +3 -3
- package/lib/orchestrate/realize/orchestrateRealizeCoder.js +124 -59
- package/lib/orchestrate/realize/orchestrateRealizeCoder.js.map +1 -1
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +188 -18
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +23 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.js +3 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.js.map +1 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +2 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js +5 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js.map +1 -0
- package/lib/orchestrate/realize/transformRealizeCoderHistories.d.ts +2 -1
- package/lib/orchestrate/realize/transformRealizeCoderHistories.js +50 -36
- package/lib/orchestrate/realize/transformRealizeCoderHistories.js.map +1 -1
- package/lib/orchestrate/realize/writeCodeUntilCompilePassed.d.ts +5 -0
- package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js +123 -0
- package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js.map +1 -0
- package/lib/orchestrate/test/compile/getTestExternalDeclarations.js +4 -1
- package/lib/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -1
- package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js +2 -1
- package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTest.js +11 -5
- package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrect.js +3 -2
- package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestWrite.js +22 -13
- package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/lib/structures/IAutoBeProps.d.ts +8 -8
- package/lib/utils/pipe.d.ts +5 -0
- package/lib/utils/pipe.js +14 -0
- package/lib/utils/pipe.js.map +1 -0
- package/package.json +6 -6
- package/src/AutoBeAgent.ts +22 -76
- package/src/constants/AutoBeSystemPromptConstant.ts +11 -6
- package/src/context/AutoBeContext.ts +3 -1
- package/src/factory/getAutoBeGenerated.ts +113 -0
- package/src/orchestrate/analyze/AutoBeAnalyzeFileSystem.ts +5 -13
- package/src/orchestrate/analyze/AutoBeAnalyzeRole.ts +14 -0
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +30 -165
- package/src/orchestrate/analyze/orchestrateAnalyzeComposer.ts +115 -0
- package/src/orchestrate/analyze/orchestrateAnalyzeReviewer.ts +39 -0
- package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +106 -0
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.ts +74 -0
- package/src/orchestrate/analyze/transformAnalyzeReviewerHistories.ts +31 -0
- package/src/orchestrate/analyze/transformAnalyzeWriteHistories.ts +94 -0
- package/src/orchestrate/analyze/writeDocumentUntilReviewPassed.ts +66 -0
- package/src/orchestrate/interface/orchestrateInterface.ts +0 -2
- package/src/orchestrate/interface/orchestrateInterfaceComponents.ts +2 -3
- package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +21 -0
- package/src/orchestrate/prisma/orchestratePrisma.ts +12 -5
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +4 -13
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +9 -4
- package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +265 -0
- package/src/orchestrate/prisma/transformPrismaSchemaHistories.ts +26 -37
- package/src/orchestrate/realize/RealizePipe.ts +39 -0
- package/src/orchestrate/realize/orchestrateRealize.ts +3 -91
- package/src/orchestrate/realize/orchestrateRealizeCoder.ts +60 -25
- package/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.ts +192 -18
- package/src/orchestrate/realize/structures/IAutoBeRealizeCompile.ts +34 -0
- package/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.ts +2 -0
- package/src/orchestrate/realize/transformRealizeCoderHistories.ts +58 -34
- package/src/orchestrate/realize/writeCodeUntilCompilePassed.ts +178 -0
- package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +5 -4
- package/src/orchestrate/test/compile/getTestScenarioArtifacts.ts +7 -2
- package/src/orchestrate/test/orchestrateTest.ts +14 -12
- package/src/orchestrate/test/orchestrateTestCorrect.ts +10 -9
- package/src/orchestrate/test/orchestrateTestWrite.ts +33 -27
- package/src/structures/IAutoBeProps.ts +10 -7
- package/src/utils/pipe.ts +39 -0
- package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.d.ts +0 -20
- package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js +0 -735
- package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js.map +0 -1
- package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.d.ts +0 -15
- package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js +0 -44
- package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js.map +0 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +0 -1
- package/src/orchestrate/analyze/AutoBeAnalyzeAgent.ts +0 -219
- package/src/orchestrate/analyze/AutoBeAnalyzeReviewer.ts +0 -62
- 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
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
|
66
|
-
|
|
67
|
-
|
|
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:
|
|
74
|
-
|
|
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,
|
|
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,
|
|
98
|
+
histories: (0, transformPrismaSchemaHistories_1.transformPrismaSchemaHistories)(ctx.state().analyze.files, targetComponent, otherComponents),
|
|
96
99
|
controllers: [
|
|
97
|
-
createApplication({
|
|
98
|
-
|
|
100
|
+
createApplication(ctx, {
|
|
101
|
+
targetComponent,
|
|
102
|
+
otherComponents,
|
|
99
103
|
build: (next) => {
|
|
100
|
-
|
|
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)(
|
|
125
|
-
const application = collection[
|
|
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
|
-
|
|
151
|
-
description: "
|
|
152
|
-
|
|
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
|
-
"
|
|
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 =>
|
|
447
|
-
path: _path + ".
|
|
448
|
-
expected: "
|
|
449
|
-
value: input.
|
|
450
|
-
})) &&
|
|
451
|
-
path: _path + ".
|
|
452
|
-
expected: "
|
|
453
|
-
value:
|
|
454
|
-
})
|
|
455
|
-
path: _path + ".
|
|
456
|
-
expected: "string
|
|
457
|
-
value: input.
|
|
458
|
-
})
|
|
459
|
-
path: _path + ".
|
|
460
|
-
expected: "
|
|
461
|
-
value: input.
|
|
462
|
-
}),
|
|
463
|
-
path: _path + ".
|
|
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:
|
|
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,
|
|
471
|
-
path: _path + ".models[" +
|
|
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
|
-
})) &&
|
|
475
|
-
path: _path + ".models[" +
|
|
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
|
|
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
|
-
})) &&
|
|
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,
|
|
511
|
-
path: _path + ".foreignFields[" +
|
|
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
|
-
})) &&
|
|
515
|
-
path: _path + ".foreignFields[" +
|
|
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,
|
|
527
|
-
path: _path + ".plainFields[" +
|
|
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
|
-
})) &&
|
|
531
|
-
path: _path + ".plainFields[" +
|
|
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,
|
|
543
|
-
path: _path + ".uniqueIndexes[" +
|
|
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
|
-
})) &&
|
|
547
|
-
path: _path + ".uniqueIndexes[" +
|
|
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,
|
|
559
|
-
path: _path + ".plainIndexes[" +
|
|
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
|
-
})) &&
|
|
563
|
-
path: _path + ".plainIndexes[" +
|
|
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,
|
|
575
|
-
path: _path + ".ginIndexes[" +
|
|
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
|
-
})) &&
|
|
579
|
-
path: _path + ".ginIndexes[" +
|
|
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
|
|
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
|
|
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
|
-
})) &&
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
679
|
-
path: _path + ".fieldNames[" +
|
|
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
|
|
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,
|
|
703
|
-
path: _path + ".fieldNames[" +
|
|
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
|
|
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}
|
|
816
|
+
description: " Properties containing the file\n\n------------------------------\n\nCurrent Type: {@link IMakePrismaSchemaFileProps}",
|
|
758
817
|
type: "object",
|
|
759
818
|
properties: {
|
|
760
|
-
|
|
761
|
-
|
|
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
|
-
"
|
|
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 =>
|
|
1040
|
-
path: _path + ".
|
|
1041
|
-
expected: "
|
|
1042
|
-
value: input.
|
|
1043
|
-
})) &&
|
|
1044
|
-
path: _path + ".
|
|
1045
|
-
expected: "
|
|
1046
|
-
value:
|
|
1047
|
-
})
|
|
1048
|
-
path: _path + ".
|
|
1049
|
-
expected: "string
|
|
1050
|
-
value: input.
|
|
1051
|
-
})
|
|
1052
|
-
path: _path + ".
|
|
1053
|
-
expected: "
|
|
1054
|
-
value: input.
|
|
1055
|
-
}),
|
|
1056
|
-
path: _path + ".
|
|
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:
|
|
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,
|
|
1064
|
-
path: _path + ".models[" +
|
|
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
|
-
})) &&
|
|
1068
|
-
path: _path + ".models[" +
|
|
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
|
|
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
|
-
})) &&
|
|
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,
|
|
1104
|
-
path: _path + ".foreignFields[" +
|
|
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
|
-
})) &&
|
|
1108
|
-
path: _path + ".foreignFields[" +
|
|
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,
|
|
1120
|
-
path: _path + ".plainFields[" +
|
|
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
|
-
})) &&
|
|
1124
|
-
path: _path + ".plainFields[" +
|
|
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,
|
|
1136
|
-
path: _path + ".uniqueIndexes[" +
|
|
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
|
-
})) &&
|
|
1140
|
-
path: _path + ".uniqueIndexes[" +
|
|
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,
|
|
1152
|
-
path: _path + ".plainIndexes[" +
|
|
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
|
-
})) &&
|
|
1156
|
-
path: _path + ".plainIndexes[" +
|
|
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,
|
|
1168
|
-
path: _path + ".ginIndexes[" +
|
|
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
|
-
})) &&
|
|
1172
|
-
path: _path + ".ginIndexes[" +
|
|
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
|
|
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
|
|
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
|
-
})) &&
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
1272
|
-
path: _path + ".fieldNames[" +
|
|
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
|
|
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,
|
|
1296
|
-
path: _path + ".fieldNames[" +
|
|
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
|
|
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=
|
|
1409
|
+
//# sourceMappingURL=orchestratePrismaSchemas.js.map
|