@autobe/agent 0.27.0 → 0.28.0
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/constants/AutoBeSystemPromptConstant.d.ts +1 -1
- package/lib/context/assertSchemaModel.d.ts +1 -1
- package/lib/context/assertSchemaModel.js +4 -7
- package/lib/context/assertSchemaModel.js.map +1 -1
- package/lib/index.mjs +18395 -8004
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +1 -1
- package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js +164 -86
- package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +637 -321
- package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +143 -74
- package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +17 -52
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +25 -22
- package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +7 -23
- package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +165 -2
- package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js.map +1 -1
- package/lib/orchestrate/facade/createAutoBeFacadeController.js +773 -403
- package/lib/orchestrate/facade/createAutoBeFacadeController.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js +739 -2
- package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +1625 -9
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +248 -131
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +255 -133
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +339 -226
- package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +625 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js +776 -3
- package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js +205 -3
- package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +107 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1664 -9
- package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js +1625 -9
- package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +389 -196
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1166 -590
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaReview.js +1184 -599
- package/lib/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +4 -2
- package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +360 -179
- package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +396 -197
- package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.js +130 -2
- package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js +165 -2
- package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealizeWrite.js +130 -2
- package/lib/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
- package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrect.js +131 -2
- package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +166 -2
- package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenario.js +255 -3
- package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js +281 -3
- package/lib/orchestrate/test/orchestrateTestScenarioReview.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestWrite.js +139 -2
- package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/package.json +9 -9
- package/src/constants/AutoBeSystemPromptConstant.ts +1 -1
- package/src/context/assertSchemaModel.ts +5 -8
- package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +7 -9
- package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +13 -9
- package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +7 -9
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +19 -54
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +25 -22
- package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.ts +8 -24
- package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +15 -1
- package/src/orchestrate/facade/createAutoBeFacadeController.ts +7 -6
- package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +11 -1
- package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +11 -1
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +13 -9
- package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +13 -9
- package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +17 -14
- package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +11 -1
- package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +14 -1
- package/src/orchestrate/interface/orchestrateInterfacePrerequisites.ts +11 -1
- package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +9 -1
- package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +14 -1
- package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +11 -1
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +13 -9
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +7 -9
- package/src/orchestrate/prisma/orchestratePrismaReview.ts +7 -10
- package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +13 -9
- package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +13 -9
- package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +11 -1
- package/src/orchestrate/realize/orchestrateRealizeCorrectCasting.ts +15 -1
- package/src/orchestrate/realize/orchestrateRealizeWrite.ts +11 -1
- package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +5 -1
- package/src/orchestrate/test/histories/transformTestWriteHistories.ts +1 -1
- package/src/orchestrate/test/orchestrateTestCorrect.ts +11 -1
- package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +18 -1
- package/src/orchestrate/test/orchestrateTestScenario.ts +11 -1
- package/src/orchestrate/test/orchestrateTestScenarioReview.ts +11 -1
- package/src/orchestrate/test/orchestrateTestWrite.ts +11 -1
|
@@ -57,7 +57,11 @@ const orchestrateRealize_1 = require("../realize/orchestrateRealize");
|
|
|
57
57
|
const orchestrateTest_1 = require("../test/orchestrateTest");
|
|
58
58
|
const createAutoBeFacadeController = (props) => {
|
|
59
59
|
(0, assertSchemaModel_1.assertSchemaModel)(props.model);
|
|
60
|
-
const application = collection[props.model
|
|
60
|
+
const application = collection[props.model === "chatgpt"
|
|
61
|
+
? "chatgpt"
|
|
62
|
+
: props.model === "gemini"
|
|
63
|
+
? "gemini"
|
|
64
|
+
: "claude"];
|
|
61
65
|
return {
|
|
62
66
|
protocol: "class",
|
|
63
67
|
name: "autobe",
|
|
@@ -143,427 +147,797 @@ const createAutoBeFacadeController = (props) => {
|
|
|
143
147
|
};
|
|
144
148
|
};
|
|
145
149
|
exports.createAutoBeFacadeController = createAutoBeFacadeController;
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
150
|
+
const collection = {
|
|
151
|
+
chatgpt: {
|
|
152
|
+
model: "chatgpt",
|
|
153
|
+
options: {
|
|
154
|
+
reference: true,
|
|
155
|
+
strict: false,
|
|
156
|
+
separate: null
|
|
157
|
+
},
|
|
158
|
+
functions: [
|
|
159
|
+
{
|
|
160
|
+
name: "analyze",
|
|
161
|
+
parameters: {
|
|
162
|
+
type: "object",
|
|
163
|
+
properties: {},
|
|
164
|
+
additionalProperties: false,
|
|
165
|
+
required: [],
|
|
166
|
+
$defs: {
|
|
167
|
+
IAutoBeFacadeApplicationResult: {
|
|
168
|
+
type: "object",
|
|
169
|
+
properties: {
|
|
170
|
+
type: {
|
|
171
|
+
type: "string",
|
|
172
|
+
"enum": [
|
|
173
|
+
"success",
|
|
174
|
+
"failure",
|
|
175
|
+
"exception",
|
|
176
|
+
"in-progress",
|
|
177
|
+
"prerequisites-not-satisfied"
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
description: {
|
|
181
|
+
type: "string"
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
required: [
|
|
185
|
+
"type",
|
|
186
|
+
"description"
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
output: {
|
|
192
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
193
|
+
},
|
|
194
|
+
description: "Run Analyze Agent.\n\nExecutes the Analyze agent to process user requirements and generate a\nstructured specification document. This agent analyzes all conversation\nhistory between users and AI, separates business logic from technical\nrequirements, and establishes development priorities and scope.\n\n**IMPORTANT**: Only call this function when sufficient requirements have\nbeen discussed to generate a comprehensive specification. The context must\ncontain enough detail about the system's purpose, core features, data\nmodels, and business rules. If requirements are unclear or incomplete,\ncontinue gathering information through conversation instead.\n\nThe agent will automatically generate follow-up questions for any ambiguous\nrequirements and continuously refine its understanding through iterative\nconversation. When executed after other agents have generated code, it can\nalso interpret change requests in the context of existing implementations.",
|
|
195
|
+
validate: (() => { const __is = input => true; let errors; let _report; return input => {
|
|
196
|
+
if (false === __is(input)) {
|
|
197
|
+
errors = [];
|
|
198
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
199
|
+
((input, _path, _exceptionable = true) => true)(input, "$input", true);
|
|
200
|
+
const success = 0 === errors.length;
|
|
201
|
+
return success ? {
|
|
202
|
+
success,
|
|
203
|
+
data: input
|
|
204
|
+
} : {
|
|
205
|
+
success,
|
|
206
|
+
errors,
|
|
207
|
+
data: input
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
success: true,
|
|
212
|
+
data: input
|
|
213
|
+
};
|
|
214
|
+
}; })()
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: "prisma",
|
|
218
|
+
parameters: {
|
|
219
|
+
type: "object",
|
|
220
|
+
properties: {
|
|
221
|
+
instruction: {
|
|
222
|
+
description: "Database design instructions from user conversation.\n\nPass empty string \"\" if no database-specific instructions exist.",
|
|
223
|
+
type: "string"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
required: [
|
|
227
|
+
"instruction"
|
|
228
|
+
],
|
|
229
|
+
additionalProperties: false,
|
|
230
|
+
$defs: {
|
|
231
|
+
IAutoBeFacadeApplicationResult: {
|
|
232
|
+
type: "object",
|
|
233
|
+
properties: {
|
|
234
|
+
type: {
|
|
235
|
+
type: "string",
|
|
236
|
+
"enum": [
|
|
237
|
+
"success",
|
|
238
|
+
"failure",
|
|
239
|
+
"exception",
|
|
240
|
+
"in-progress",
|
|
241
|
+
"prerequisites-not-satisfied"
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
description: {
|
|
245
|
+
type: "string"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
required: [
|
|
249
|
+
"type",
|
|
250
|
+
"description"
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
output: {
|
|
256
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
257
|
+
},
|
|
258
|
+
description: "Run prisma agent.\n\nExecutes the Prisma agent to generate database schema files and ERD\ndocumentation. This agent reads the requirements specification created by\nthe {@link analyze Analyze agent} and produces a complete Prisma schema with\ncomprehensive documentation for each entity and attribute.\n\n**PREREQUISITE**: Only call this function after the {@link analyze} function\nhas been successfully executed and a requirements specification document\nhas been generated. The Prisma agent depends on the structured requirements\nanalysis to design the database schema properly. Without a completed\nrequirements specification, this function should NOT be called.\n\nThe agent will automatically validate the generated schema using the Prisma\ncompiler, self-correct any compilation errors through feedback loops, and\ngenerate ERD documentation using prisma-markdown. An internal review\nprocess ensures schema quality and optimization.",
|
|
259
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
260
|
+
path: _path + ".instruction",
|
|
261
|
+
expected: "string",
|
|
262
|
+
value: input.instruction
|
|
263
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
264
|
+
if (false === __is(input)) {
|
|
265
|
+
errors = [];
|
|
266
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
267
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
268
|
+
path: _path + "",
|
|
269
|
+
expected: "__type",
|
|
270
|
+
value: input
|
|
271
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
272
|
+
path: _path + "",
|
|
273
|
+
expected: "__type",
|
|
274
|
+
value: input
|
|
275
|
+
}))(input, "$input", true);
|
|
276
|
+
const success = 0 === errors.length;
|
|
277
|
+
return success ? {
|
|
278
|
+
success,
|
|
279
|
+
data: input
|
|
280
|
+
} : {
|
|
281
|
+
success,
|
|
282
|
+
errors,
|
|
283
|
+
data: input
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
success: true,
|
|
288
|
+
data: input
|
|
289
|
+
};
|
|
290
|
+
}; })()
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: "interface",
|
|
294
|
+
parameters: {
|
|
295
|
+
type: "object",
|
|
296
|
+
properties: {
|
|
297
|
+
instruction: {
|
|
298
|
+
description: "API design instructions from user conversation.\n\nPass empty string \"\" if no API-specific instructions exist.",
|
|
299
|
+
type: "string"
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
required: [
|
|
303
|
+
"instruction"
|
|
304
|
+
],
|
|
305
|
+
additionalProperties: false,
|
|
306
|
+
$defs: {
|
|
307
|
+
IAutoBeFacadeApplicationResult: {
|
|
308
|
+
type: "object",
|
|
309
|
+
properties: {
|
|
310
|
+
type: {
|
|
311
|
+
type: "string",
|
|
312
|
+
"enum": [
|
|
313
|
+
"success",
|
|
314
|
+
"failure",
|
|
315
|
+
"exception",
|
|
316
|
+
"in-progress",
|
|
317
|
+
"prerequisites-not-satisfied"
|
|
318
|
+
]
|
|
319
|
+
},
|
|
320
|
+
description: {
|
|
321
|
+
type: "string"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
required: [
|
|
325
|
+
"type",
|
|
326
|
+
"description"
|
|
327
|
+
]
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
output: {
|
|
332
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
333
|
+
},
|
|
334
|
+
description: "Run interface agent.\n\nExecutes the Interface agent to design and generate API interfaces. This\nagent creates OpenAPI schemas and TypeScript/NestJS code based on the\nrequirements specification and ERD documentation from previous agents.\n\nThe agent follows a sophisticated pipeline: first constructing formal\nOpenAPI Operation Schemas and JSON Schemas, then validating these schemas,\nand finally transforming them into NestJS controllers and DTOs. Each\ngenerated interface includes comprehensive JSDoc comments and undergoes\ninternal review for consistency.",
|
|
335
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
336
|
+
path: _path + ".instruction",
|
|
337
|
+
expected: "string",
|
|
338
|
+
value: input.instruction
|
|
339
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
340
|
+
if (false === __is(input)) {
|
|
341
|
+
errors = [];
|
|
342
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
343
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
344
|
+
path: _path + "",
|
|
345
|
+
expected: "__type",
|
|
346
|
+
value: input
|
|
347
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
348
|
+
path: _path + "",
|
|
349
|
+
expected: "__type",
|
|
350
|
+
value: input
|
|
351
|
+
}))(input, "$input", true);
|
|
352
|
+
const success = 0 === errors.length;
|
|
353
|
+
return success ? {
|
|
354
|
+
success,
|
|
355
|
+
data: input
|
|
356
|
+
} : {
|
|
357
|
+
success,
|
|
358
|
+
errors,
|
|
359
|
+
data: input
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
return {
|
|
363
|
+
success: true,
|
|
364
|
+
data: input
|
|
365
|
+
};
|
|
366
|
+
}; })()
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
name: "test",
|
|
370
|
+
parameters: {
|
|
371
|
+
type: "object",
|
|
372
|
+
properties: {
|
|
373
|
+
instruction: {
|
|
374
|
+
description: "Testing strategy instructions from user conversation.\n\nPass empty string \"\" if no test-specific instructions exist.",
|
|
375
|
+
type: "string"
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
required: [
|
|
379
|
+
"instruction"
|
|
380
|
+
],
|
|
381
|
+
additionalProperties: false,
|
|
382
|
+
$defs: {
|
|
383
|
+
IAutoBeFacadeApplicationResult: {
|
|
384
|
+
type: "object",
|
|
385
|
+
properties: {
|
|
386
|
+
type: {
|
|
387
|
+
type: "string",
|
|
388
|
+
"enum": [
|
|
389
|
+
"success",
|
|
390
|
+
"failure",
|
|
391
|
+
"exception",
|
|
392
|
+
"in-progress",
|
|
393
|
+
"prerequisites-not-satisfied"
|
|
394
|
+
]
|
|
395
|
+
},
|
|
396
|
+
description: {
|
|
397
|
+
type: "string"
|
|
398
|
+
}
|
|
399
|
+
},
|
|
400
|
+
required: [
|
|
401
|
+
"type",
|
|
402
|
+
"description"
|
|
403
|
+
]
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
output: {
|
|
408
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
409
|
+
},
|
|
410
|
+
description: "Run test program agent.\n\nExecutes the Test agent to generate comprehensive E2E test suites for all\n{@link interface API interfaces}. This agent synthesizes outputs from\nprevious agents to create tests that validate both individual endpoints and\ntheir interactions.\n\n**PREREQUISITE**: Only call this function after the {@link interface}\nfunction has been successfully executed and API interfaces have been\ngenerated. The Test agent requires the completed API interface definitions,\nOpenAPI schemas, and TypeScript code to generate appropriate test\nscenarios. Without completed interface design, this function should NOT be\ncalled.\n\nThe agent will analyze dependency relationships between API functions,\nstructure integrated test scenarios with correct execution sequences, and\nenhance pre-generated test scaffolds with business logic validation.\nTypeScript compiler validation and internal review ensure test quality and\noptimal coverage.",
|
|
411
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
412
|
+
path: _path + ".instruction",
|
|
413
|
+
expected: "string",
|
|
414
|
+
value: input.instruction
|
|
415
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
416
|
+
if (false === __is(input)) {
|
|
417
|
+
errors = [];
|
|
418
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
419
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
420
|
+
path: _path + "",
|
|
421
|
+
expected: "__type",
|
|
422
|
+
value: input
|
|
423
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
424
|
+
path: _path + "",
|
|
425
|
+
expected: "__type",
|
|
426
|
+
value: input
|
|
427
|
+
}))(input, "$input", true);
|
|
428
|
+
const success = 0 === errors.length;
|
|
429
|
+
return success ? {
|
|
430
|
+
success,
|
|
431
|
+
data: input
|
|
432
|
+
} : {
|
|
433
|
+
success,
|
|
434
|
+
errors,
|
|
435
|
+
data: input
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
return {
|
|
439
|
+
success: true,
|
|
440
|
+
data: input
|
|
441
|
+
};
|
|
442
|
+
}; })()
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
name: "realize",
|
|
446
|
+
parameters: {
|
|
447
|
+
type: "object",
|
|
448
|
+
properties: {
|
|
449
|
+
instruction: {
|
|
450
|
+
description: "Implementation instructions from user conversation.\n\nPass empty string \"\" if no implementation-specific instructions exist.",
|
|
451
|
+
type: "string"
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
required: [
|
|
455
|
+
"instruction"
|
|
456
|
+
],
|
|
457
|
+
additionalProperties: false,
|
|
458
|
+
$defs: {
|
|
459
|
+
IAutoBeFacadeApplicationResult: {
|
|
460
|
+
type: "object",
|
|
461
|
+
properties: {
|
|
462
|
+
type: {
|
|
463
|
+
type: "string",
|
|
464
|
+
"enum": [
|
|
465
|
+
"success",
|
|
466
|
+
"failure",
|
|
467
|
+
"exception",
|
|
468
|
+
"in-progress",
|
|
469
|
+
"prerequisites-not-satisfied"
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
description: {
|
|
473
|
+
type: "string"
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
required: [
|
|
477
|
+
"type",
|
|
478
|
+
"description"
|
|
479
|
+
]
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
},
|
|
483
|
+
output: {
|
|
484
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
485
|
+
},
|
|
486
|
+
description: "Run realize agent.\n\nExecutes the Realize agent to implement the actual business logic for each\nAPI endpoint. This agent synthesizes all outputs from previous agents to\ngenerate fully functional service provider code.\n\n**PREREQUISITE**: Only call this function after the {@link interface}\nfunction has been successfully executed and API interfaces have been\ngenerated. The Realize agent requires the completed API interface\ndefinitions to implement the corresponding service logic. It also benefits\nfrom having test code available for validation. Without completed interface\ndesign, this function should NOT be called.\n\nThe agent will create service implementations with multiple validation\nlayers: TypeScript compiler feedback, runtime validation through test\nexecution, and quality optimization through internal review. The generated\ncode handles database interactions through Prisma, implements security and\nvalidation checks, and processes business rules according to\nspecifications.",
|
|
487
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
488
|
+
path: _path + ".instruction",
|
|
489
|
+
expected: "string",
|
|
490
|
+
value: input.instruction
|
|
491
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
492
|
+
if (false === __is(input)) {
|
|
493
|
+
errors = [];
|
|
494
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
495
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
496
|
+
path: _path + "",
|
|
497
|
+
expected: "__type",
|
|
498
|
+
value: input
|
|
499
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
500
|
+
path: _path + "",
|
|
501
|
+
expected: "__type",
|
|
502
|
+
value: input
|
|
503
|
+
}))(input, "$input", true);
|
|
504
|
+
const success = 0 === errors.length;
|
|
505
|
+
return success ? {
|
|
506
|
+
success,
|
|
507
|
+
data: input
|
|
508
|
+
} : {
|
|
509
|
+
success,
|
|
510
|
+
errors,
|
|
511
|
+
data: input
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
return {
|
|
515
|
+
success: true,
|
|
516
|
+
data: input
|
|
517
|
+
};
|
|
518
|
+
}; })()
|
|
519
|
+
}
|
|
520
|
+
]
|
|
151
521
|
},
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
522
|
+
claude: {
|
|
523
|
+
model: "claude",
|
|
524
|
+
options: {
|
|
525
|
+
reference: true,
|
|
526
|
+
separate: null
|
|
527
|
+
},
|
|
528
|
+
functions: [
|
|
529
|
+
{
|
|
530
|
+
name: "analyze",
|
|
531
|
+
parameters: {
|
|
532
|
+
type: "object",
|
|
533
|
+
properties: {},
|
|
534
|
+
additionalProperties: false,
|
|
535
|
+
required: [],
|
|
536
|
+
$defs: {
|
|
537
|
+
IAutoBeFacadeApplicationResult: {
|
|
538
|
+
type: "object",
|
|
539
|
+
properties: {
|
|
540
|
+
type: {
|
|
541
|
+
oneOf: [
|
|
542
|
+
{
|
|
543
|
+
"const": "success"
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"const": "failure"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"const": "exception"
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"const": "in-progress"
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
"const": "prerequisites-not-satisfied"
|
|
556
|
+
}
|
|
557
|
+
]
|
|
558
|
+
},
|
|
559
|
+
description: {
|
|
560
|
+
type: "string"
|
|
561
|
+
}
|
|
182
562
|
},
|
|
183
|
-
|
|
184
|
-
type
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
563
|
+
required: [
|
|
564
|
+
"type",
|
|
565
|
+
"description"
|
|
566
|
+
]
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
},
|
|
570
|
+
output: {
|
|
571
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
572
|
+
},
|
|
573
|
+
description: "Run Analyze Agent.\n\nExecutes the Analyze agent to process user requirements and generate a\nstructured specification document. This agent analyzes all conversation\nhistory between users and AI, separates business logic from technical\nrequirements, and establishes development priorities and scope.\n\n**IMPORTANT**: Only call this function when sufficient requirements have\nbeen discussed to generate a comprehensive specification. The context must\ncontain enough detail about the system's purpose, core features, data\nmodels, and business rules. If requirements are unclear or incomplete,\ncontinue gathering information through conversation instead.\n\nThe agent will automatically generate follow-up questions for any ambiguous\nrequirements and continuously refine its understanding through iterative\nconversation. When executed after other agents have generated code, it can\nalso interpret change requests in the context of existing implementations.",
|
|
574
|
+
validate: (() => { const __is = input => true; let errors; let _report; return input => {
|
|
575
|
+
if (false === __is(input)) {
|
|
576
|
+
errors = [];
|
|
577
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
578
|
+
((input, _path, _exceptionable = true) => true)(input, "$input", true);
|
|
579
|
+
const success = 0 === errors.length;
|
|
580
|
+
return success ? {
|
|
581
|
+
success,
|
|
582
|
+
data: input
|
|
583
|
+
} : {
|
|
584
|
+
success,
|
|
585
|
+
errors,
|
|
586
|
+
data: input
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
return {
|
|
590
|
+
success: true,
|
|
591
|
+
data: input
|
|
592
|
+
};
|
|
593
|
+
}; })()
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
name: "prisma",
|
|
597
|
+
parameters: {
|
|
598
|
+
type: "object",
|
|
599
|
+
properties: {
|
|
600
|
+
instruction: {
|
|
601
|
+
description: "Database design instructions from user conversation.\n\nPass empty string \"\" if no database-specific instructions exist.",
|
|
602
|
+
type: "string"
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
required: [
|
|
606
|
+
"instruction"
|
|
607
|
+
],
|
|
608
|
+
additionalProperties: false,
|
|
609
|
+
$defs: {
|
|
610
|
+
IAutoBeFacadeApplicationResult: {
|
|
611
|
+
type: "object",
|
|
612
|
+
properties: {
|
|
613
|
+
type: {
|
|
614
|
+
oneOf: [
|
|
615
|
+
{
|
|
616
|
+
"const": "success"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"const": "failure"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"const": "exception"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"const": "in-progress"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"const": "prerequisites-not-satisfied"
|
|
629
|
+
}
|
|
630
|
+
]
|
|
631
|
+
},
|
|
632
|
+
description: {
|
|
633
|
+
type: "string"
|
|
634
|
+
}
|
|
635
|
+
},
|
|
636
|
+
required: [
|
|
637
|
+
"type",
|
|
638
|
+
"description"
|
|
639
|
+
]
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
},
|
|
643
|
+
output: {
|
|
644
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
645
|
+
},
|
|
646
|
+
description: "Run prisma agent.\n\nExecutes the Prisma agent to generate database schema files and ERD\ndocumentation. This agent reads the requirements specification created by\nthe {@link analyze Analyze agent} and produces a complete Prisma schema with\ncomprehensive documentation for each entity and attribute.\n\n**PREREQUISITE**: Only call this function after the {@link analyze} function\nhas been successfully executed and a requirements specification document\nhas been generated. The Prisma agent depends on the structured requirements\nanalysis to design the database schema properly. Without a completed\nrequirements specification, this function should NOT be called.\n\nThe agent will automatically validate the generated schema using the Prisma\ncompiler, self-correct any compilation errors through feedback loops, and\ngenerate ERD documentation using prisma-markdown. An internal review\nprocess ensures schema quality and optimization.",
|
|
647
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
648
|
+
path: _path + ".instruction",
|
|
649
|
+
expected: "string",
|
|
650
|
+
value: input.instruction
|
|
651
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
652
|
+
if (false === __is(input)) {
|
|
653
|
+
errors = [];
|
|
654
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
655
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
656
|
+
path: _path + "",
|
|
657
|
+
expected: "__type",
|
|
658
|
+
value: input
|
|
659
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
660
|
+
path: _path + "",
|
|
661
|
+
expected: "__type",
|
|
662
|
+
value: input
|
|
663
|
+
}))(input, "$input", true);
|
|
664
|
+
const success = 0 === errors.length;
|
|
665
|
+
return success ? {
|
|
666
|
+
success,
|
|
667
|
+
data: input
|
|
668
|
+
} : {
|
|
669
|
+
success,
|
|
670
|
+
errors,
|
|
671
|
+
data: input
|
|
672
|
+
};
|
|
191
673
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
output: {
|
|
195
|
-
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
196
|
-
},
|
|
197
|
-
description: "Run Analyze Agent.\n\nExecutes the Analyze agent to process user requirements and generate a\nstructured specification document. This agent analyzes all conversation\nhistory between users and AI, separates business logic from technical\nrequirements, and establishes development priorities and scope.\n\n**IMPORTANT**: Only call this function when sufficient requirements have\nbeen discussed to generate a comprehensive specification. The context must\ncontain enough detail about the system's purpose, core features, data\nmodels, and business rules. If requirements are unclear or incomplete,\ncontinue gathering information through conversation instead.\n\nThe agent will automatically generate follow-up questions for any ambiguous\nrequirements and continuously refine its understanding through iterative\nconversation. When executed after other agents have generated code, it can\nalso interpret change requests in the context of existing implementations.",
|
|
198
|
-
validate: (() => { const __is = input => true; let errors; let _report; return input => {
|
|
199
|
-
if (false === __is(input)) {
|
|
200
|
-
errors = [];
|
|
201
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
202
|
-
((input, _path, _exceptionable = true) => true)(input, "$input", true);
|
|
203
|
-
const success = 0 === errors.length;
|
|
204
|
-
return success ? {
|
|
205
|
-
success,
|
|
206
|
-
data: input
|
|
207
|
-
} : {
|
|
208
|
-
success,
|
|
209
|
-
errors,
|
|
674
|
+
return {
|
|
675
|
+
success: true,
|
|
210
676
|
data: input
|
|
211
677
|
};
|
|
212
|
-
}
|
|
213
|
-
return {
|
|
214
|
-
success: true,
|
|
215
|
-
data: input
|
|
216
|
-
};
|
|
217
|
-
}; })()
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
name: "prisma",
|
|
221
|
-
parameters: {
|
|
222
|
-
type: "object",
|
|
223
|
-
properties: {
|
|
224
|
-
instruction: {
|
|
225
|
-
description: "Database design instructions from user conversation.\n\nPass empty string \"\" if no database-specific instructions exist.",
|
|
226
|
-
type: "string"
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
required: [
|
|
230
|
-
"instruction"
|
|
231
|
-
],
|
|
232
|
-
additionalProperties: false,
|
|
233
|
-
$defs: {
|
|
234
|
-
IAutoBeFacadeApplicationResult: {
|
|
235
|
-
type: "object",
|
|
236
|
-
properties: {
|
|
237
|
-
type: {
|
|
238
|
-
oneOf: [
|
|
239
|
-
{
|
|
240
|
-
"const": "success"
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
"const": "failure"
|
|
244
|
-
},
|
|
245
|
-
{
|
|
246
|
-
"const": "exception"
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
"const": "in-progress"
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
"const": "prerequisites-not-satisfied"
|
|
253
|
-
}
|
|
254
|
-
]
|
|
255
|
-
},
|
|
256
|
-
description: {
|
|
257
|
-
type: "string"
|
|
258
|
-
}
|
|
259
|
-
},
|
|
260
|
-
required: [
|
|
261
|
-
"type",
|
|
262
|
-
"description"
|
|
263
|
-
]
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
},
|
|
267
|
-
output: {
|
|
268
|
-
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
678
|
+
}; })()
|
|
269
679
|
},
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
680
|
+
{
|
|
681
|
+
name: "interface",
|
|
682
|
+
parameters: {
|
|
683
|
+
type: "object",
|
|
684
|
+
properties: {
|
|
685
|
+
instruction: {
|
|
686
|
+
description: "API design instructions from user conversation.\n\nPass empty string \"\" if no API-specific instructions exist.",
|
|
687
|
+
type: "string"
|
|
688
|
+
}
|
|
689
|
+
},
|
|
690
|
+
required: [
|
|
691
|
+
"instruction"
|
|
692
|
+
],
|
|
693
|
+
additionalProperties: false,
|
|
694
|
+
$defs: {
|
|
695
|
+
IAutoBeFacadeApplicationResult: {
|
|
696
|
+
type: "object",
|
|
697
|
+
properties: {
|
|
698
|
+
type: {
|
|
699
|
+
oneOf: [
|
|
700
|
+
{
|
|
701
|
+
"const": "success"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"const": "failure"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"const": "exception"
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
"const": "in-progress"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"const": "prerequisites-not-satisfied"
|
|
714
|
+
}
|
|
715
|
+
]
|
|
716
|
+
},
|
|
717
|
+
description: {
|
|
718
|
+
type: "string"
|
|
719
|
+
}
|
|
720
|
+
},
|
|
721
|
+
required: [
|
|
722
|
+
"type",
|
|
723
|
+
"description"
|
|
724
|
+
]
|
|
725
|
+
}
|
|
312
726
|
}
|
|
313
727
|
},
|
|
314
|
-
|
|
315
|
-
"
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
},
|
|
345
|
-
required: [
|
|
346
|
-
"type",
|
|
347
|
-
"description"
|
|
348
|
-
]
|
|
728
|
+
output: {
|
|
729
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
730
|
+
},
|
|
731
|
+
description: "Run interface agent.\n\nExecutes the Interface agent to design and generate API interfaces. This\nagent creates OpenAPI schemas and TypeScript/NestJS code based on the\nrequirements specification and ERD documentation from previous agents.\n\nThe agent follows a sophisticated pipeline: first constructing formal\nOpenAPI Operation Schemas and JSON Schemas, then validating these schemas,\nand finally transforming them into NestJS controllers and DTOs. Each\ngenerated interface includes comprehensive JSDoc comments and undergoes\ninternal review for consistency.",
|
|
732
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
733
|
+
path: _path + ".instruction",
|
|
734
|
+
expected: "string",
|
|
735
|
+
value: input.instruction
|
|
736
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
737
|
+
if (false === __is(input)) {
|
|
738
|
+
errors = [];
|
|
739
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
740
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
741
|
+
path: _path + "",
|
|
742
|
+
expected: "__type",
|
|
743
|
+
value: input
|
|
744
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
745
|
+
path: _path + "",
|
|
746
|
+
expected: "__type",
|
|
747
|
+
value: input
|
|
748
|
+
}))(input, "$input", true);
|
|
749
|
+
const success = 0 === errors.length;
|
|
750
|
+
return success ? {
|
|
751
|
+
success,
|
|
752
|
+
data: input
|
|
753
|
+
} : {
|
|
754
|
+
success,
|
|
755
|
+
errors,
|
|
756
|
+
data: input
|
|
757
|
+
};
|
|
349
758
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
output: {
|
|
353
|
-
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
354
|
-
},
|
|
355
|
-
description: "Run interface agent.\n\nExecutes the Interface agent to design and generate API interfaces. This\nagent creates OpenAPI schemas and TypeScript/NestJS code based on the\nrequirements specification and ERD documentation from previous agents.\n\nThe agent follows a sophisticated pipeline: first constructing formal\nOpenAPI Operation Schemas and JSON Schemas, then validating these schemas,\nand finally transforming them into NestJS controllers and DTOs. Each\ngenerated interface includes comprehensive JSDoc comments and undergoes\ninternal review for consistency.",
|
|
356
|
-
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
357
|
-
path: _path + ".instruction",
|
|
358
|
-
expected: "string",
|
|
359
|
-
value: input.instruction
|
|
360
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
361
|
-
if (false === __is(input)) {
|
|
362
|
-
errors = [];
|
|
363
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
364
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
365
|
-
path: _path + "",
|
|
366
|
-
expected: "__type",
|
|
367
|
-
value: input
|
|
368
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
369
|
-
path: _path + "",
|
|
370
|
-
expected: "__type",
|
|
371
|
-
value: input
|
|
372
|
-
}))(input, "$input", true);
|
|
373
|
-
const success = 0 === errors.length;
|
|
374
|
-
return success ? {
|
|
375
|
-
success,
|
|
376
|
-
data: input
|
|
377
|
-
} : {
|
|
378
|
-
success,
|
|
379
|
-
errors,
|
|
759
|
+
return {
|
|
760
|
+
success: true,
|
|
380
761
|
data: input
|
|
381
762
|
};
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
763
|
+
}; })()
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
name: "test",
|
|
767
|
+
parameters: {
|
|
768
|
+
type: "object",
|
|
769
|
+
properties: {
|
|
770
|
+
instruction: {
|
|
771
|
+
description: "Testing strategy instructions from user conversation.\n\nPass empty string \"\" if no test-specific instructions exist.",
|
|
772
|
+
type: "string"
|
|
773
|
+
}
|
|
774
|
+
},
|
|
775
|
+
required: [
|
|
776
|
+
"instruction"
|
|
777
|
+
],
|
|
778
|
+
additionalProperties: false,
|
|
779
|
+
$defs: {
|
|
780
|
+
IAutoBeFacadeApplicationResult: {
|
|
781
|
+
type: "object",
|
|
782
|
+
properties: {
|
|
783
|
+
type: {
|
|
784
|
+
oneOf: [
|
|
785
|
+
{
|
|
786
|
+
"const": "success"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"const": "failure"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"const": "exception"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"const": "in-progress"
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"const": "prerequisites-not-satisfied"
|
|
799
|
+
}
|
|
800
|
+
]
|
|
801
|
+
},
|
|
802
|
+
description: {
|
|
803
|
+
type: "string"
|
|
804
|
+
}
|
|
805
|
+
},
|
|
806
|
+
required: [
|
|
807
|
+
"type",
|
|
808
|
+
"description"
|
|
809
|
+
]
|
|
810
|
+
}
|
|
397
811
|
}
|
|
398
812
|
},
|
|
399
|
-
|
|
400
|
-
"
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
},
|
|
430
|
-
required: [
|
|
431
|
-
"type",
|
|
432
|
-
"description"
|
|
433
|
-
]
|
|
813
|
+
output: {
|
|
814
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
815
|
+
},
|
|
816
|
+
description: "Run test program agent.\n\nExecutes the Test agent to generate comprehensive E2E test suites for all\n{@link interface API interfaces}. This agent synthesizes outputs from\nprevious agents to create tests that validate both individual endpoints and\ntheir interactions.\n\n**PREREQUISITE**: Only call this function after the {@link interface}\nfunction has been successfully executed and API interfaces have been\ngenerated. The Test agent requires the completed API interface definitions,\nOpenAPI schemas, and TypeScript code to generate appropriate test\nscenarios. Without completed interface design, this function should NOT be\ncalled.\n\nThe agent will analyze dependency relationships between API functions,\nstructure integrated test scenarios with correct execution sequences, and\nenhance pre-generated test scaffolds with business logic validation.\nTypeScript compiler validation and internal review ensure test quality and\noptimal coverage.",
|
|
817
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
818
|
+
path: _path + ".instruction",
|
|
819
|
+
expected: "string",
|
|
820
|
+
value: input.instruction
|
|
821
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
822
|
+
if (false === __is(input)) {
|
|
823
|
+
errors = [];
|
|
824
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
825
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
826
|
+
path: _path + "",
|
|
827
|
+
expected: "__type",
|
|
828
|
+
value: input
|
|
829
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
830
|
+
path: _path + "",
|
|
831
|
+
expected: "__type",
|
|
832
|
+
value: input
|
|
833
|
+
}))(input, "$input", true);
|
|
834
|
+
const success = 0 === errors.length;
|
|
835
|
+
return success ? {
|
|
836
|
+
success,
|
|
837
|
+
data: input
|
|
838
|
+
} : {
|
|
839
|
+
success,
|
|
840
|
+
errors,
|
|
841
|
+
data: input
|
|
842
|
+
};
|
|
434
843
|
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
output: {
|
|
438
|
-
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
439
|
-
},
|
|
440
|
-
description: "Run test program agent.\n\nExecutes the Test agent to generate comprehensive E2E test suites for all\n{@link interface API interfaces}. This agent synthesizes outputs from\nprevious agents to create tests that validate both individual endpoints and\ntheir interactions.\n\n**PREREQUISITE**: Only call this function after the {@link interface}\nfunction has been successfully executed and API interfaces have been\ngenerated. The Test agent requires the completed API interface definitions,\nOpenAPI schemas, and TypeScript code to generate appropriate test\nscenarios. Without completed interface design, this function should NOT be\ncalled.\n\nThe agent will analyze dependency relationships between API functions,\nstructure integrated test scenarios with correct execution sequences, and\nenhance pre-generated test scaffolds with business logic validation.\nTypeScript compiler validation and internal review ensure test quality and\noptimal coverage.",
|
|
441
|
-
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
442
|
-
path: _path + ".instruction",
|
|
443
|
-
expected: "string",
|
|
444
|
-
value: input.instruction
|
|
445
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
446
|
-
if (false === __is(input)) {
|
|
447
|
-
errors = [];
|
|
448
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
449
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
450
|
-
path: _path + "",
|
|
451
|
-
expected: "__type",
|
|
452
|
-
value: input
|
|
453
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
454
|
-
path: _path + "",
|
|
455
|
-
expected: "__type",
|
|
456
|
-
value: input
|
|
457
|
-
}))(input, "$input", true);
|
|
458
|
-
const success = 0 === errors.length;
|
|
459
|
-
return success ? {
|
|
460
|
-
success,
|
|
461
|
-
data: input
|
|
462
|
-
} : {
|
|
463
|
-
success,
|
|
464
|
-
errors,
|
|
844
|
+
return {
|
|
845
|
+
success: true,
|
|
465
846
|
data: input
|
|
466
847
|
};
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
848
|
+
}; })()
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
name: "realize",
|
|
852
|
+
parameters: {
|
|
853
|
+
type: "object",
|
|
854
|
+
properties: {
|
|
855
|
+
instruction: {
|
|
856
|
+
description: "Implementation instructions from user conversation.\n\nPass empty string \"\" if no implementation-specific instructions exist.",
|
|
857
|
+
type: "string"
|
|
858
|
+
}
|
|
859
|
+
},
|
|
860
|
+
required: [
|
|
861
|
+
"instruction"
|
|
862
|
+
],
|
|
863
|
+
additionalProperties: false,
|
|
864
|
+
$defs: {
|
|
865
|
+
IAutoBeFacadeApplicationResult: {
|
|
866
|
+
type: "object",
|
|
867
|
+
properties: {
|
|
868
|
+
type: {
|
|
869
|
+
oneOf: [
|
|
870
|
+
{
|
|
871
|
+
"const": "success"
|
|
872
|
+
},
|
|
873
|
+
{
|
|
874
|
+
"const": "failure"
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"const": "exception"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"const": "in-progress"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"const": "prerequisites-not-satisfied"
|
|
884
|
+
}
|
|
885
|
+
]
|
|
886
|
+
},
|
|
887
|
+
description: {
|
|
888
|
+
type: "string"
|
|
889
|
+
}
|
|
890
|
+
},
|
|
891
|
+
required: [
|
|
892
|
+
"type",
|
|
893
|
+
"description"
|
|
894
|
+
]
|
|
895
|
+
}
|
|
482
896
|
}
|
|
483
897
|
},
|
|
484
|
-
|
|
485
|
-
"
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
},
|
|
515
|
-
required: [
|
|
516
|
-
"type",
|
|
517
|
-
"description"
|
|
518
|
-
]
|
|
898
|
+
output: {
|
|
899
|
+
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
900
|
+
},
|
|
901
|
+
description: "Run realize agent.\n\nExecutes the Realize agent to implement the actual business logic for each\nAPI endpoint. This agent synthesizes all outputs from previous agents to\ngenerate fully functional service provider code.\n\n**PREREQUISITE**: Only call this function after the {@link interface}\nfunction has been successfully executed and API interfaces have been\ngenerated. The Realize agent requires the completed API interface\ndefinitions to implement the corresponding service logic. It also benefits\nfrom having test code available for validation. Without completed interface\ndesign, this function should NOT be called.\n\nThe agent will create service implementations with multiple validation\nlayers: TypeScript compiler feedback, runtime validation through test\nexecution, and quality optimization through internal review. The generated\ncode handles database interactions through Prisma, implements security and\nvalidation checks, and processes business rules according to\nspecifications.",
|
|
902
|
+
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
903
|
+
path: _path + ".instruction",
|
|
904
|
+
expected: "string",
|
|
905
|
+
value: input.instruction
|
|
906
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
907
|
+
if (false === __is(input)) {
|
|
908
|
+
errors = [];
|
|
909
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
910
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
911
|
+
path: _path + "",
|
|
912
|
+
expected: "__type",
|
|
913
|
+
value: input
|
|
914
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
915
|
+
path: _path + "",
|
|
916
|
+
expected: "__type",
|
|
917
|
+
value: input
|
|
918
|
+
}))(input, "$input", true);
|
|
919
|
+
const success = 0 === errors.length;
|
|
920
|
+
return success ? {
|
|
921
|
+
success,
|
|
922
|
+
data: input
|
|
923
|
+
} : {
|
|
924
|
+
success,
|
|
925
|
+
errors,
|
|
926
|
+
data: input
|
|
927
|
+
};
|
|
519
928
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
output: {
|
|
523
|
-
$ref: "#/$defs/IAutoBeFacadeApplicationResult"
|
|
524
|
-
},
|
|
525
|
-
description: "Run realize agent.\n\nExecutes the Realize agent to implement the actual business logic for each\nAPI endpoint. This agent synthesizes all outputs from previous agents to\ngenerate fully functional service provider code.\n\n**PREREQUISITE**: Only call this function after the {@link interface}\nfunction has been successfully executed and API interfaces have been\ngenerated. The Realize agent requires the completed API interface\ndefinitions to implement the corresponding service logic. It also benefits\nfrom having test code available for validation. Without completed interface\ndesign, this function should NOT be called.\n\nThe agent will create service implementations with multiple validation\nlayers: TypeScript compiler feedback, runtime validation through test\nexecution, and quality optimization through internal review. The generated\ncode handles database interactions through Prisma, implements security and\nvalidation checks, and processes business rules according to\nspecifications.",
|
|
526
|
-
validate: (() => { const _io0 = input => "string" === typeof input.instruction; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.instruction || _report(_exceptionable, {
|
|
527
|
-
path: _path + ".instruction",
|
|
528
|
-
expected: "string",
|
|
529
|
-
value: input.instruction
|
|
530
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
531
|
-
if (false === __is(input)) {
|
|
532
|
-
errors = [];
|
|
533
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
534
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
535
|
-
path: _path + "",
|
|
536
|
-
expected: "__type",
|
|
537
|
-
value: input
|
|
538
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
539
|
-
path: _path + "",
|
|
540
|
-
expected: "__type",
|
|
541
|
-
value: input
|
|
542
|
-
}))(input, "$input", true);
|
|
543
|
-
const success = 0 === errors.length;
|
|
544
|
-
return success ? {
|
|
545
|
-
success,
|
|
546
|
-
data: input
|
|
547
|
-
} : {
|
|
548
|
-
success,
|
|
549
|
-
errors,
|
|
929
|
+
return {
|
|
930
|
+
success: true,
|
|
550
931
|
data: input
|
|
551
932
|
};
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
}
|
|
559
|
-
]
|
|
560
|
-
};
|
|
561
|
-
const collection = {
|
|
562
|
-
chatgpt: {
|
|
563
|
-
model: "chatgpt",
|
|
933
|
+
}; })()
|
|
934
|
+
}
|
|
935
|
+
]
|
|
936
|
+
},
|
|
937
|
+
gemini: {
|
|
938
|
+
model: "gemini",
|
|
564
939
|
options: {
|
|
565
940
|
reference: true,
|
|
566
|
-
strict: false,
|
|
567
941
|
separate: null
|
|
568
942
|
},
|
|
569
943
|
functions: [
|
|
@@ -930,9 +1304,5 @@ const collection = {
|
|
|
930
1304
|
}
|
|
931
1305
|
]
|
|
932
1306
|
},
|
|
933
|
-
claude,
|
|
934
|
-
llama: claude,
|
|
935
|
-
deepseek: claude,
|
|
936
|
-
"3.1": claude,
|
|
937
1307
|
};
|
|
938
1308
|
//# sourceMappingURL=createAutoBeFacadeController.js.map
|