@autobe/agent 0.16.1 → 0.17.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 +9 -9
- package/lib/AutoBeAgent.js.map +1 -1
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +2 -2
- package/lib/context/AutoBeContext.d.ts +16 -4
- package/lib/context/AutoBeTokenUsage.d.ts +168 -11
- package/lib/context/AutoBeTokenUsage.js +152 -32
- package/lib/context/AutoBeTokenUsage.js.map +1 -1
- package/lib/context/AutoBeTokenUsageComponent.d.ts +116 -0
- package/lib/context/AutoBeTokenUsageComponent.js +120 -0
- package/lib/context/AutoBeTokenUsageComponent.js.map +1 -0
- package/lib/factory/createAutoBeApplication.js +1 -1
- package/lib/factory/createAutoBeApplication.js.map +1 -1
- package/lib/factory/createAutoBeContext.d.ts +19 -0
- package/lib/factory/createAutoBeContext.js +141 -0
- package/lib/factory/createAutoBeContext.js.map +1 -0
- package/lib/factory/getAutoBeGenerated.d.ts +1 -1
- package/lib/factory/getAutoBeGenerated.js +14 -11
- package/lib/factory/getAutoBeGenerated.js.map +1 -1
- package/lib/factory/getAutoBeRealizeGenerated.d.ts +7 -0
- package/lib/factory/getAutoBeRealizeGenerated.js +27 -0
- package/lib/factory/getAutoBeRealizeGenerated.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +1090 -927
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyze.js +9 -36
- package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js +9 -9
- package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js.map +1 -1
- package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js +1 -1
- package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterface.js +6 -23
- package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
- package/lib/orchestrate/prisma/{transformPrismaComponentsHistories.d.ts → histories/transformPrismaComponentsHistories.d.ts} +1 -1
- package/lib/orchestrate/prisma/{transformPrismaComponentsHistories.js → histories/transformPrismaComponentsHistories.js} +1 -1
- package/lib/orchestrate/prisma/histories/transformPrismaComponentsHistories.js.map +1 -0
- package/lib/orchestrate/prisma/histories/transformPrismaCorrectHistories.js.map +1 -0
- package/lib/orchestrate/prisma/{transformPrismaHistories.d.ts → histories/transformPrismaHistories.d.ts} +1 -1
- package/lib/orchestrate/prisma/histories/transformPrismaHistories.js.map +1 -0
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js +48 -0
- package/lib/orchestrate/prisma/histories/transformPrismaSchemaHistories.js.map +1 -0
- package/lib/orchestrate/prisma/orchestratePrisma.d.ts +1 -1
- package/lib/orchestrate/prisma/orchestratePrisma.js +9 -29
- package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +126 -19
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +10 -10
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +128 -150
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
- package/lib/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.d.ts +120 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.js +3 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.js.map +1 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.d.ts +142 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.js +3 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.js.map +1 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.d.ts +209 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.js +3 -0
- package/lib/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealize.js +13 -24
- package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCoder.js +23 -23
- package/lib/orchestrate/realize/orchestrateRealizeCoder.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTest.js +8 -26
- package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrect.js +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenario.js +1 -1
- package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestWrite.js +1 -1
- package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/package.json +7 -7
- package/src/AutoBeAgent.ts +10 -9
- package/src/constants/AutoBeSystemPromptConstant.ts +2 -2
- package/src/context/AutoBeContext.ts +30 -3
- package/src/context/AutoBeTokenUsage.ts +252 -54
- package/src/context/AutoBeTokenUsageComponent.ts +180 -0
- package/src/factory/createAutoBeApplication.ts +1 -1
- package/src/factory/createAutoBeContext.ts +193 -0
- package/src/factory/getAutoBeGenerated.ts +14 -21
- package/src/factory/getAutoBeRealizeGenerated.ts +30 -0
- package/src/index.ts +1 -0
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +9 -38
- package/src/orchestrate/analyze/orchestrateAnalyzeReviewer.ts +1 -1
- package/src/orchestrate/analyze/writeDocumentUntilReviewPassed.ts +1 -1
- package/src/orchestrate/interface/orchestrateInterface.ts +4 -21
- package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +1 -1
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +1 -1
- package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +1 -1
- package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +1 -1
- package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +1 -1
- package/src/orchestrate/prisma/{transformPrismaComponentsHistories.ts → histories/transformPrismaComponentsHistories.ts} +2 -2
- package/src/orchestrate/prisma/{transformPrismaCorrectHistories.ts → histories/transformPrismaCorrectHistories.ts} +1 -1
- package/src/orchestrate/prisma/{transformPrismaHistories.ts → histories/transformPrismaHistories.ts} +2 -2
- package/src/orchestrate/prisma/{transformPrismaSchemaHistories.ts → histories/transformPrismaSchemaHistories.ts} +1 -1
- package/src/orchestrate/prisma/orchestratePrisma.ts +45 -68
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +13 -81
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +8 -148
- package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +15 -82
- package/src/orchestrate/prisma/structures/IAutoBePrismaComponentApplication.ts +124 -0
- package/src/orchestrate/prisma/structures/IAutoBePrismaCorrectApplication.ts +144 -0
- package/src/orchestrate/prisma/structures/IAutoBePrismaSchemaApplication.ts +214 -0
- package/src/orchestrate/realize/orchestrateRealize.ts +19 -32
- package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +1 -1
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +1 -1
- package/src/orchestrate/realize/orchestrateRealizeCoder.ts +1 -1
- package/src/orchestrate/test/orchestrateTest.ts +6 -26
- package/src/orchestrate/test/orchestrateTestCorrect.ts +1 -1
- package/src/orchestrate/test/orchestrateTestScenario.ts +1 -1
- package/src/orchestrate/test/orchestrateTestWrite.ts +1 -1
- package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js.map +0 -1
- package/lib/orchestrate/prisma/transformPrismaCorrectHistories.js.map +0 -1
- package/lib/orchestrate/prisma/transformPrismaHistories.js.map +0 -1
- package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js +0 -48
- package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js.map +0 -1
- /package/lib/orchestrate/prisma/{transformPrismaCorrectHistories.d.ts → histories/transformPrismaCorrectHistories.d.ts} +0 -0
- /package/lib/orchestrate/prisma/{transformPrismaCorrectHistories.js → histories/transformPrismaCorrectHistories.js} +0 -0
- /package/lib/orchestrate/prisma/{transformPrismaHistories.js → histories/transformPrismaHistories.js} +0 -0
- /package/lib/orchestrate/prisma/{transformPrismaSchemaHistories.d.ts → histories/transformPrismaSchemaHistories.d.ts} +0 -0
|
@@ -10,12 +10,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.orchestratePrisma = void 0;
|
|
13
|
-
const uuid_1 = require("uuid");
|
|
14
13
|
const orchestratePrismaComponent_1 = require("./orchestratePrismaComponent");
|
|
15
14
|
const orchestratePrismaCorrect_1 = require("./orchestratePrismaCorrect");
|
|
16
15
|
const orchestratePrismaSchemas_1 = require("./orchestratePrismaSchemas");
|
|
17
|
-
const orchestratePrisma = (ctx
|
|
18
|
-
var _a, _b, _c, _d
|
|
16
|
+
const orchestratePrisma = (ctx, props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
var _a, _b, _c, _d;
|
|
19
18
|
const start = new Date();
|
|
20
19
|
ctx.dispatch({
|
|
21
20
|
type: "prismaStart",
|
|
@@ -25,11 +24,8 @@ const orchestratePrisma = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
|
|
|
25
24
|
});
|
|
26
25
|
// COMPONENTS
|
|
27
26
|
const components = yield (0, orchestratePrismaComponent_1.orchestratePrismaComponents)(ctx);
|
|
28
|
-
if (components.type === "assistantMessage")
|
|
29
|
-
ctx.
|
|
30
|
-
ctx.dispatch(components);
|
|
31
|
-
return components;
|
|
32
|
-
}
|
|
27
|
+
if (components.type === "assistantMessage")
|
|
28
|
+
return ctx.assistantMessage(components);
|
|
33
29
|
else
|
|
34
30
|
ctx.dispatch(components);
|
|
35
31
|
// CONSTRUCT AST DATA
|
|
@@ -42,32 +38,16 @@ const orchestratePrisma = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
|
|
|
42
38
|
const compiler = yield ctx.compiler();
|
|
43
39
|
const schemas = yield compiler.prisma.write(result.data, "postgres");
|
|
44
40
|
// PROPAGATE
|
|
45
|
-
|
|
46
|
-
type: "
|
|
47
|
-
|
|
48
|
-
created_at: start.toISOString(),
|
|
49
|
-
completed_at: new Date().toISOString(),
|
|
50
|
-
reason: props.reason,
|
|
51
|
-
description: "",
|
|
52
|
-
result: result,
|
|
41
|
+
return ctx.dispatch({
|
|
42
|
+
type: "prismaComplete",
|
|
43
|
+
result,
|
|
53
44
|
schemas,
|
|
54
45
|
compiled: yield compiler.prisma.compile({
|
|
55
46
|
files: schemas,
|
|
56
47
|
}),
|
|
57
48
|
step: (_d = (_c = ctx.state().analyze) === null || _c === void 0 ? void 0 : _c.step) !== null && _d !== void 0 ? _d : 0,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
ctx.histories().push(history);
|
|
61
|
-
if (history.result.success === true)
|
|
62
|
-
ctx.dispatch({
|
|
63
|
-
type: "prismaComplete",
|
|
64
|
-
application: history.result.data,
|
|
65
|
-
schemas: history.schemas,
|
|
66
|
-
compiled: history.compiled,
|
|
67
|
-
step: (_f = (_e = ctx.state().analyze) === null || _e === void 0 ? void 0 : _e.step) !== null && _f !== void 0 ? _f : 0,
|
|
68
|
-
created_at: new Date().toISOString(),
|
|
69
|
-
});
|
|
70
|
-
return history;
|
|
49
|
+
created_at: new Date().toISOString(),
|
|
50
|
+
});
|
|
71
51
|
});
|
|
72
52
|
exports.orchestratePrisma = orchestratePrisma;
|
|
73
53
|
//# sourceMappingURL=orchestratePrisma.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestratePrisma.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrisma.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orchestratePrisma.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrisma.ts"],"names":[],"mappings":";;;;;;;;;;;;AAaA,6EAA2E;AAC3E,yEAAsE;AACtE,yEAAsE;AAE/D,MAAM,iBAAiB,GAAG,CAC/B,GAAyB,EACzB,KAA8B,EACgC,EAAE;;IAChE,MAAM,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;IAC/B,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE;QAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC;KACrC,CAAC,CAAC;IAEH,aAAa;IACb,MAAM,UAAU,GAEkB,MAAM,IAAA,wDAA2B,EAAC,GAAG,CAAC,CAAC;IACzE,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB;QACxC,OAAO,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;;QACrC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9B,qBAAqB;IACrB,MAAM,MAAM,GAA+B,MAAM,IAAA,mDAAwB,EACvE,GAAG,EACH,UAAU,CAAC,UAAU,CACtB,CAAC;IAEF,WAAW;IACX,MAAM,MAAM,GAA4B,MAAM,IAAA,mDAAwB,EAAC,GAAG,EAAE;QAC1E,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;IAEH,UAAU;IACV,MAAM,QAAQ,GAAoB,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvD,MAAM,OAAO,GAA2B,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CACjE,MAAM,CAAC,IAAI,EACX,UAAU,CACX,CAAC;IAEF,YAAY;IACZ,OAAO,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,OAAO;SACf,CAAC;QACF,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC;QACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACD,CAAC,CAAC;AACzC,CAAC,CAAA,CAAC;AAjDW,QAAA,iBAAiB,qBAiD5B"}
|
|
@@ -51,7 +51,7 @@ const core_1 = require("@agentica/core");
|
|
|
51
51
|
const typia_1 = __importDefault(require("typia"));
|
|
52
52
|
const uuid_1 = require("uuid");
|
|
53
53
|
const assertSchemaModel_1 = require("../../context/assertSchemaModel");
|
|
54
|
-
const transformPrismaComponentsHistories_1 = require("./transformPrismaComponentsHistories");
|
|
54
|
+
const transformPrismaComponentsHistories_1 = require("./histories/transformPrismaComponentsHistories");
|
|
55
55
|
function orchestratePrismaComponents(ctx_1) {
|
|
56
56
|
return __awaiter(this, arguments, void 0, function* (ctx, content = "Please extract files and tables from the given documents.") {
|
|
57
57
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -71,11 +71,7 @@ function orchestratePrismaComponents(ctx_1) {
|
|
|
71
71
|
createApplication({
|
|
72
72
|
model: ctx.model,
|
|
73
73
|
build: (next) => {
|
|
74
|
-
|
|
75
|
-
(_a = pointer.value) !== null && _a !== void 0 ? _a : (pointer.value = {
|
|
76
|
-
components: [],
|
|
77
|
-
});
|
|
78
|
-
pointer.value.components.push(...next.components);
|
|
74
|
+
pointer.value = next;
|
|
79
75
|
},
|
|
80
76
|
}),
|
|
81
77
|
],
|
|
@@ -83,7 +79,7 @@ function orchestratePrismaComponents(ctx_1) {
|
|
|
83
79
|
const histories = yield agentica
|
|
84
80
|
.conversate(content)
|
|
85
81
|
.finally(() => {
|
|
86
|
-
const tokenUsage = agentica.getTokenUsage();
|
|
82
|
+
const tokenUsage = agentica.getTokenUsage().aggregate;
|
|
87
83
|
ctx.usage().record(tokenUsage, ["prisma"]);
|
|
88
84
|
});
|
|
89
85
|
if (((_d = histories.at(-1)) === null || _d === void 0 ? void 0 : _d.type) === "assistantMessage")
|
|
@@ -94,6 +90,9 @@ function orchestratePrismaComponents(ctx_1) {
|
|
|
94
90
|
return {
|
|
95
91
|
type: "prismaComponents",
|
|
96
92
|
created_at: start.toISOString(),
|
|
93
|
+
thinking: pointer.value.thinking,
|
|
94
|
+
review: pointer.value.review,
|
|
95
|
+
decision: pointer.value.decision,
|
|
97
96
|
components: pointer.value.components,
|
|
98
97
|
step: (_f = (_e = ctx.state().analyze) === null || _e === void 0 ? void 0 : _e.step) !== null && _f !== void 0 ? _f : 0,
|
|
99
98
|
};
|
|
@@ -123,11 +122,23 @@ const claude = {
|
|
|
123
122
|
{
|
|
124
123
|
name: "extractComponents",
|
|
125
124
|
parameters: {
|
|
126
|
-
description: "
|
|
125
|
+
description: "Current Type: {@link IAutoBePrismaComponentApplication.IProps}",
|
|
127
126
|
type: "object",
|
|
128
127
|
properties: {
|
|
128
|
+
thinking: {
|
|
129
|
+
description: "Initial thoughts on namespace classification criteria.\n\nContains the AI agent's initial analysis and reasoning about how to\norganize tables into different business domains/namespaces.\n\n**Example:**\n\n \"Based on the business requirements, I identify several key domains:\n - User-related entities should be grouped under 'Actors' namespace\n - Product and sales information under 'Sales' namespace\n - System configuration under 'Systematic' namespace\"",
|
|
130
|
+
type: "string"
|
|
131
|
+
},
|
|
132
|
+
review: {
|
|
133
|
+
description: "Review and refinement of the namespace classification.\n\nContains the AI agent's review process, considering relationships between\ntables and potential improvements to the initial classification.\n\n**Example:**\n\n \"Upon review, I noticed that 'shopping_channel_categories' has strong\n relationships with both channels and sales. However, since it primarily\n defines the channel structure, it should remain in 'Systematic' namespace.\"",
|
|
134
|
+
type: "string"
|
|
135
|
+
},
|
|
136
|
+
decision: {
|
|
137
|
+
description: "Final decision on namespace classification.\n\nContains the AI agent's final reasoning and rationale for the chosen\nnamespace organization, explaining why this structure best serves the\nbusiness requirements.\n\n**Example:**\n\n \"Final decision: Organize tables into 3 main namespaces:\n 1. Systematic - for channel and system configuration\n 2. Actors - for all user types (customers, citizens, administrators)\n 3. Sales - for product sales and related transactional data\n This structure provides clear separation of concerns and follows DDD principles.\"",
|
|
138
|
+
type: "string"
|
|
139
|
+
},
|
|
129
140
|
components: {
|
|
130
|
-
description: "
|
|
141
|
+
description: "Array of domain components that group related database tables.\n\nEach component represents a business domain and becomes one Prisma schema\nfile. Common domains include: Actors (users), Sales (products), Orders,\nCarts, etc.\n\n**Example:**\n\n```typescript\n{\n \"components\": [\n {\n \"filename\": \"schema-02-systematic.prisma\",\n \"namespace\": \"Systematic\",\n \"thinking\": \"These tables all relate to system configuration and channel management. They form the foundation of the platform.\",\n \"review\": \"Considering the relationships, shopping_channel_categories connects channels and sales, but it fundamentally defines channel structure.\",\n \"rationale\": \"Grouping all system configuration tables together provides a clear foundation layer that other domains can reference.\",\n \"tables\": [\n \"shopping_channels\",\n \"shopping_sections\",\n \"shopping_channel_categories\"\n ]\n },\n {\n \"filename\": \"schema-03-actors.prisma\",\n \"namespace\": \"Actors\",\n \"thinking\": \"All user-related entities should be grouped together as they share authentication and identity patterns.\",\n \"review\": \"While customers interact with sales, the customer entity itself is about identity, not transactions.\",\n \"rationale\": \"This component groups all actor-related tables to maintain separation between identity management and business transactions.\",\n \"tables\": [\n \"shopping_customers\",\n \"shopping_citizens\",\n \"shopping_administrators\"\n ]\n },\n {\n \"filename\": \"schema-04-sales.prisma\",\n \"namespace\": \"Sales\",\n \"thinking\": \"Product catalog and sales-related tables belong together as they form the core commerce functionality.\",\n \"review\": \"Sales snapshots are integral to the sales domain for tracking product history and price changes.\",\n \"rationale\": \"Consolidating all sales-related tables enables coherent management of the entire product lifecycle.\",\n \"tables\": [\n \"shopping_sales\",\n \"shopping_sale_snapshots\",\n \"shopping_sale_units\",\n \"shopping_sale_unit_options\"\n ]\n }\n ]\n}\n```\n\n**Notes:**\n\n- Table names must follow snake_case convention with domain prefix (e.g.,\n `shopping_customers`)\n- Each component becomes one `.prisma` file containing related models\n- Filename numbering indicates dependency order for schema generation\n- Namespace is used for documentation organization and domain grouping",
|
|
131
142
|
type: "array",
|
|
132
143
|
items: {
|
|
133
144
|
$ref: "#/$defs/AutoBePrisma.IComponent"
|
|
@@ -135,6 +146,9 @@ const claude = {
|
|
|
135
146
|
}
|
|
136
147
|
},
|
|
137
148
|
required: [
|
|
149
|
+
"thinking",
|
|
150
|
+
"review",
|
|
151
|
+
"decision",
|
|
138
152
|
"components"
|
|
139
153
|
],
|
|
140
154
|
additionalProperties: false,
|
|
@@ -152,6 +166,18 @@ const claude = {
|
|
|
152
166
|
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\"",
|
|
153
167
|
type: "string"
|
|
154
168
|
},
|
|
169
|
+
thinking: {
|
|
170
|
+
description: "Initial thoughts on why these tables belong together.\n\n**Example:**\n\n \"These tables all relate to user management and authentication.\n They share common patterns like user identification and access control.\"",
|
|
171
|
+
type: "string"
|
|
172
|
+
},
|
|
173
|
+
review: {
|
|
174
|
+
description: "Review considerations for this component grouping.\n\n**Example:**\n\n \"Reviewed relationships with other domains. While customers create orders,\n the customer entity itself is fundamentally about user identity, not sales.\"",
|
|
175
|
+
type: "string"
|
|
176
|
+
},
|
|
177
|
+
rationale: {
|
|
178
|
+
description: "Final rationale for this component's composition.\n\n**Example:**\n\n \"This component groups all actor-related tables to maintain a clear\n separation between identity management and business transactions.\"",
|
|
179
|
+
type: "string"
|
|
180
|
+
},
|
|
155
181
|
tables: {
|
|
156
182
|
description: "Array of table names that will be included in this component's schema\nfile.\n\nContains all database table names that belong to this business domain,\nensuring logical grouping and proper organization of related data\nstructures.",
|
|
157
183
|
type: "array",
|
|
@@ -165,13 +191,28 @@ const claude = {
|
|
|
165
191
|
required: [
|
|
166
192
|
"filename",
|
|
167
193
|
"namespace",
|
|
194
|
+
"thinking",
|
|
195
|
+
"review",
|
|
196
|
+
"rationale",
|
|
168
197
|
"tables"
|
|
169
198
|
]
|
|
170
199
|
}
|
|
171
200
|
}
|
|
172
201
|
},
|
|
173
|
-
description: "
|
|
174
|
-
validate: (() => { const _io0 = input => Array.isArray(input.components) && input.components.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.filename && RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) && "string" === typeof input.namespace && (Array.isArray(input.tables) && (1 <= input.tables.length && input.tables.every(elem => "string" === typeof elem && RegExp("^[a-z][a-z0-9_]*$").test(elem)))); const _vo0 = (input, _path, _exceptionable = true) => [
|
|
202
|
+
description: "Organizes database tables into domain-based components for Prisma schema\ngeneration.\n\nTakes business requirements and groups related tables into logical domains,\nwith each component becoming a separate .prisma file.",
|
|
203
|
+
validate: (() => { const _io0 = input => "string" === typeof input.thinking && "string" === typeof input.review && "string" === typeof input.decision && (Array.isArray(input.components) && input.components.every(elem => "object" === typeof elem && null !== elem && _io1(elem))); const _io1 = input => "string" === typeof input.filename && RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) && "string" === typeof input.namespace && "string" === typeof input.thinking && "string" === typeof input.review && "string" === typeof input.rationale && (Array.isArray(input.tables) && (1 <= input.tables.length && input.tables.every(elem => "string" === typeof elem && RegExp("^[a-z][a-z0-9_]*$").test(elem)))); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
|
|
204
|
+
path: _path + ".thinking",
|
|
205
|
+
expected: "string",
|
|
206
|
+
value: input.thinking
|
|
207
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
208
|
+
path: _path + ".review",
|
|
209
|
+
expected: "string",
|
|
210
|
+
value: input.review
|
|
211
|
+
}), "string" === typeof input.decision || _report(_exceptionable, {
|
|
212
|
+
path: _path + ".decision",
|
|
213
|
+
expected: "string",
|
|
214
|
+
value: input.decision
|
|
215
|
+
}), (Array.isArray(input.components) || _report(_exceptionable, {
|
|
175
216
|
path: _path + ".components",
|
|
176
217
|
expected: "Array<AutoBePrisma.IComponent>",
|
|
177
218
|
value: input.components
|
|
@@ -199,6 +240,18 @@ const claude = {
|
|
|
199
240
|
path: _path + ".namespace",
|
|
200
241
|
expected: "string",
|
|
201
242
|
value: input.namespace
|
|
243
|
+
}), "string" === typeof input.thinking || _report(_exceptionable, {
|
|
244
|
+
path: _path + ".thinking",
|
|
245
|
+
expected: "string",
|
|
246
|
+
value: input.thinking
|
|
247
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
248
|
+
path: _path + ".review",
|
|
249
|
+
expected: "string",
|
|
250
|
+
value: input.review
|
|
251
|
+
}), "string" === typeof input.rationale || _report(_exceptionable, {
|
|
252
|
+
path: _path + ".rationale",
|
|
253
|
+
expected: "string",
|
|
254
|
+
value: input.rationale
|
|
202
255
|
}), (Array.isArray(input.tables) || _report(_exceptionable, {
|
|
203
256
|
path: _path + ".tables",
|
|
204
257
|
expected: "(Array<string & Pattern<\"^[a-z][a-z0-9_]*$\">> & MinItems<1>)",
|
|
@@ -225,11 +278,11 @@ const claude = {
|
|
|
225
278
|
_report = __typia_transform__validateReport._validateReport(errors);
|
|
226
279
|
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
227
280
|
path: _path + "",
|
|
228
|
-
expected: "
|
|
281
|
+
expected: "IAutoBePrismaComponentApplication.IProps",
|
|
229
282
|
value: input
|
|
230
283
|
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
231
284
|
path: _path + "",
|
|
232
|
-
expected: "
|
|
285
|
+
expected: "IAutoBePrismaComponentApplication.IProps",
|
|
233
286
|
value: input
|
|
234
287
|
}))(input, "$input", true);
|
|
235
288
|
const success = 0 === errors.length;
|
|
@@ -262,11 +315,23 @@ const collection = {
|
|
|
262
315
|
{
|
|
263
316
|
name: "extractComponents",
|
|
264
317
|
parameters: {
|
|
265
|
-
description: "
|
|
318
|
+
description: "Current Type: {@link IAutoBePrismaComponentApplication.IProps}",
|
|
266
319
|
type: "object",
|
|
267
320
|
properties: {
|
|
321
|
+
thinking: {
|
|
322
|
+
description: "Initial thoughts on namespace classification criteria.\n\nContains the AI agent's initial analysis and reasoning about how to\norganize tables into different business domains/namespaces.\n\n**Example:**\n\n \"Based on the business requirements, I identify several key domains:\n - User-related entities should be grouped under 'Actors' namespace\n - Product and sales information under 'Sales' namespace\n - System configuration under 'Systematic' namespace\"",
|
|
323
|
+
type: "string"
|
|
324
|
+
},
|
|
325
|
+
review: {
|
|
326
|
+
description: "Review and refinement of the namespace classification.\n\nContains the AI agent's review process, considering relationships between\ntables and potential improvements to the initial classification.\n\n**Example:**\n\n \"Upon review, I noticed that 'shopping_channel_categories' has strong\n relationships with both channels and sales. However, since it primarily\n defines the channel structure, it should remain in 'Systematic' namespace.\"",
|
|
327
|
+
type: "string"
|
|
328
|
+
},
|
|
329
|
+
decision: {
|
|
330
|
+
description: "Final decision on namespace classification.\n\nContains the AI agent's final reasoning and rationale for the chosen\nnamespace organization, explaining why this structure best serves the\nbusiness requirements.\n\n**Example:**\n\n \"Final decision: Organize tables into 3 main namespaces:\n 1. Systematic - for channel and system configuration\n 2. Actors - for all user types (customers, citizens, administrators)\n 3. Sales - for product sales and related transactional data\n This structure provides clear separation of concerns and follows DDD principles.\"",
|
|
331
|
+
type: "string"
|
|
332
|
+
},
|
|
268
333
|
components: {
|
|
269
|
-
description: "
|
|
334
|
+
description: "Array of domain components that group related database tables.\n\nEach component represents a business domain and becomes one Prisma schema\nfile. Common domains include: Actors (users), Sales (products), Orders,\nCarts, etc.\n\n**Example:**\n\n```typescript\n{\n \"components\": [\n {\n \"filename\": \"schema-02-systematic.prisma\",\n \"namespace\": \"Systematic\",\n \"thinking\": \"These tables all relate to system configuration and channel management. They form the foundation of the platform.\",\n \"review\": \"Considering the relationships, shopping_channel_categories connects channels and sales, but it fundamentally defines channel structure.\",\n \"rationale\": \"Grouping all system configuration tables together provides a clear foundation layer that other domains can reference.\",\n \"tables\": [\n \"shopping_channels\",\n \"shopping_sections\",\n \"shopping_channel_categories\"\n ]\n },\n {\n \"filename\": \"schema-03-actors.prisma\",\n \"namespace\": \"Actors\",\n \"thinking\": \"All user-related entities should be grouped together as they share authentication and identity patterns.\",\n \"review\": \"While customers interact with sales, the customer entity itself is about identity, not transactions.\",\n \"rationale\": \"This component groups all actor-related tables to maintain separation between identity management and business transactions.\",\n \"tables\": [\n \"shopping_customers\",\n \"shopping_citizens\",\n \"shopping_administrators\"\n ]\n },\n {\n \"filename\": \"schema-04-sales.prisma\",\n \"namespace\": \"Sales\",\n \"thinking\": \"Product catalog and sales-related tables belong together as they form the core commerce functionality.\",\n \"review\": \"Sales snapshots are integral to the sales domain for tracking product history and price changes.\",\n \"rationale\": \"Consolidating all sales-related tables enables coherent management of the entire product lifecycle.\",\n \"tables\": [\n \"shopping_sales\",\n \"shopping_sale_snapshots\",\n \"shopping_sale_units\",\n \"shopping_sale_unit_options\"\n ]\n }\n ]\n}\n```\n\n**Notes:**\n\n- Table names must follow snake_case convention with domain prefix (e.g.,\n `shopping_customers`)\n- Each component becomes one `.prisma` file containing related models\n- Filename numbering indicates dependency order for schema generation\n- Namespace is used for documentation organization and domain grouping",
|
|
270
335
|
type: "array",
|
|
271
336
|
items: {
|
|
272
337
|
$ref: "#/$defs/AutoBePrisma.IComponent"
|
|
@@ -274,6 +339,9 @@ const collection = {
|
|
|
274
339
|
}
|
|
275
340
|
},
|
|
276
341
|
required: [
|
|
342
|
+
"thinking",
|
|
343
|
+
"review",
|
|
344
|
+
"decision",
|
|
277
345
|
"components"
|
|
278
346
|
],
|
|
279
347
|
additionalProperties: false,
|
|
@@ -290,6 +358,18 @@ const collection = {
|
|
|
290
358
|
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\"",
|
|
291
359
|
type: "string"
|
|
292
360
|
},
|
|
361
|
+
thinking: {
|
|
362
|
+
description: "Initial thoughts on why these tables belong together.\n\n**Example:**\n\n \"These tables all relate to user management and authentication.\n They share common patterns like user identification and access control.\"",
|
|
363
|
+
type: "string"
|
|
364
|
+
},
|
|
365
|
+
review: {
|
|
366
|
+
description: "Review considerations for this component grouping.\n\n**Example:**\n\n \"Reviewed relationships with other domains. While customers create orders,\n the customer entity itself is fundamentally about user identity, not sales.\"",
|
|
367
|
+
type: "string"
|
|
368
|
+
},
|
|
369
|
+
rationale: {
|
|
370
|
+
description: "Final rationale for this component's composition.\n\n**Example:**\n\n \"This component groups all actor-related tables to maintain a clear\n separation between identity management and business transactions.\"",
|
|
371
|
+
type: "string"
|
|
372
|
+
},
|
|
293
373
|
tables: {
|
|
294
374
|
description: "Array of table names that will be included in this component's schema\nfile.\n\nContains all database table names that belong to this business domain,\nensuring logical grouping and proper organization of related data\nstructures.\n\n\n@minItems 1",
|
|
295
375
|
type: "array",
|
|
@@ -302,13 +382,28 @@ const collection = {
|
|
|
302
382
|
required: [
|
|
303
383
|
"filename",
|
|
304
384
|
"namespace",
|
|
385
|
+
"thinking",
|
|
386
|
+
"review",
|
|
387
|
+
"rationale",
|
|
305
388
|
"tables"
|
|
306
389
|
]
|
|
307
390
|
}
|
|
308
391
|
}
|
|
309
392
|
},
|
|
310
|
-
description: "
|
|
311
|
-
validate: (() => { const _io0 = input => Array.isArray(input.components) && input.components.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.filename && RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) && "string" === typeof input.namespace && (Array.isArray(input.tables) && (1 <= input.tables.length && input.tables.every(elem => "string" === typeof elem && RegExp("^[a-z][a-z0-9_]*$").test(elem)))); const _vo0 = (input, _path, _exceptionable = true) => [
|
|
393
|
+
description: "Organizes database tables into domain-based components for Prisma schema\ngeneration.\n\nTakes business requirements and groups related tables into logical domains,\nwith each component becoming a separate .prisma file.",
|
|
394
|
+
validate: (() => { const _io0 = input => "string" === typeof input.thinking && "string" === typeof input.review && "string" === typeof input.decision && (Array.isArray(input.components) && input.components.every(elem => "object" === typeof elem && null !== elem && _io1(elem))); const _io1 = input => "string" === typeof input.filename && RegExp("^[a-zA-Z0-9._-]+\\.prisma$").test(input.filename) && "string" === typeof input.namespace && "string" === typeof input.thinking && "string" === typeof input.review && "string" === typeof input.rationale && (Array.isArray(input.tables) && (1 <= input.tables.length && input.tables.every(elem => "string" === typeof elem && RegExp("^[a-z][a-z0-9_]*$").test(elem)))); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.thinking || _report(_exceptionable, {
|
|
395
|
+
path: _path + ".thinking",
|
|
396
|
+
expected: "string",
|
|
397
|
+
value: input.thinking
|
|
398
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
399
|
+
path: _path + ".review",
|
|
400
|
+
expected: "string",
|
|
401
|
+
value: input.review
|
|
402
|
+
}), "string" === typeof input.decision || _report(_exceptionable, {
|
|
403
|
+
path: _path + ".decision",
|
|
404
|
+
expected: "string",
|
|
405
|
+
value: input.decision
|
|
406
|
+
}), (Array.isArray(input.components) || _report(_exceptionable, {
|
|
312
407
|
path: _path + ".components",
|
|
313
408
|
expected: "Array<AutoBePrisma.IComponent>",
|
|
314
409
|
value: input.components
|
|
@@ -336,6 +431,18 @@ const collection = {
|
|
|
336
431
|
path: _path + ".namespace",
|
|
337
432
|
expected: "string",
|
|
338
433
|
value: input.namespace
|
|
434
|
+
}), "string" === typeof input.thinking || _report(_exceptionable, {
|
|
435
|
+
path: _path + ".thinking",
|
|
436
|
+
expected: "string",
|
|
437
|
+
value: input.thinking
|
|
438
|
+
}), "string" === typeof input.review || _report(_exceptionable, {
|
|
439
|
+
path: _path + ".review",
|
|
440
|
+
expected: "string",
|
|
441
|
+
value: input.review
|
|
442
|
+
}), "string" === typeof input.rationale || _report(_exceptionable, {
|
|
443
|
+
path: _path + ".rationale",
|
|
444
|
+
expected: "string",
|
|
445
|
+
value: input.rationale
|
|
339
446
|
}), (Array.isArray(input.tables) || _report(_exceptionable, {
|
|
340
447
|
path: _path + ".tables",
|
|
341
448
|
expected: "(Array<string & Pattern<\"^[a-z][a-z0-9_]*$\">> & MinItems<1>)",
|
|
@@ -362,11 +469,11 @@ const collection = {
|
|
|
362
469
|
_report = __typia_transform__validateReport._validateReport(errors);
|
|
363
470
|
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
364
471
|
path: _path + "",
|
|
365
|
-
expected: "
|
|
472
|
+
expected: "IAutoBePrismaComponentApplication.IProps",
|
|
366
473
|
value: input
|
|
367
474
|
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
368
475
|
path: _path + "",
|
|
369
|
-
expected: "
|
|
476
|
+
expected: "IAutoBePrismaComponentApplication.IProps",
|
|
370
477
|
value: input
|
|
371
478
|
}))(input, "$input", true);
|
|
372
479
|
const success = 0 === errors.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestratePrismaComponent.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaComponent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orchestratePrismaComponent.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ const core_1 = require("@agentica/core");
|
|
|
52
52
|
const typia_1 = __importDefault(require("typia"));
|
|
53
53
|
const assertSchemaModel_1 = require("../../context/assertSchemaModel");
|
|
54
54
|
const enforceToolCall_1 = require("../../utils/enforceToolCall");
|
|
55
|
-
const transformPrismaCorrectHistories_1 = require("./transformPrismaCorrectHistories");
|
|
55
|
+
const transformPrismaCorrectHistories_1 = require("./histories/transformPrismaCorrectHistories");
|
|
56
56
|
function orchestratePrismaCorrect(ctx, application, life = 4) {
|
|
57
57
|
const unique = new Set();
|
|
58
58
|
for (const file of application.files)
|
|
@@ -110,7 +110,7 @@ function step(ctx, application, life) {
|
|
|
110
110
|
yield agentica
|
|
111
111
|
.conversate("Resolve the compilation errors in the provided Prisma schema files.")
|
|
112
112
|
.finally(() => {
|
|
113
|
-
const tokenUsage = agentica.getTokenUsage();
|
|
113
|
+
const tokenUsage = agentica.getTokenUsage().aggregate;
|
|
114
114
|
ctx.usage().record(tokenUsage, ["prisma"]);
|
|
115
115
|
});
|
|
116
116
|
if (pointer.value === null) {
|
|
@@ -164,11 +164,11 @@ const claude = {
|
|
|
164
164
|
{
|
|
165
165
|
name: "correctPrismaSchemaFiles",
|
|
166
166
|
parameters: {
|
|
167
|
-
description: "Current Type: {@link
|
|
167
|
+
description: "Current Type: {@link IAutoBePrismaCorrectApplication.IProps}",
|
|
168
168
|
type: "object",
|
|
169
169
|
properties: {
|
|
170
170
|
planning: {
|
|
171
|
-
description: "Detailed execution plan for fixing `AutoBePrisma` validation errors in\nspecific models.\n\n\uD83C\uDFAF Purpose: Enable systematic reasoning and step-by-step error resolution\napproach for targeted model validation issues\n\n\uD83D\uDCCB Required Planning Content:\n\n1. **Error Scope Analysis**\n\n - List all validation errors from IAutoBePrismaValidation.IError[] array\n - Extract unique table names from errors to identify affected models\n - Categorize errors by type (field duplications, references, types
|
|
171
|
+
description: "Detailed execution plan for fixing `AutoBePrisma` validation errors in\nspecific models.\n\n\uD83C\uDFAF Purpose: Enable systematic reasoning and step-by-step error resolution\napproach for targeted model validation issues\n\n\uD83D\uDCCB Required Planning Content:\n\n1. **Error Scope Analysis**\n\n - List all validation errors from IAutoBePrismaValidation.IError[] array\n - Extract unique table names from errors to identify affected models\n - Categorize errors by type (field duplications, references, types,\n indexes)\n - Identify which models need correction vs. which remain unchanged\n2. **Targeted Fix Strategy**\n\n - Focus ONLY on models mentioned in validation errors\n - Outline minimal changes needed for each affected model\n - Plan cross-model reference updates (if any) without modifying non-error\n models\n - Ensure unchanged models maintain valid references to corrected models\n3. **Model-Specific Fix Plan**\n\n - Model-by-model modification plan for ONLY affected models\n - Exact field additions, renames, or type corrections required\n - Reference updates within corrected models only\n - Index corrections limited to affected models\n4. **Minimal Scope Validation**\n\n - Confirm which models will be included in output (error models only)\n - List models that will remain unchanged in original schema\n - Identify cross-model dependencies without including unchanged models\n - Preserve all business logic within corrected models\n5. **Targeted Impact Assessment**\n\n - Potential effects of fixes on unchanged models (reference validation)\n - Verification points for corrected models only\n - Ensure no new validation errors in targeted models\n - Confirm minimal output scope compliance\n\n\uD83D\uDCA1 Example Planning Structure:\n\n ## Error Scope\n - Target Models: shopping_customers, shopping_orders (2 models only)\n - Unchanged Models: All others remain in original schema\n\n ## Targeted Fixes\n - shopping_customers: Remove duplicate 'email' field\n - shopping_orders: Update targetModel reference to 'shopping_customers'\n\n ## Output Scope\n - Return: Only shopping_customers and shopping_orders models\n - Preserve: All other models unchanged in original schema\n\n ## Cross-Model Impact\n - Verify: shopping_orders still references shopping_customers correctly\n - No changes needed in other models referencing these",
|
|
172
172
|
type: "string"
|
|
173
173
|
},
|
|
174
174
|
models: {
|
|
@@ -702,11 +702,11 @@ const claude = {
|
|
|
702
702
|
_report = __typia_transform__validateReport._validateReport(errors);
|
|
703
703
|
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
704
704
|
path: _path + "",
|
|
705
|
-
expected: "
|
|
705
|
+
expected: "IAutoBePrismaCorrectApplication.IProps",
|
|
706
706
|
value: input
|
|
707
707
|
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
708
708
|
path: _path + "",
|
|
709
|
-
expected: "
|
|
709
|
+
expected: "IAutoBePrismaCorrectApplication.IProps",
|
|
710
710
|
value: input
|
|
711
711
|
}))(input, "$input", true);
|
|
712
712
|
const success = 0 === errors.length;
|
|
@@ -739,11 +739,11 @@ const collection = {
|
|
|
739
739
|
{
|
|
740
740
|
name: "correctPrismaSchemaFiles",
|
|
741
741
|
parameters: {
|
|
742
|
-
description: "Current Type: {@link
|
|
742
|
+
description: "Current Type: {@link IAutoBePrismaCorrectApplication.IProps}",
|
|
743
743
|
type: "object",
|
|
744
744
|
properties: {
|
|
745
745
|
planning: {
|
|
746
|
-
description: "Detailed execution plan for fixing `AutoBePrisma` validation errors in\nspecific models.\n\n\uD83C\uDFAF Purpose: Enable systematic reasoning and step-by-step error resolution\napproach for targeted model validation issues\n\n\uD83D\uDCCB Required Planning Content:\n\n1. **Error Scope Analysis**\n\n - List all validation errors from IAutoBePrismaValidation.IError[] array\n - Extract unique table names from errors to identify affected models\n - Categorize errors by type (field duplications, references, types
|
|
746
|
+
description: "Detailed execution plan for fixing `AutoBePrisma` validation errors in\nspecific models.\n\n\uD83C\uDFAF Purpose: Enable systematic reasoning and step-by-step error resolution\napproach for targeted model validation issues\n\n\uD83D\uDCCB Required Planning Content:\n\n1. **Error Scope Analysis**\n\n - List all validation errors from IAutoBePrismaValidation.IError[] array\n - Extract unique table names from errors to identify affected models\n - Categorize errors by type (field duplications, references, types,\n indexes)\n - Identify which models need correction vs. which remain unchanged\n2. **Targeted Fix Strategy**\n\n - Focus ONLY on models mentioned in validation errors\n - Outline minimal changes needed for each affected model\n - Plan cross-model reference updates (if any) without modifying non-error\n models\n - Ensure unchanged models maintain valid references to corrected models\n3. **Model-Specific Fix Plan**\n\n - Model-by-model modification plan for ONLY affected models\n - Exact field additions, renames, or type corrections required\n - Reference updates within corrected models only\n - Index corrections limited to affected models\n4. **Minimal Scope Validation**\n\n - Confirm which models will be included in output (error models only)\n - List models that will remain unchanged in original schema\n - Identify cross-model dependencies without including unchanged models\n - Preserve all business logic within corrected models\n5. **Targeted Impact Assessment**\n\n - Potential effects of fixes on unchanged models (reference validation)\n - Verification points for corrected models only\n - Ensure no new validation errors in targeted models\n - Confirm minimal output scope compliance\n\n\uD83D\uDCA1 Example Planning Structure:\n\n ## Error Scope\n - Target Models: shopping_customers, shopping_orders (2 models only)\n - Unchanged Models: All others remain in original schema\n\n ## Targeted Fixes\n - shopping_customers: Remove duplicate 'email' field\n - shopping_orders: Update targetModel reference to 'shopping_customers'\n\n ## Output Scope\n - Return: Only shopping_customers and shopping_orders models\n - Preserve: All other models unchanged in original schema\n\n ## Cross-Model Impact\n - Verify: shopping_orders still references shopping_customers correctly\n - No changes needed in other models referencing these",
|
|
747
747
|
type: "string"
|
|
748
748
|
},
|
|
749
749
|
models: {
|
|
@@ -1262,11 +1262,11 @@ const collection = {
|
|
|
1262
1262
|
_report = __typia_transform__validateReport._validateReport(errors);
|
|
1263
1263
|
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
1264
1264
|
path: _path + "",
|
|
1265
|
-
expected: "
|
|
1265
|
+
expected: "IAutoBePrismaCorrectApplication.IProps",
|
|
1266
1266
|
value: input
|
|
1267
1267
|
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1268
1268
|
path: _path + "",
|
|
1269
|
-
expected: "
|
|
1269
|
+
expected: "IAutoBePrismaCorrectApplication.IProps",
|
|
1270
1270
|
value: input
|
|
1271
1271
|
}))(input, "$input", true);
|
|
1272
1272
|
const success = 0 === errors.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestratePrismaCorrect.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaCorrect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orchestratePrismaCorrect.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaCorrect.ts"],"names":[],"mappings":"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"}
|