@autobe/agent 0.9.1 → 0.10.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/AutoBeAgent.js +16 -5
- package/lib/AutoBeAgent.js.map +1 -1
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +6 -4
- package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
- package/lib/context/AutoBeTokenUsage.d.ts +15 -1
- package/lib/context/AutoBeTokenUsage.js +56 -1
- package/lib/context/AutoBeTokenUsage.js.map +1 -1
- package/lib/context/IAutoBeApplicationProps.d.ts +0 -61
- package/lib/factory/createAutoBeApplication.js +298 -773
- package/lib/factory/createAutoBeApplication.js.map +1 -1
- package/lib/index.mjs +5116 -7271
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js +82 -319
- package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js.map +1 -1
- package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js +0 -1
- package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js.map +1 -1
- package/lib/orchestrate/analyze/orchestrateAnalyze.js +97 -294
- package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
- package/lib/orchestrate/facade/transformFacadeStateMessage.js +2 -2
- package/lib/orchestrate/facade/transformFacadeStateMessage.js.map +1 -1
- package/lib/orchestrate/index.d.ts +2 -2
- package/lib/orchestrate/index.js +4 -4
- package/lib/orchestrate/index.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterface.js +9 -3
- package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +56 -142
- package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceComponents.js +195 -199
- package/lib/orchestrate/interface/orchestrateInterfaceComponents.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +75 -172
- package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +772 -1097
- package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
- package/lib/orchestrate/interface/transformInterfaceHistories.js +2 -0
- package/lib/orchestrate/interface/transformInterfaceHistories.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js +64 -175
- package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +552 -1073
- package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js +571 -1119
- package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +1 -1
- package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js +9 -0
- package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js.map +1 -1
- package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js +8 -0
- package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js.map +1 -1
- package/lib/orchestrate/realize/orchestrateRealize.d.ts +11 -0
- package/lib/orchestrate/realize/orchestrateRealize.js +109 -0
- package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealizeCoder.d.ts +25 -0
- package/lib/orchestrate/realize/orchestrateRealizeCoder.js +337 -0
- package/lib/orchestrate/realize/orchestrateRealizeCoder.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealizeIntegrator.d.ts +52 -0
- package/lib/orchestrate/realize/orchestrateRealizeIntegrator.js +57 -0
- package/lib/orchestrate/realize/orchestrateRealizeIntegrator.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealizePlanner.d.ts +80 -0
- package/lib/orchestrate/realize/orchestrateRealizePlanner.js +53 -0
- package/lib/orchestrate/realize/orchestrateRealizePlanner.js.map +1 -0
- package/lib/orchestrate/realize/orchestrateRealizeValidator.d.ts +46 -0
- package/lib/orchestrate/realize/orchestrateRealizeValidator.js +37 -0
- package/lib/orchestrate/realize/orchestrateRealizeValidator.js.map +1 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +33 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.js +3 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.js.map +1 -0
- package/lib/orchestrate/realize/transformRealizeCoderHistories.d.ts +5 -0
- package/lib/orchestrate/realize/transformRealizeCoderHistories.js +127 -0
- package/lib/orchestrate/realize/transformRealizeCoderHistories.js.map +1 -0
- package/lib/orchestrate/test/compile/completeTestCode.d.ts +2 -0
- package/lib/orchestrate/test/compile/completeTestCode.js +21 -0
- package/lib/orchestrate/test/compile/completeTestCode.js.map +1 -0
- package/lib/orchestrate/test/{filterTestFileName.js → compile/filterTestFileName.js} +1 -1
- package/lib/orchestrate/test/compile/filterTestFileName.js.map +1 -0
- package/lib/orchestrate/test/compile/getTestExternalDeclarations.d.ts +3 -0
- package/lib/orchestrate/test/compile/getTestExternalDeclarations.js +27 -0
- package/lib/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -0
- package/lib/orchestrate/test/compile/getTestScenarioArtifacts.d.ts +5 -0
- package/lib/orchestrate/test/{compileTestScenario.js → compile/getTestScenarioArtifacts.js} +11 -5
- package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -0
- package/lib/orchestrate/test/orchestrateTest.js +14 -9
- package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestCorrect.d.ts +3 -2
- package/lib/orchestrate/test/orchestrateTestCorrect.js +150 -349
- package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestScenario.js +323 -566
- package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
- package/lib/orchestrate/test/orchestrateTestWrite.d.ts +3 -2
- package/lib/orchestrate/test/orchestrateTestWrite.js +139 -76
- package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.d.ts +121 -0
- package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.js +3 -0
- package/lib/orchestrate/test/structures/IAutoBeTestCorrectApplication.js.map +1 -0
- package/lib/orchestrate/test/structures/IAutoBeTestFunction.d.ts +8 -0
- package/lib/{utils/types/BackoffOptions.js → orchestrate/test/structures/IAutoBeTestFunction.js} +1 -1
- package/lib/orchestrate/test/structures/IAutoBeTestFunction.js.map +1 -0
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +32 -22
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.d.ts +2 -0
- package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.d.ts +112 -0
- package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.js +3 -0
- package/lib/orchestrate/test/structures/IAutoBeTestWriteApplication.js.map +1 -0
- package/lib/orchestrate/test/structures/IAutoBeTestWriteResult.d.ts +7 -0
- package/lib/orchestrate/test/structures/IAutoBeTestWriteResult.js +3 -0
- package/lib/orchestrate/test/structures/IAutoBeTestWriteResult.js.map +1 -0
- package/lib/orchestrate/test/transformTestCorrectHistories.d.ts +3 -2
- package/lib/orchestrate/test/transformTestCorrectHistories.js +28 -41
- package/lib/orchestrate/test/transformTestCorrectHistories.js.map +1 -1
- package/lib/orchestrate/test/transformTestWriteHistories.d.ts +5 -4
- package/lib/orchestrate/test/transformTestWriteHistories.js +169 -32
- package/lib/orchestrate/test/transformTestWriteHistories.js.map +1 -1
- package/lib/structures/IAutoBeConfig.d.ts +11 -0
- package/lib/structures/IAutoBeProps.d.ts +12 -1
- package/lib/utils/backoffRetry.d.ts +4 -7
- package/lib/utils/backoffRetry.js +19 -37
- package/lib/utils/backoffRetry.js.map +1 -1
- package/lib/utils/forceRetry.d.ts +1 -0
- package/lib/{orchestrate/orchestrateRealize.js → utils/forceRetry.js} +15 -8
- package/lib/utils/forceRetry.js.map +1 -0
- package/package.json +8 -8
- package/src/AutoBeAgent.ts +26 -4
- package/src/constants/AutoBeSystemPromptConstant.ts +6 -4
- package/src/context/AutoBeTokenUsage.ts +85 -1
- package/src/context/IAutoBeApplicationProps.ts +0 -62
- package/src/factory/createAutoBeApplication.ts +2 -3
- package/src/orchestrate/analyze/AutoBeAnalyzeAgent.ts +8 -3
- package/src/orchestrate/analyze/AutoBeAnalyzeReviewer.ts +0 -1
- package/src/orchestrate/analyze/orchestrateAnalyze.ts +8 -37
- package/src/orchestrate/facade/transformFacadeStateMessage.ts +2 -1
- package/src/orchestrate/index.ts +2 -2
- package/src/orchestrate/interface/orchestrateInterface.ts +7 -0
- package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +4 -3
- package/src/orchestrate/interface/orchestrateInterfaceComponents.ts +26 -23
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +6 -4
- package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +14 -11
- package/src/orchestrate/interface/transformInterfaceHistories.ts +2 -0
- package/src/orchestrate/prisma/orchestratePrismaComponent.ts +10 -5
- package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +11 -5
- package/src/orchestrate/prisma/orchestratePrismaSchema.ts +16 -8
- package/src/orchestrate/prisma/transformPrismaComponentsHistories.ts +9 -0
- package/src/orchestrate/prisma/transformPrismaSchemaHistories.ts +8 -0
- package/src/orchestrate/realize/orchestrateRealize.ts +169 -0
- package/src/orchestrate/realize/orchestrateRealizeCoder.ts +156 -0
- package/src/orchestrate/realize/orchestrateRealizeIntegrator.ts +75 -0
- package/src/orchestrate/realize/orchestrateRealizePlanner.ts +115 -0
- package/src/orchestrate/realize/orchestrateRealizeValidator.ts +64 -0
- package/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.ts +36 -0
- package/src/orchestrate/realize/transformRealizeCoderHistories.ts +136 -0
- package/src/orchestrate/test/compile/completeTestCode.ts +35 -0
- package/src/orchestrate/test/{filterTestFileName.ts → compile/filterTestFileName.ts} +1 -1
- package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +24 -0
- package/src/orchestrate/test/{compileTestScenario.ts → compile/getTestScenarioArtifacts.ts} +17 -8
- package/src/orchestrate/test/experimental/orchestrateTestCorrect.ast +240 -0
- package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +316 -0
- package/src/orchestrate/test/experimental/transformTestCorrectHistories.ast +52 -0
- package/src/orchestrate/test/orchestrateTest.ts +38 -16
- package/src/orchestrate/test/orchestrateTestCorrect.ts +111 -338
- package/src/orchestrate/test/orchestrateTestScenario.ts +114 -69
- package/src/orchestrate/test/orchestrateTestWrite.ts +55 -153
- package/src/orchestrate/test/structures/IAutoBeTestCorrectApplication.ts +126 -0
- package/src/orchestrate/test/structures/IAutoBeTestFunction.ts +10 -0
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +32 -22
- package/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.ts +3 -0
- package/src/orchestrate/test/structures/IAutoBeTestWriteApplication.ts +117 -0
- package/src/orchestrate/test/structures/IAutoBeTestWriteResult.ts +9 -0
- package/src/orchestrate/test/transformTestCorrectHistories.ts +38 -43
- package/src/orchestrate/test/transformTestWriteHistories.ts +89 -35
- package/src/structures/IAutoBeConfig.ts +9 -0
- package/src/structures/IAutoBeProps.ts +17 -1
- package/src/utils/backoffRetry.ts +25 -36
- package/src/utils/forceRetry.ts +13 -0
- package/lib/factory/invertOpenApiDocument.d.ts +0 -3
- package/lib/factory/invertOpenApiDocument.js +0 -51
- package/lib/factory/invertOpenApiDocument.js.map +0 -1
- package/lib/orchestrate/orchestrateRealize.d.ts +0 -5
- package/lib/orchestrate/orchestrateRealize.js.map +0 -1
- package/lib/orchestrate/test/compileTestScenario.d.ts +0 -5
- package/lib/orchestrate/test/compileTestScenario.js.map +0 -1
- package/lib/orchestrate/test/filterTestFileName.js.map +0 -1
- package/lib/utils/StringUtil.d.ts +0 -4
- package/lib/utils/StringUtil.js +0 -43
- package/lib/utils/StringUtil.js.map +0 -1
- package/lib/utils/types/BackoffOptions.d.ts +0 -12
- package/lib/utils/types/BackoffOptions.js.map +0 -1
- package/src/factory/invertOpenApiDocument.ts +0 -63
- package/src/orchestrate/orchestrateRealize.ts +0 -18
- package/src/utils/StringUtil.ts +0 -45
- package/src/utils/types/BackoffOptions.ts +0 -15
- /package/lib/orchestrate/test/{filterTestFileName.d.ts → compile/filterTestFileName.d.ts} +0 -0
|
@@ -47,14 +47,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
48
|
exports.createAutoBeController = void 0;
|
|
49
49
|
const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
|
|
50
|
+
const utils_1 = require("@autobe/utils");
|
|
50
51
|
const typia_1 = __importDefault(require("typia"));
|
|
51
52
|
const assertSchemaModel_1 = require("../context/assertSchemaModel");
|
|
52
53
|
const orchestrateAnalyze_1 = require("../orchestrate/analyze/orchestrateAnalyze");
|
|
53
54
|
const orchestrateInterface_1 = require("../orchestrate/interface/orchestrateInterface");
|
|
54
|
-
const orchestrateRealize_1 = require("../orchestrate/orchestrateRealize");
|
|
55
55
|
const orchestratePrisma_1 = require("../orchestrate/prisma/orchestratePrisma");
|
|
56
|
+
const orchestrateRealize_1 = require("../orchestrate/realize/orchestrateRealize");
|
|
56
57
|
const orchestrateTest_1 = require("../orchestrate/test/orchestrateTest");
|
|
57
|
-
const StringUtil_1 = require("../utils/StringUtil");
|
|
58
58
|
const createAutoBeController = (props) => {
|
|
59
59
|
(0, assertSchemaModel_1.assertSchemaModel)(props.model);
|
|
60
60
|
const application = collection[props.model];
|
|
@@ -73,7 +73,7 @@ const createAutoBeController = (props) => {
|
|
|
73
73
|
else
|
|
74
74
|
return {
|
|
75
75
|
type: "in-progress",
|
|
76
|
-
description:
|
|
76
|
+
description: utils_1.StringUtil.trim `
|
|
77
77
|
Requirements are not yet fully elicited,
|
|
78
78
|
therefore additional questions will be made to the user.
|
|
79
79
|
`,
|
|
@@ -164,59 +164,54 @@ const claude = {
|
|
|
164
164
|
title: "The reason of the function call",
|
|
165
165
|
description: "The reason of the function call.",
|
|
166
166
|
type: "string"
|
|
167
|
-
},
|
|
168
|
-
userPlanningRequirements: {
|
|
169
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
170
|
-
type: "string"
|
|
171
167
|
}
|
|
172
168
|
},
|
|
173
169
|
required: [
|
|
174
170
|
"reason"
|
|
175
171
|
],
|
|
176
172
|
additionalProperties: false,
|
|
177
|
-
$defs: {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
173
|
+
$defs: {
|
|
174
|
+
IAutoBeApplicationResult: {
|
|
175
|
+
type: "object",
|
|
176
|
+
properties: {
|
|
177
|
+
type: {
|
|
178
|
+
oneOf: [
|
|
179
|
+
{
|
|
180
|
+
"const": "success"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"const": "failure"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"const": "exception"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"const": "in-progress"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"const": "prerequisites-not-satisfied"
|
|
193
|
+
}
|
|
194
|
+
]
|
|
193
195
|
},
|
|
194
|
-
{
|
|
195
|
-
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"const": "prerequisites-not-satisfied"
|
|
196
|
+
description: {
|
|
197
|
+
type: "string"
|
|
199
198
|
}
|
|
199
|
+
},
|
|
200
|
+
required: [
|
|
201
|
+
"type",
|
|
202
|
+
"description"
|
|
200
203
|
]
|
|
201
|
-
},
|
|
202
|
-
description: {
|
|
203
|
-
type: "string"
|
|
204
204
|
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
]
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
output: {
|
|
208
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
210
209
|
},
|
|
211
210
|
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.",
|
|
212
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
211
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
213
212
|
path: _path + ".reason",
|
|
214
213
|
expected: "string",
|
|
215
214
|
value: input.reason
|
|
216
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
217
|
-
path: _path + ".userPlanningRequirements",
|
|
218
|
-
expected: "(string | undefined)",
|
|
219
|
-
value: input.userPlanningRequirements
|
|
220
215
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
221
216
|
if (false === __is(input)) {
|
|
222
217
|
errors = [];
|
|
@@ -256,59 +251,54 @@ const claude = {
|
|
|
256
251
|
title: "The reason of the function call",
|
|
257
252
|
description: "The reason of the function call.",
|
|
258
253
|
type: "string"
|
|
259
|
-
},
|
|
260
|
-
userPlanningRequirements: {
|
|
261
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
262
|
-
type: "string"
|
|
263
254
|
}
|
|
264
255
|
},
|
|
265
256
|
required: [
|
|
266
257
|
"reason"
|
|
267
258
|
],
|
|
268
259
|
additionalProperties: false,
|
|
269
|
-
$defs: {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
260
|
+
$defs: {
|
|
261
|
+
IAutoBeApplicationResult: {
|
|
262
|
+
type: "object",
|
|
263
|
+
properties: {
|
|
264
|
+
type: {
|
|
265
|
+
oneOf: [
|
|
266
|
+
{
|
|
267
|
+
"const": "success"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"const": "failure"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"const": "exception"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"const": "in-progress"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"const": "prerequisites-not-satisfied"
|
|
280
|
+
}
|
|
281
|
+
]
|
|
288
282
|
},
|
|
289
|
-
{
|
|
290
|
-
|
|
283
|
+
description: {
|
|
284
|
+
type: "string"
|
|
291
285
|
}
|
|
286
|
+
},
|
|
287
|
+
required: [
|
|
288
|
+
"type",
|
|
289
|
+
"description"
|
|
292
290
|
]
|
|
293
|
-
},
|
|
294
|
-
description: {
|
|
295
|
-
type: "string"
|
|
296
291
|
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
]
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
output: {
|
|
295
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
302
296
|
},
|
|
303
297
|
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.",
|
|
304
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
298
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
305
299
|
path: _path + ".reason",
|
|
306
300
|
expected: "string",
|
|
307
301
|
value: input.reason
|
|
308
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
309
|
-
path: _path + ".userPlanningRequirements",
|
|
310
|
-
expected: "(string | undefined)",
|
|
311
|
-
value: input.userPlanningRequirements
|
|
312
302
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
313
303
|
if (false === __is(input)) {
|
|
314
304
|
errors = [];
|
|
@@ -348,59 +338,54 @@ const claude = {
|
|
|
348
338
|
title: "The reason of the function call",
|
|
349
339
|
description: "The reason of the function call.",
|
|
350
340
|
type: "string"
|
|
351
|
-
},
|
|
352
|
-
userPlanningRequirements: {
|
|
353
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
354
|
-
type: "string"
|
|
355
341
|
}
|
|
356
342
|
},
|
|
357
343
|
required: [
|
|
358
344
|
"reason"
|
|
359
345
|
],
|
|
360
346
|
additionalProperties: false,
|
|
361
|
-
$defs: {
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
347
|
+
$defs: {
|
|
348
|
+
IAutoBeApplicationResult: {
|
|
349
|
+
type: "object",
|
|
350
|
+
properties: {
|
|
351
|
+
type: {
|
|
352
|
+
oneOf: [
|
|
353
|
+
{
|
|
354
|
+
"const": "success"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"const": "failure"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"const": "exception"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"const": "in-progress"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"const": "prerequisites-not-satisfied"
|
|
367
|
+
}
|
|
368
|
+
]
|
|
380
369
|
},
|
|
381
|
-
{
|
|
382
|
-
|
|
370
|
+
description: {
|
|
371
|
+
type: "string"
|
|
383
372
|
}
|
|
373
|
+
},
|
|
374
|
+
required: [
|
|
375
|
+
"type",
|
|
376
|
+
"description"
|
|
384
377
|
]
|
|
385
|
-
},
|
|
386
|
-
description: {
|
|
387
|
-
type: "string"
|
|
388
378
|
}
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
]
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
output: {
|
|
382
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
394
383
|
},
|
|
395
384
|
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.",
|
|
396
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
385
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
397
386
|
path: _path + ".reason",
|
|
398
387
|
expected: "string",
|
|
399
388
|
value: input.reason
|
|
400
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
401
|
-
path: _path + ".userPlanningRequirements",
|
|
402
|
-
expected: "(string | undefined)",
|
|
403
|
-
value: input.userPlanningRequirements
|
|
404
389
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
405
390
|
if (false === __is(input)) {
|
|
406
391
|
errors = [];
|
|
@@ -440,59 +425,54 @@ const claude = {
|
|
|
440
425
|
title: "The reason of the function call",
|
|
441
426
|
description: "The reason of the function call.",
|
|
442
427
|
type: "string"
|
|
443
|
-
},
|
|
444
|
-
userPlanningRequirements: {
|
|
445
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
446
|
-
type: "string"
|
|
447
428
|
}
|
|
448
429
|
},
|
|
449
430
|
required: [
|
|
450
431
|
"reason"
|
|
451
432
|
],
|
|
452
433
|
additionalProperties: false,
|
|
453
|
-
$defs: {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
434
|
+
$defs: {
|
|
435
|
+
IAutoBeApplicationResult: {
|
|
436
|
+
type: "object",
|
|
437
|
+
properties: {
|
|
438
|
+
type: {
|
|
439
|
+
oneOf: [
|
|
440
|
+
{
|
|
441
|
+
"const": "success"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"const": "failure"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"const": "exception"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"const": "in-progress"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"const": "prerequisites-not-satisfied"
|
|
454
|
+
}
|
|
455
|
+
]
|
|
463
456
|
},
|
|
464
|
-
{
|
|
465
|
-
|
|
466
|
-
},
|
|
467
|
-
{
|
|
468
|
-
"const": "exception"
|
|
469
|
-
},
|
|
470
|
-
{
|
|
471
|
-
"const": "in-progress"
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
"const": "prerequisites-not-satisfied"
|
|
457
|
+
description: {
|
|
458
|
+
type: "string"
|
|
475
459
|
}
|
|
460
|
+
},
|
|
461
|
+
required: [
|
|
462
|
+
"type",
|
|
463
|
+
"description"
|
|
476
464
|
]
|
|
477
|
-
},
|
|
478
|
-
description: {
|
|
479
|
-
type: "string"
|
|
480
465
|
}
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
]
|
|
466
|
+
}
|
|
467
|
+
},
|
|
468
|
+
output: {
|
|
469
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
486
470
|
},
|
|
487
471
|
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.",
|
|
488
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
472
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
489
473
|
path: _path + ".reason",
|
|
490
474
|
expected: "string",
|
|
491
475
|
value: input.reason
|
|
492
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
493
|
-
path: _path + ".userPlanningRequirements",
|
|
494
|
-
expected: "(string | undefined)",
|
|
495
|
-
value: input.userPlanningRequirements
|
|
496
476
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
497
477
|
if (false === __is(input)) {
|
|
498
478
|
errors = [];
|
|
@@ -532,59 +512,54 @@ const claude = {
|
|
|
532
512
|
title: "The reason of the function call",
|
|
533
513
|
description: "The reason of the function call.",
|
|
534
514
|
type: "string"
|
|
535
|
-
},
|
|
536
|
-
userPlanningRequirements: {
|
|
537
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
538
|
-
type: "string"
|
|
539
515
|
}
|
|
540
516
|
},
|
|
541
517
|
required: [
|
|
542
518
|
"reason"
|
|
543
519
|
],
|
|
544
520
|
additionalProperties: false,
|
|
545
|
-
$defs: {
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
521
|
+
$defs: {
|
|
522
|
+
IAutoBeApplicationResult: {
|
|
523
|
+
type: "object",
|
|
524
|
+
properties: {
|
|
525
|
+
type: {
|
|
526
|
+
oneOf: [
|
|
527
|
+
{
|
|
528
|
+
"const": "success"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"const": "failure"
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"const": "exception"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"const": "in-progress"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"const": "prerequisites-not-satisfied"
|
|
541
|
+
}
|
|
542
|
+
]
|
|
561
543
|
},
|
|
562
|
-
{
|
|
563
|
-
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
"const": "prerequisites-not-satisfied"
|
|
544
|
+
description: {
|
|
545
|
+
type: "string"
|
|
567
546
|
}
|
|
547
|
+
},
|
|
548
|
+
required: [
|
|
549
|
+
"type",
|
|
550
|
+
"description"
|
|
568
551
|
]
|
|
569
|
-
},
|
|
570
|
-
description: {
|
|
571
|
-
type: "string"
|
|
572
552
|
}
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
]
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
output: {
|
|
556
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
578
557
|
},
|
|
579
558
|
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.",
|
|
580
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
559
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
581
560
|
path: _path + ".reason",
|
|
582
561
|
expected: "string",
|
|
583
562
|
value: input.reason
|
|
584
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
585
|
-
path: _path + ".userPlanningRequirements",
|
|
586
|
-
expected: "(string | undefined)",
|
|
587
|
-
value: input.userPlanningRequirements
|
|
588
563
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
589
564
|
if (false === __is(input)) {
|
|
590
565
|
errors = [];
|
|
@@ -635,50 +610,45 @@ const collection = {
|
|
|
635
610
|
title: "The reason of the function call",
|
|
636
611
|
description: "The reason of the function call.",
|
|
637
612
|
type: "string"
|
|
638
|
-
},
|
|
639
|
-
userPlanningRequirements: {
|
|
640
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
641
|
-
type: "string"
|
|
642
613
|
}
|
|
643
614
|
},
|
|
644
615
|
required: [
|
|
645
616
|
"reason"
|
|
646
617
|
],
|
|
647
618
|
additionalProperties: false,
|
|
648
|
-
$defs: {
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
619
|
+
$defs: {
|
|
620
|
+
IAutoBeApplicationResult: {
|
|
621
|
+
type: "object",
|
|
622
|
+
properties: {
|
|
623
|
+
type: {
|
|
624
|
+
type: "string",
|
|
625
|
+
"enum": [
|
|
626
|
+
"success",
|
|
627
|
+
"failure",
|
|
628
|
+
"exception",
|
|
629
|
+
"in-progress",
|
|
630
|
+
"prerequisites-not-satisfied"
|
|
631
|
+
]
|
|
632
|
+
},
|
|
633
|
+
description: {
|
|
634
|
+
type: "string"
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
required: [
|
|
638
|
+
"type",
|
|
639
|
+
"description"
|
|
662
640
|
]
|
|
663
|
-
},
|
|
664
|
-
description: {
|
|
665
|
-
type: "string"
|
|
666
641
|
}
|
|
667
|
-
}
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
]
|
|
642
|
+
}
|
|
643
|
+
},
|
|
644
|
+
output: {
|
|
645
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
672
646
|
},
|
|
673
647
|
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.",
|
|
674
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
648
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
675
649
|
path: _path + ".reason",
|
|
676
650
|
expected: "string",
|
|
677
651
|
value: input.reason
|
|
678
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
679
|
-
path: _path + ".userPlanningRequirements",
|
|
680
|
-
expected: "(string | undefined)",
|
|
681
|
-
value: input.userPlanningRequirements
|
|
682
652
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
683
653
|
if (false === __is(input)) {
|
|
684
654
|
errors = [];
|
|
@@ -718,50 +688,45 @@ const collection = {
|
|
|
718
688
|
title: "The reason of the function call",
|
|
719
689
|
description: "The reason of the function call.",
|
|
720
690
|
type: "string"
|
|
721
|
-
},
|
|
722
|
-
userPlanningRequirements: {
|
|
723
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
724
|
-
type: "string"
|
|
725
691
|
}
|
|
726
692
|
},
|
|
727
693
|
required: [
|
|
728
694
|
"reason"
|
|
729
695
|
],
|
|
730
696
|
additionalProperties: false,
|
|
731
|
-
$defs: {
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
697
|
+
$defs: {
|
|
698
|
+
IAutoBeApplicationResult: {
|
|
699
|
+
type: "object",
|
|
700
|
+
properties: {
|
|
701
|
+
type: {
|
|
702
|
+
type: "string",
|
|
703
|
+
"enum": [
|
|
704
|
+
"success",
|
|
705
|
+
"failure",
|
|
706
|
+
"exception",
|
|
707
|
+
"in-progress",
|
|
708
|
+
"prerequisites-not-satisfied"
|
|
709
|
+
]
|
|
710
|
+
},
|
|
711
|
+
description: {
|
|
712
|
+
type: "string"
|
|
713
|
+
}
|
|
714
|
+
},
|
|
715
|
+
required: [
|
|
716
|
+
"type",
|
|
717
|
+
"description"
|
|
745
718
|
]
|
|
746
|
-
},
|
|
747
|
-
description: {
|
|
748
|
-
type: "string"
|
|
749
719
|
}
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
]
|
|
720
|
+
}
|
|
721
|
+
},
|
|
722
|
+
output: {
|
|
723
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
755
724
|
},
|
|
756
725
|
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.",
|
|
757
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
726
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
758
727
|
path: _path + ".reason",
|
|
759
728
|
expected: "string",
|
|
760
729
|
value: input.reason
|
|
761
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
762
|
-
path: _path + ".userPlanningRequirements",
|
|
763
|
-
expected: "(string | undefined)",
|
|
764
|
-
value: input.userPlanningRequirements
|
|
765
730
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
766
731
|
if (false === __is(input)) {
|
|
767
732
|
errors = [];
|
|
@@ -801,50 +766,45 @@ const collection = {
|
|
|
801
766
|
title: "The reason of the function call",
|
|
802
767
|
description: "The reason of the function call.",
|
|
803
768
|
type: "string"
|
|
804
|
-
},
|
|
805
|
-
userPlanningRequirements: {
|
|
806
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
807
|
-
type: "string"
|
|
808
769
|
}
|
|
809
770
|
},
|
|
810
771
|
required: [
|
|
811
772
|
"reason"
|
|
812
773
|
],
|
|
813
774
|
additionalProperties: false,
|
|
814
|
-
$defs: {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
775
|
+
$defs: {
|
|
776
|
+
IAutoBeApplicationResult: {
|
|
777
|
+
type: "object",
|
|
778
|
+
properties: {
|
|
779
|
+
type: {
|
|
780
|
+
type: "string",
|
|
781
|
+
"enum": [
|
|
782
|
+
"success",
|
|
783
|
+
"failure",
|
|
784
|
+
"exception",
|
|
785
|
+
"in-progress",
|
|
786
|
+
"prerequisites-not-satisfied"
|
|
787
|
+
]
|
|
788
|
+
},
|
|
789
|
+
description: {
|
|
790
|
+
type: "string"
|
|
791
|
+
}
|
|
792
|
+
},
|
|
793
|
+
required: [
|
|
794
|
+
"type",
|
|
795
|
+
"description"
|
|
828
796
|
]
|
|
829
|
-
},
|
|
830
|
-
description: {
|
|
831
|
-
type: "string"
|
|
832
797
|
}
|
|
833
|
-
}
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
]
|
|
798
|
+
}
|
|
799
|
+
},
|
|
800
|
+
output: {
|
|
801
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
838
802
|
},
|
|
839
803
|
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.",
|
|
840
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
804
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
841
805
|
path: _path + ".reason",
|
|
842
806
|
expected: "string",
|
|
843
807
|
value: input.reason
|
|
844
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
845
|
-
path: _path + ".userPlanningRequirements",
|
|
846
|
-
expected: "(string | undefined)",
|
|
847
|
-
value: input.userPlanningRequirements
|
|
848
808
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
849
809
|
if (false === __is(input)) {
|
|
850
810
|
errors = [];
|
|
@@ -884,50 +844,45 @@ const collection = {
|
|
|
884
844
|
title: "The reason of the function call",
|
|
885
845
|
description: "The reason of the function call.",
|
|
886
846
|
type: "string"
|
|
887
|
-
},
|
|
888
|
-
userPlanningRequirements: {
|
|
889
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
890
|
-
type: "string"
|
|
891
847
|
}
|
|
892
848
|
},
|
|
893
849
|
required: [
|
|
894
850
|
"reason"
|
|
895
851
|
],
|
|
896
852
|
additionalProperties: false,
|
|
897
|
-
$defs: {
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
853
|
+
$defs: {
|
|
854
|
+
IAutoBeApplicationResult: {
|
|
855
|
+
type: "object",
|
|
856
|
+
properties: {
|
|
857
|
+
type: {
|
|
858
|
+
type: "string",
|
|
859
|
+
"enum": [
|
|
860
|
+
"success",
|
|
861
|
+
"failure",
|
|
862
|
+
"exception",
|
|
863
|
+
"in-progress",
|
|
864
|
+
"prerequisites-not-satisfied"
|
|
865
|
+
]
|
|
866
|
+
},
|
|
867
|
+
description: {
|
|
868
|
+
type: "string"
|
|
869
|
+
}
|
|
870
|
+
},
|
|
871
|
+
required: [
|
|
872
|
+
"type",
|
|
873
|
+
"description"
|
|
911
874
|
]
|
|
912
|
-
},
|
|
913
|
-
description: {
|
|
914
|
-
type: "string"
|
|
915
875
|
}
|
|
916
|
-
}
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
]
|
|
876
|
+
}
|
|
877
|
+
},
|
|
878
|
+
output: {
|
|
879
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
921
880
|
},
|
|
922
881
|
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.",
|
|
923
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
882
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
924
883
|
path: _path + ".reason",
|
|
925
884
|
expected: "string",
|
|
926
885
|
value: input.reason
|
|
927
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
928
|
-
path: _path + ".userPlanningRequirements",
|
|
929
|
-
expected: "(string | undefined)",
|
|
930
|
-
value: input.userPlanningRequirements
|
|
931
886
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
932
887
|
if (false === __is(input)) {
|
|
933
888
|
errors = [];
|
|
@@ -967,50 +922,45 @@ const collection = {
|
|
|
967
922
|
title: "The reason of the function call",
|
|
968
923
|
description: "The reason of the function call.",
|
|
969
924
|
type: "string"
|
|
970
|
-
},
|
|
971
|
-
userPlanningRequirements: {
|
|
972
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages.",
|
|
973
|
-
type: "string"
|
|
974
925
|
}
|
|
975
926
|
},
|
|
976
927
|
required: [
|
|
977
928
|
"reason"
|
|
978
929
|
],
|
|
979
930
|
additionalProperties: false,
|
|
980
|
-
$defs: {
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
931
|
+
$defs: {
|
|
932
|
+
IAutoBeApplicationResult: {
|
|
933
|
+
type: "object",
|
|
934
|
+
properties: {
|
|
935
|
+
type: {
|
|
936
|
+
type: "string",
|
|
937
|
+
"enum": [
|
|
938
|
+
"success",
|
|
939
|
+
"failure",
|
|
940
|
+
"exception",
|
|
941
|
+
"in-progress",
|
|
942
|
+
"prerequisites-not-satisfied"
|
|
943
|
+
]
|
|
944
|
+
},
|
|
945
|
+
description: {
|
|
946
|
+
type: "string"
|
|
947
|
+
}
|
|
948
|
+
},
|
|
949
|
+
required: [
|
|
950
|
+
"type",
|
|
951
|
+
"description"
|
|
994
952
|
]
|
|
995
|
-
},
|
|
996
|
-
description: {
|
|
997
|
-
type: "string"
|
|
998
953
|
}
|
|
999
|
-
}
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
]
|
|
954
|
+
}
|
|
955
|
+
},
|
|
956
|
+
output: {
|
|
957
|
+
$ref: "#/$defs/IAutoBeApplicationResult"
|
|
1004
958
|
},
|
|
1005
959
|
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.",
|
|
1006
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason
|
|
960
|
+
validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
1007
961
|
path: _path + ".reason",
|
|
1008
962
|
expected: "string",
|
|
1009
963
|
value: input.reason
|
|
1010
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
1011
|
-
path: _path + ".userPlanningRequirements",
|
|
1012
|
-
expected: "(string | undefined)",
|
|
1013
|
-
value: input.userPlanningRequirements
|
|
1014
964
|
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
1015
965
|
if (false === __is(input)) {
|
|
1016
966
|
errors = [];
|
|
@@ -1046,430 +996,5 @@ const collection = {
|
|
|
1046
996
|
llama: claude,
|
|
1047
997
|
deepseek: claude,
|
|
1048
998
|
"3.1": claude,
|
|
1049
|
-
"3.0": {
|
|
1050
|
-
model: "3.0",
|
|
1051
|
-
options: {
|
|
1052
|
-
constraint: true,
|
|
1053
|
-
recursive: 3,
|
|
1054
|
-
separate: null
|
|
1055
|
-
},
|
|
1056
|
-
functions: [
|
|
1057
|
-
{
|
|
1058
|
-
name: "analyze",
|
|
1059
|
-
parameters: {
|
|
1060
|
-
type: "object",
|
|
1061
|
-
properties: {
|
|
1062
|
-
reason: {
|
|
1063
|
-
type: "string",
|
|
1064
|
-
title: "The reason of the function call",
|
|
1065
|
-
description: "The reason of the function call."
|
|
1066
|
-
},
|
|
1067
|
-
userPlanningRequirements: {
|
|
1068
|
-
type: "string",
|
|
1069
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages."
|
|
1070
|
-
}
|
|
1071
|
-
},
|
|
1072
|
-
required: [
|
|
1073
|
-
"reason"
|
|
1074
|
-
],
|
|
1075
|
-
description: "Current Type: {@link IAutoBeApplicationProps}",
|
|
1076
|
-
additionalProperties: false
|
|
1077
|
-
},
|
|
1078
|
-
output: {
|
|
1079
|
-
type: "object",
|
|
1080
|
-
properties: {
|
|
1081
|
-
type: {
|
|
1082
|
-
type: "string",
|
|
1083
|
-
"enum": [
|
|
1084
|
-
"success",
|
|
1085
|
-
"failure",
|
|
1086
|
-
"exception",
|
|
1087
|
-
"in-progress",
|
|
1088
|
-
"prerequisites-not-satisfied"
|
|
1089
|
-
]
|
|
1090
|
-
},
|
|
1091
|
-
description: {
|
|
1092
|
-
type: "string"
|
|
1093
|
-
}
|
|
1094
|
-
},
|
|
1095
|
-
required: [
|
|
1096
|
-
"type",
|
|
1097
|
-
"description"
|
|
1098
|
-
],
|
|
1099
|
-
description: "Current Type: {@link IAutoBeApplicationResult}",
|
|
1100
|
-
additionalProperties: false
|
|
1101
|
-
},
|
|
1102
|
-
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.",
|
|
1103
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason && (undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
1104
|
-
path: _path + ".reason",
|
|
1105
|
-
expected: "string",
|
|
1106
|
-
value: input.reason
|
|
1107
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
1108
|
-
path: _path + ".userPlanningRequirements",
|
|
1109
|
-
expected: "(string | undefined)",
|
|
1110
|
-
value: input.userPlanningRequirements
|
|
1111
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
1112
|
-
if (false === __is(input)) {
|
|
1113
|
-
errors = [];
|
|
1114
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
1115
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
1116
|
-
path: _path + "",
|
|
1117
|
-
expected: "IAutoBeApplicationProps",
|
|
1118
|
-
value: input
|
|
1119
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1120
|
-
path: _path + "",
|
|
1121
|
-
expected: "IAutoBeApplicationProps",
|
|
1122
|
-
value: input
|
|
1123
|
-
}))(input, "$input", true);
|
|
1124
|
-
const success = 0 === errors.length;
|
|
1125
|
-
return success ? {
|
|
1126
|
-
success,
|
|
1127
|
-
data: input
|
|
1128
|
-
} : {
|
|
1129
|
-
success,
|
|
1130
|
-
errors,
|
|
1131
|
-
data: input
|
|
1132
|
-
};
|
|
1133
|
-
}
|
|
1134
|
-
return {
|
|
1135
|
-
success: true,
|
|
1136
|
-
data: input
|
|
1137
|
-
};
|
|
1138
|
-
}; })()
|
|
1139
|
-
},
|
|
1140
|
-
{
|
|
1141
|
-
name: "prisma",
|
|
1142
|
-
parameters: {
|
|
1143
|
-
type: "object",
|
|
1144
|
-
properties: {
|
|
1145
|
-
reason: {
|
|
1146
|
-
type: "string",
|
|
1147
|
-
title: "The reason of the function call",
|
|
1148
|
-
description: "The reason of the function call."
|
|
1149
|
-
},
|
|
1150
|
-
userPlanningRequirements: {
|
|
1151
|
-
type: "string",
|
|
1152
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages."
|
|
1153
|
-
}
|
|
1154
|
-
},
|
|
1155
|
-
required: [
|
|
1156
|
-
"reason"
|
|
1157
|
-
],
|
|
1158
|
-
description: "Current Type: {@link IAutoBeApplicationProps}",
|
|
1159
|
-
additionalProperties: false
|
|
1160
|
-
},
|
|
1161
|
-
output: {
|
|
1162
|
-
type: "object",
|
|
1163
|
-
properties: {
|
|
1164
|
-
type: {
|
|
1165
|
-
type: "string",
|
|
1166
|
-
"enum": [
|
|
1167
|
-
"success",
|
|
1168
|
-
"failure",
|
|
1169
|
-
"exception",
|
|
1170
|
-
"in-progress",
|
|
1171
|
-
"prerequisites-not-satisfied"
|
|
1172
|
-
]
|
|
1173
|
-
},
|
|
1174
|
-
description: {
|
|
1175
|
-
type: "string"
|
|
1176
|
-
}
|
|
1177
|
-
},
|
|
1178
|
-
required: [
|
|
1179
|
-
"type",
|
|
1180
|
-
"description"
|
|
1181
|
-
],
|
|
1182
|
-
description: "Current Type: {@link IAutoBeApplicationResult}",
|
|
1183
|
-
additionalProperties: false
|
|
1184
|
-
},
|
|
1185
|
-
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.",
|
|
1186
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason && (undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
1187
|
-
path: _path + ".reason",
|
|
1188
|
-
expected: "string",
|
|
1189
|
-
value: input.reason
|
|
1190
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
1191
|
-
path: _path + ".userPlanningRequirements",
|
|
1192
|
-
expected: "(string | undefined)",
|
|
1193
|
-
value: input.userPlanningRequirements
|
|
1194
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
1195
|
-
if (false === __is(input)) {
|
|
1196
|
-
errors = [];
|
|
1197
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
1198
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
1199
|
-
path: _path + "",
|
|
1200
|
-
expected: "IAutoBeApplicationProps",
|
|
1201
|
-
value: input
|
|
1202
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1203
|
-
path: _path + "",
|
|
1204
|
-
expected: "IAutoBeApplicationProps",
|
|
1205
|
-
value: input
|
|
1206
|
-
}))(input, "$input", true);
|
|
1207
|
-
const success = 0 === errors.length;
|
|
1208
|
-
return success ? {
|
|
1209
|
-
success,
|
|
1210
|
-
data: input
|
|
1211
|
-
} : {
|
|
1212
|
-
success,
|
|
1213
|
-
errors,
|
|
1214
|
-
data: input
|
|
1215
|
-
};
|
|
1216
|
-
}
|
|
1217
|
-
return {
|
|
1218
|
-
success: true,
|
|
1219
|
-
data: input
|
|
1220
|
-
};
|
|
1221
|
-
}; })()
|
|
1222
|
-
},
|
|
1223
|
-
{
|
|
1224
|
-
name: "interface",
|
|
1225
|
-
parameters: {
|
|
1226
|
-
type: "object",
|
|
1227
|
-
properties: {
|
|
1228
|
-
reason: {
|
|
1229
|
-
type: "string",
|
|
1230
|
-
title: "The reason of the function call",
|
|
1231
|
-
description: "The reason of the function call."
|
|
1232
|
-
},
|
|
1233
|
-
userPlanningRequirements: {
|
|
1234
|
-
type: "string",
|
|
1235
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages."
|
|
1236
|
-
}
|
|
1237
|
-
},
|
|
1238
|
-
required: [
|
|
1239
|
-
"reason"
|
|
1240
|
-
],
|
|
1241
|
-
description: "Current Type: {@link IAutoBeApplicationProps}",
|
|
1242
|
-
additionalProperties: false
|
|
1243
|
-
},
|
|
1244
|
-
output: {
|
|
1245
|
-
type: "object",
|
|
1246
|
-
properties: {
|
|
1247
|
-
type: {
|
|
1248
|
-
type: "string",
|
|
1249
|
-
"enum": [
|
|
1250
|
-
"success",
|
|
1251
|
-
"failure",
|
|
1252
|
-
"exception",
|
|
1253
|
-
"in-progress",
|
|
1254
|
-
"prerequisites-not-satisfied"
|
|
1255
|
-
]
|
|
1256
|
-
},
|
|
1257
|
-
description: {
|
|
1258
|
-
type: "string"
|
|
1259
|
-
}
|
|
1260
|
-
},
|
|
1261
|
-
required: [
|
|
1262
|
-
"type",
|
|
1263
|
-
"description"
|
|
1264
|
-
],
|
|
1265
|
-
description: "Current Type: {@link IAutoBeApplicationResult}",
|
|
1266
|
-
additionalProperties: false
|
|
1267
|
-
},
|
|
1268
|
-
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.",
|
|
1269
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason && (undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
1270
|
-
path: _path + ".reason",
|
|
1271
|
-
expected: "string",
|
|
1272
|
-
value: input.reason
|
|
1273
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
1274
|
-
path: _path + ".userPlanningRequirements",
|
|
1275
|
-
expected: "(string | undefined)",
|
|
1276
|
-
value: input.userPlanningRequirements
|
|
1277
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
1278
|
-
if (false === __is(input)) {
|
|
1279
|
-
errors = [];
|
|
1280
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
1281
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
1282
|
-
path: _path + "",
|
|
1283
|
-
expected: "IAutoBeApplicationProps",
|
|
1284
|
-
value: input
|
|
1285
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1286
|
-
path: _path + "",
|
|
1287
|
-
expected: "IAutoBeApplicationProps",
|
|
1288
|
-
value: input
|
|
1289
|
-
}))(input, "$input", true);
|
|
1290
|
-
const success = 0 === errors.length;
|
|
1291
|
-
return success ? {
|
|
1292
|
-
success,
|
|
1293
|
-
data: input
|
|
1294
|
-
} : {
|
|
1295
|
-
success,
|
|
1296
|
-
errors,
|
|
1297
|
-
data: input
|
|
1298
|
-
};
|
|
1299
|
-
}
|
|
1300
|
-
return {
|
|
1301
|
-
success: true,
|
|
1302
|
-
data: input
|
|
1303
|
-
};
|
|
1304
|
-
}; })()
|
|
1305
|
-
},
|
|
1306
|
-
{
|
|
1307
|
-
name: "test",
|
|
1308
|
-
parameters: {
|
|
1309
|
-
type: "object",
|
|
1310
|
-
properties: {
|
|
1311
|
-
reason: {
|
|
1312
|
-
type: "string",
|
|
1313
|
-
title: "The reason of the function call",
|
|
1314
|
-
description: "The reason of the function call."
|
|
1315
|
-
},
|
|
1316
|
-
userPlanningRequirements: {
|
|
1317
|
-
type: "string",
|
|
1318
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages."
|
|
1319
|
-
}
|
|
1320
|
-
},
|
|
1321
|
-
required: [
|
|
1322
|
-
"reason"
|
|
1323
|
-
],
|
|
1324
|
-
description: "Current Type: {@link IAutoBeApplicationProps}",
|
|
1325
|
-
additionalProperties: false
|
|
1326
|
-
},
|
|
1327
|
-
output: {
|
|
1328
|
-
type: "object",
|
|
1329
|
-
properties: {
|
|
1330
|
-
type: {
|
|
1331
|
-
type: "string",
|
|
1332
|
-
"enum": [
|
|
1333
|
-
"success",
|
|
1334
|
-
"failure",
|
|
1335
|
-
"exception",
|
|
1336
|
-
"in-progress",
|
|
1337
|
-
"prerequisites-not-satisfied"
|
|
1338
|
-
]
|
|
1339
|
-
},
|
|
1340
|
-
description: {
|
|
1341
|
-
type: "string"
|
|
1342
|
-
}
|
|
1343
|
-
},
|
|
1344
|
-
required: [
|
|
1345
|
-
"type",
|
|
1346
|
-
"description"
|
|
1347
|
-
],
|
|
1348
|
-
description: "Current Type: {@link IAutoBeApplicationResult}",
|
|
1349
|
-
additionalProperties: false
|
|
1350
|
-
},
|
|
1351
|
-
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.",
|
|
1352
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason && (undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
1353
|
-
path: _path + ".reason",
|
|
1354
|
-
expected: "string",
|
|
1355
|
-
value: input.reason
|
|
1356
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
1357
|
-
path: _path + ".userPlanningRequirements",
|
|
1358
|
-
expected: "(string | undefined)",
|
|
1359
|
-
value: input.userPlanningRequirements
|
|
1360
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
1361
|
-
if (false === __is(input)) {
|
|
1362
|
-
errors = [];
|
|
1363
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
1364
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
1365
|
-
path: _path + "",
|
|
1366
|
-
expected: "IAutoBeApplicationProps",
|
|
1367
|
-
value: input
|
|
1368
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1369
|
-
path: _path + "",
|
|
1370
|
-
expected: "IAutoBeApplicationProps",
|
|
1371
|
-
value: input
|
|
1372
|
-
}))(input, "$input", true);
|
|
1373
|
-
const success = 0 === errors.length;
|
|
1374
|
-
return success ? {
|
|
1375
|
-
success,
|
|
1376
|
-
data: input
|
|
1377
|
-
} : {
|
|
1378
|
-
success,
|
|
1379
|
-
errors,
|
|
1380
|
-
data: input
|
|
1381
|
-
};
|
|
1382
|
-
}
|
|
1383
|
-
return {
|
|
1384
|
-
success: true,
|
|
1385
|
-
data: input
|
|
1386
|
-
};
|
|
1387
|
-
}; })()
|
|
1388
|
-
},
|
|
1389
|
-
{
|
|
1390
|
-
name: "realize",
|
|
1391
|
-
parameters: {
|
|
1392
|
-
type: "object",
|
|
1393
|
-
properties: {
|
|
1394
|
-
reason: {
|
|
1395
|
-
type: "string",
|
|
1396
|
-
title: "The reason of the function call",
|
|
1397
|
-
description: "The reason of the function call."
|
|
1398
|
-
},
|
|
1399
|
-
userPlanningRequirements: {
|
|
1400
|
-
type: "string",
|
|
1401
|
-
description: "# Define prompts to translate user planning requirements into messages for internal agents\n\nThis prompt defines how to convert a user's planning-oriented requirements\ninto a structured message for an internal agent.\n\nAll content the user provides must be included in the message. However, if\nsome parts of the user's input are inappropriate or insufficient from a\nplanning standpoint, you are allowed to add **supplementary remarks**\u2014but\nonly under strict rules.\n\n# Supplementary Remark Rules\n\n1. **Definition** A supplementary remark is additional information that may\n differ from the user's original intent. Because of this, **you must\n clearly indicate that it is _not_ part of the user\u2019s thinking**.\n2. **When to Supplement**\n\n- If the user's input reveals a lack of technical understanding (e.g.,\n suggesting \"put all data into one table\"), and the plan is not an MVP or\n PoC, it's encouraged to make reasonable additions for a more scalable or\n robust structure.\n- If there are clear gaps in the user's planning logic, you may supplement\n the content to ensure completeness.\n\n3. **When Not to Supplement**\n\n- If the user's input is vague or ambiguous, **do not assume or add extra\n details**. Instead, it\u2019s better to ask the user follow-up questions to\n clarify their intent.\n- If the user has made no comment on design, **do not impose design-related\n decisions** (e.g., colors, fonts, tone). However, you may state\n explicitly that no design requirements were provided.\n- Generic advice like \"UX should be good\" can be omitted unless it adds\n value, as such goals are assumed in all services.\n\n# Style Guidelines\n\nThis prompt is delivered to the sub-agent, and several are created for\nparallel processing of the sub-agent. Additionally, there should be a guide\nto style, since sub-agents cannot create different styles of documents due\nto the disconnection of their conversations with each other.\n\nFor example, there should be a hyperlink to the previous document, the next\ndocument, before or after the document, or there should be no more than N\nheadings. The entire content of the document will have requirements, such\nas maintaining informal or formal language.\n\nThe style guide should include conventions for Markdown formatting elements\nsuch as headings, lists, and tables. Additionally, it should define\nexpectations regarding document length and overall composition. When\ndescribing structural guidelines, include a template to illustrate the\nrecommended format.\n\n# Limiting the volume of a document\n\nHowever, do not go beyond the volume guide; each agent only needs to create\none page because the agent receiving this document will be created as many\nas the number of pages."
|
|
1402
|
-
}
|
|
1403
|
-
},
|
|
1404
|
-
required: [
|
|
1405
|
-
"reason"
|
|
1406
|
-
],
|
|
1407
|
-
description: "Current Type: {@link IAutoBeApplicationProps}",
|
|
1408
|
-
additionalProperties: false
|
|
1409
|
-
},
|
|
1410
|
-
output: {
|
|
1411
|
-
type: "object",
|
|
1412
|
-
properties: {
|
|
1413
|
-
type: {
|
|
1414
|
-
type: "string",
|
|
1415
|
-
"enum": [
|
|
1416
|
-
"success",
|
|
1417
|
-
"failure",
|
|
1418
|
-
"exception",
|
|
1419
|
-
"in-progress",
|
|
1420
|
-
"prerequisites-not-satisfied"
|
|
1421
|
-
]
|
|
1422
|
-
},
|
|
1423
|
-
description: {
|
|
1424
|
-
type: "string"
|
|
1425
|
-
}
|
|
1426
|
-
},
|
|
1427
|
-
required: [
|
|
1428
|
-
"type",
|
|
1429
|
-
"description"
|
|
1430
|
-
],
|
|
1431
|
-
description: "Current Type: {@link IAutoBeApplicationResult}",
|
|
1432
|
-
additionalProperties: false
|
|
1433
|
-
},
|
|
1434
|
-
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.",
|
|
1435
|
-
validate: (() => { const _io0 = input => "string" === typeof input.reason && (undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
|
|
1436
|
-
path: _path + ".reason",
|
|
1437
|
-
expected: "string",
|
|
1438
|
-
value: input.reason
|
|
1439
|
-
}), undefined === input.userPlanningRequirements || "string" === typeof input.userPlanningRequirements || _report(_exceptionable, {
|
|
1440
|
-
path: _path + ".userPlanningRequirements",
|
|
1441
|
-
expected: "(string | undefined)",
|
|
1442
|
-
value: input.userPlanningRequirements
|
|
1443
|
-
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
1444
|
-
if (false === __is(input)) {
|
|
1445
|
-
errors = [];
|
|
1446
|
-
_report = __typia_transform__validateReport._validateReport(errors);
|
|
1447
|
-
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
1448
|
-
path: _path + "",
|
|
1449
|
-
expected: "IAutoBeApplicationProps",
|
|
1450
|
-
value: input
|
|
1451
|
-
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
1452
|
-
path: _path + "",
|
|
1453
|
-
expected: "IAutoBeApplicationProps",
|
|
1454
|
-
value: input
|
|
1455
|
-
}))(input, "$input", true);
|
|
1456
|
-
const success = 0 === errors.length;
|
|
1457
|
-
return success ? {
|
|
1458
|
-
success,
|
|
1459
|
-
data: input
|
|
1460
|
-
} : {
|
|
1461
|
-
success,
|
|
1462
|
-
errors,
|
|
1463
|
-
data: input
|
|
1464
|
-
};
|
|
1465
|
-
}
|
|
1466
|
-
return {
|
|
1467
|
-
success: true,
|
|
1468
|
-
data: input
|
|
1469
|
-
};
|
|
1470
|
-
}; })()
|
|
1471
|
-
}
|
|
1472
|
-
]
|
|
1473
|
-
},
|
|
1474
999
|
};
|
|
1475
1000
|
//# sourceMappingURL=createAutoBeApplication.js.map
|