@autobe/agent 0.27.0 → 0.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/lib/constants/AutoBeSystemPromptConstant.d.ts +1 -1
  2. package/lib/context/assertSchemaModel.d.ts +1 -1
  3. package/lib/context/assertSchemaModel.js +4 -7
  4. package/lib/context/assertSchemaModel.js.map +1 -1
  5. package/lib/index.mjs +18186 -7689
  6. package/lib/index.mjs.map +1 -1
  7. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +1 -1
  8. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
  9. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js +164 -86
  10. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
  11. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +656 -335
  12. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  13. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +143 -74
  14. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
  15. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +17 -52
  16. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +25 -22
  17. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +7 -23
  18. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +165 -2
  19. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js.map +1 -1
  20. package/lib/orchestrate/facade/createAutoBeFacadeController.js +773 -403
  21. package/lib/orchestrate/facade/createAutoBeFacadeController.js.map +1 -1
  22. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js +749 -2
  23. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
  24. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +1637 -9
  25. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
  26. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +252 -133
  27. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
  28. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +258 -135
  29. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -1
  30. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +342 -226
  31. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
  32. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +633 -1
  33. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  34. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js +785 -3
  35. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
  36. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js +206 -3
  37. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js.map +1 -1
  38. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +107 -1
  39. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js.map +1 -1
  40. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1676 -9
  41. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
  42. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js +1637 -9
  43. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
  44. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +397 -201
  45. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  46. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1184 -599
  47. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  48. package/lib/orchestrate/prisma/orchestratePrismaReview.js +1202 -608
  49. package/lib/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
  50. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +4 -2
  51. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
  52. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +369 -185
  53. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
  54. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +405 -203
  55. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
  56. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js +130 -2
  57. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
  58. package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js +165 -2
  59. package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js.map +1 -1
  60. package/lib/orchestrate/realize/orchestrateRealizeWrite.js +130 -2
  61. package/lib/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
  62. package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
  63. package/lib/orchestrate/test/orchestrateTestCorrect.js +131 -2
  64. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  65. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +166 -2
  66. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -1
  67. package/lib/orchestrate/test/orchestrateTestScenario.js +257 -3
  68. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  69. package/lib/orchestrate/test/orchestrateTestScenarioReview.js +283 -3
  70. package/lib/orchestrate/test/orchestrateTestScenarioReview.js.map +1 -1
  71. package/lib/orchestrate/test/orchestrateTestWrite.js +139 -2
  72. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  73. package/package.json +9 -9
  74. package/src/constants/AutoBeSystemPromptConstant.ts +1 -1
  75. package/src/context/assertSchemaModel.ts +5 -8
  76. package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +7 -9
  77. package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +13 -9
  78. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +7 -9
  79. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +19 -54
  80. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +25 -22
  81. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.ts +8 -24
  82. package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +15 -1
  83. package/src/orchestrate/facade/createAutoBeFacadeController.ts +7 -6
  84. package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +11 -1
  85. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +11 -1
  86. package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +13 -9
  87. package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +13 -9
  88. package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +17 -14
  89. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +11 -1
  90. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +14 -1
  91. package/src/orchestrate/interface/orchestrateInterfacePrerequisites.ts +11 -1
  92. package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +9 -1
  93. package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +14 -1
  94. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +11 -1
  95. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +13 -9
  96. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +7 -9
  97. package/src/orchestrate/prisma/orchestratePrismaReview.ts +7 -10
  98. package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +13 -9
  99. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +13 -9
  100. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +11 -1
  101. package/src/orchestrate/realize/orchestrateRealizeCorrectCasting.ts +15 -1
  102. package/src/orchestrate/realize/orchestrateRealizeWrite.ts +11 -1
  103. package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +5 -1
  104. package/src/orchestrate/test/histories/transformTestWriteHistories.ts +1 -1
  105. package/src/orchestrate/test/orchestrateTestCorrect.ts +11 -1
  106. package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +18 -1
  107. package/src/orchestrate/test/orchestrateTestScenario.ts +11 -1
  108. package/src/orchestrate/test/orchestrateTestScenarioReview.ts +11 -1
  109. package/src/orchestrate/test/orchestrateTestWrite.ts +11 -1
@@ -1,24 +1,11 @@
1
1
  export interface IAutoBeAnalyzeReviewApplication {
2
2
  /**
3
- * Enhances planning documentation to meet all quality standards and requirements.
3
+ * Enhances and finalizes planning documentation.
4
4
  *
5
- * This function receives a document and outputs an improved version directly.
6
- * The output IS the enhanced document itself, NOT review comments or feedback.
5
+ * Receives a draft document and outputs the improved version. The output is
6
+ * the enhanced document itself, not review comments.
7
7
  *
8
- * The enhancement process includes:
9
- * - Expanding sections that are too brief
10
- * - Converting vague statements to specific EARS format requirements
11
- * - Fixing Mermaid diagram syntax errors
12
- * - Adding missing business processes and workflows
13
- * - Ensuring proper document structure and completeness
14
- *
15
- * DO: Output the actual document content that will be saved.
16
- * DO NOT: Output review comments or analysis of the document.
17
- *
18
- * Note: Any text output becomes part of the final document.
19
- *
20
- * @param props - The properties containing the document to enhance along with
21
- * plan and review criteria for guidance
8
+ * @param props - Document content, plan, and review criteria
22
9
  */
23
10
  review(props: IAutoBeAnalyzeReviewApplication.IProps): void;
24
11
  }
@@ -27,7 +14,7 @@ export namespace IAutoBeAnalyzeReviewApplication {
27
14
  export interface IProps {
28
15
  /**
29
16
  * Step 1 (CoT: Review Phase) - Enhancement Criteria
30
- *
17
+ *
31
18
  * The enhancement criteria and guidelines that the agent must follow.
32
19
  *
33
20
  * This includes:
@@ -48,14 +35,16 @@ export namespace IAutoBeAnalyzeReviewApplication {
48
35
  * - DO NOT: Use spaces between brackets and quotes in Mermaid
49
36
  * - DO: Make requirements specific and measurable in natural language
50
37
  * - DO: Focus on business requirements and user scenarios
51
- * - DO NOT: Accept documents containing database schemas or API specifications
52
- * - DO: Describe business model and authentication requirements in natural language
38
+ * - DO NOT: Accept documents containing database schemas or API
39
+ * specifications
40
+ * - DO: Describe business model and authentication requirements in natural
41
+ * language
53
42
  */
54
43
  review: string;
55
44
 
56
45
  /**
57
46
  * Step 2 (CoT: Plan Phase) - Original Document Plan
58
- *
47
+ *
59
48
  * The document plan that was used to create the content.
60
49
  *
61
50
  * This helps the reviewer understand:
@@ -71,43 +60,19 @@ export namespace IAutoBeAnalyzeReviewApplication {
71
60
  plan: string;
72
61
 
73
62
  /**
74
- * Step 3 (CoT: Content Phase) - Complete Document Content
75
- *
76
- * The actual markdown document content that incorporates review feedback.
63
+ * Step 3 (CoT: Content Phase) - Document Content (INPUT → OUTPUT)
77
64
  *
78
- * This field contains a COMPLETE MARKDOWN DOCUMENT that has already
79
- * incorporated the review criteria and plan requirements.
80
- *
81
- * DO: Treat this as the final, production-ready document.
82
- * DO NOT: Treat this as raw input to be reviewed.
83
- *
84
- * This content represents:
85
- * - A fully-formed markdown document (.md file)
86
- * - The result of applying review criteria to the original plan
87
- * - A production-ready document for immediate deployment
88
- * - Complete business requirements ready for developers
89
- *
90
- * The enhancer should treat this as the actual document content:
65
+ * INPUT: The document written by Write Agent (may have issues) OUTPUT: The
66
+ * enhanced, complete markdown document to be saved
91
67
  *
92
- * - Length and completeness (minimum 2,000 characters, more for technical
93
- * docs)
94
- * - All sections from the plan are fully written
95
- * - No vague or abstract statements
96
- * - Proper use of EARS format for requirements
97
- * - Correct Mermaid diagram syntax (double quotes mandatory)
98
- * - Appropriate level of detail for backend implementation
99
- * - Proper document linking (descriptive text, not raw filenames)
68
+ * Enhancement requirements:
100
69
  *
101
- * The enhancer outputs the document itself:
70
+ * - Fix Mermaid syntax errors (add quotes, fix arrows)
71
+ * - Convert vague statements to EARS format
72
+ * - Expand sections that are too brief
73
+ * - Add missing business processes
102
74
  *
103
- * - If content is provided, it represents the actual document
104
- * - The enhancer outputs the enhanced version AS the document itself
105
- * - No meta-commentary or review feedback should be in the output
106
- * - The output becomes the saved .md file directly
107
- *
108
- * Example of what this field contains:
109
- * "# Service Overview\n## Vision\nThe service provides..." (actual document)
110
- * NOT: "This document should cover service overview..." (review comment)
75
+ * Output must be the actual document content (not review comments).
111
76
  */
112
77
  content: string;
113
78
  }
@@ -4,18 +4,12 @@ import { tags } from "typia";
4
4
 
5
5
  export interface IAutoBeAnalyzeScenarioApplication {
6
6
  /**
7
- * Compose project structure with actors and files.
7
+ * Composes project structure with actors and documentation files.
8
8
  *
9
- * Design a list of actors and initial documents that you need to create for
10
- * that requirement. Actors define user types and their responsibilities, while files
11
- * define the documentation structure. These are managed separately. If you
12
- * determine from the conversation that the user's requirements have not been
13
- * fully gathered, you must stop the analysis and continue collecting the
14
- * remaining requirements. In this case, you do not need to generate any files
15
- * or actors. Simply pass an empty array to `input.files` and `input.actors`.
9
+ * Determines the list of user actors and documents to generate based on
10
+ * requirements. If requirements are incomplete, returns empty arrays.
16
11
  *
17
- * @param input Prefix, actors, and files
18
- * @returns
12
+ * @param input - Project prefix, actors, and file list
19
13
  */
20
14
  compose(input: IAutoBeAnalyzeScenarioApplication.IProps): void;
21
15
  }
@@ -33,7 +27,15 @@ export namespace IAutoBeAnalyzeScenarioApplication {
33
27
  */
34
28
  prefix: string & CamelCasePattern;
35
29
 
36
- /** Actors to be assigned for the project */
30
+ /**
31
+ * Actors to be assigned for the project.
32
+ *
33
+ * Each actor has:
34
+ *
35
+ * - `name`: Actor identifier (camelCase)
36
+ * - `kind`: "guest" | "member" | "admin"
37
+ * - `description`: Actor's permissions and capabilities
38
+ */
37
39
  actors: AutoBeAnalyzeActor[];
38
40
 
39
41
  /**
@@ -53,12 +55,14 @@ export namespace IAutoBeAnalyzeScenarioApplication {
53
55
  page: number;
54
56
 
55
57
  /**
56
- * # Document files to be generated
57
- *
58
- * File name must be English and it must contain the numbering and prefix.
58
+ * Array of document metadata objects defining files to be generated.
59
59
  *
60
- * These files represent business documentation that may include:
60
+ * Each array element is an AutoBeAnalyzeFile.Scenario object containing:
61
+ * - filename: The output file name (e.g., "01-service-overview.md")
62
+ * - reason: Why this document is being created
63
+ * - documentType, outline, constraints, etc.: Metadata guiding content generation
61
64
  *
65
+ * These documents represent business-focused planning documentation:
62
66
  * - Business requirements and functional specifications in natural language
63
67
  * - User journey mapping and use case scenarios
64
68
  * - Business rules and workflow definitions
@@ -68,17 +72,16 @@ export namespace IAutoBeAnalyzeScenarioApplication {
68
72
  * - DO NOT: Include database schemas, ERD, or API specifications
69
73
  * - DO: Write all requirements in natural language for clarity
70
74
  *
71
- * Generate files based on actual requirements gathered from conversation.
75
+ * Generate metadata objects based on actual requirements gathered from conversation.
72
76
  * Do not create unnecessary documentation - only generate what is needed to
73
77
  * properly define the business requirements and system specifications.
74
78
  *
75
- * # Page Length Rules
79
+ * # Array Length Rules
76
80
  *
77
- * The number of documents must match the user's request, excluding the
78
- * table of contents. For example, if the user requests 3 pages, a total of
79
- * 4 documents should be generated, including the table of contents. If the
80
- * user does not specify a number, generate a sufficient number of documents
81
- * to adequately support the service.
81
+ * The array length must match the user's requested page count plus one for ToC.
82
+ * For example: user requests 3 pages generate 4 objects (1 ToC + 3 content).
83
+ * If user does not specify a number, generate sufficient objects to adequately
84
+ * document the service (typically 11+ objects including ToC).
82
85
  */
83
86
  files: Array<AutoBeAnalyzeFile.Scenario> & tags.MinItems<1>;
84
87
  }
@@ -16,7 +16,7 @@ export namespace IAutoBeAnalyzeWriteApplication {
16
16
  export interface IProps {
17
17
  /**
18
18
  * Step 1 (CoT: Plan Phase) - Document Planning Structure
19
- *
19
+ *
20
20
  * The document planning structure that outlines what needs to be written.
21
21
  *
22
22
  * This includes:
@@ -42,33 +42,17 @@ export namespace IAutoBeAnalyzeWriteApplication {
42
42
  plan: string;
43
43
 
44
44
  /**
45
- * Step 2 (CoT: Write Phase) - Document Content Creation
46
- *
47
- * The initial content or context for the document being written.
48
- *
49
- * This may include:
50
- *
51
- * - User requirements and business goals
52
- * - Existing documentation to build upon
53
- * - Specific scenarios or use cases to document
54
- * - Technical constraints or preferences
55
- * - Related documents for reference
45
+ * Step 2 (CoT: Write Phase) - Complete Document Content
56
46
  *
57
- * The content provides the raw material that the AI agent will transform
58
- * into structured, developer-ready documentation following the planning
59
- * guidelines.
47
+ * The complete, production-ready markdown document content to be saved.
60
48
  *
61
- * The AI agent will expand this content into comprehensive documentation
62
- * that:
49
+ * Requirements:
63
50
  *
64
- * - Removes all ambiguity for backend developers
65
- * - Provides specific, measurable requirements in natural language
66
- * - Focuses on business logic and requirements, NOT technical implementation
67
- * - STRICTLY PROHIBITED: Do NOT write database schemas, ERD, or API
68
- * specifications
51
+ * - Minimum 5,000 characters for technical documents
69
52
  * - Uses EARS format for all applicable requirements
70
- * - Follows proper document linking conventions
71
- * - Includes Mermaid diagrams with proper syntax (double quotes mandatory)
53
+ * - Includes proper Mermaid diagram syntax (double quotes for labels)
54
+ * - Focuses on business requirements in natural language
55
+ * - PROHIBITED: Database schemas, ERD, API specifications
72
56
  */
73
57
  content: string;
74
58
  }
@@ -170,7 +170,11 @@ const createController = <Model extends ILlmSchema.Model>(props: {
170
170
  : result;
171
171
  };
172
172
  const application = collection[
173
- props.model === "chatgpt" ? "chatgpt" : "claude"
173
+ props.model === "chatgpt"
174
+ ? "chatgpt"
175
+ : props.model === "gemini"
176
+ ? "gemini"
177
+ : "claude"
174
178
  ](validate) satisfies ILlmApplication<any> as any as ILlmApplication<Model>;
175
179
  return {
176
180
  protocol: "class",
@@ -208,6 +212,16 @@ const collection = {
208
212
  }),
209
213
  },
210
214
  }),
215
+ gemini: (validate: Validator) =>
216
+ typia.llm.application<IAutoBeCommonCorrectCastingApplication, "gemini">({
217
+ validate: {
218
+ rewrite: validate,
219
+ reject: () => ({
220
+ success: true,
221
+ data: undefined,
222
+ }),
223
+ },
224
+ }),
211
225
  };
212
226
 
213
227
  type Validator = (
@@ -29,7 +29,11 @@ export const createAutoBeFacadeController = <
29
29
  }): IAgenticaController.IClass<Model> => {
30
30
  assertSchemaModel(props.model);
31
31
  const application: ILlmApplication<Model> = collection[
32
- props.model
32
+ props.model === "chatgpt"
33
+ ? "chatgpt"
34
+ : props.model === "gemini"
35
+ ? "gemini"
36
+ : "claude"
33
37
  ] satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
34
38
  return {
35
39
  protocol: "class",
@@ -125,11 +129,8 @@ export const createAutoBeFacadeController = <
125
129
  };
126
130
  };
127
131
 
128
- const claude = typia.llm.application<IAutoBeFacadeApplication, "claude">();
129
132
  const collection = {
130
133
  chatgpt: typia.llm.application<IAutoBeFacadeApplication, "chatgpt">(),
131
- claude,
132
- llama: claude,
133
- deepseek: claude,
134
- "3.1": claude,
134
+ claude: typia.llm.application<IAutoBeFacadeApplication, "claude">(),
135
+ gemini: typia.llm.application<IAutoBeFacadeApplication, "gemini">(),
135
136
  };
@@ -196,7 +196,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
196
196
  };
197
197
 
198
198
  const application: ILlmApplication<Model> = collection[
199
- props.model === "chatgpt" ? "chatgpt" : "claude"
199
+ props.model === "chatgpt"
200
+ ? "chatgpt"
201
+ : props.model === "gemini"
202
+ ? "gemini"
203
+ : "claude"
200
204
  ](
201
205
  validate,
202
206
  ) satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
@@ -228,6 +232,12 @@ const collection = {
228
232
  makeOperations: validate,
229
233
  },
230
234
  }),
235
+ gemini: (validate: Validator) =>
236
+ typia.llm.application<IAutoBeInterfaceAuthorizationsApplication, "gemini">({
237
+ validate: {
238
+ makeOperations: validate,
239
+ },
240
+ }),
231
241
  };
232
242
 
233
243
  type Validator = (
@@ -156,7 +156,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
156
156
  };
157
157
 
158
158
  const application: ILlmApplication<Model> = collection[
159
- props.model === "chatgpt" ? "chatgpt" : "claude"
159
+ props.model === "chatgpt"
160
+ ? "chatgpt"
161
+ : props.model === "gemini"
162
+ ? "gemini"
163
+ : "claude"
160
164
  ](
161
165
  validate,
162
166
  ) satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
@@ -185,6 +189,12 @@ const collection = {
185
189
  complementComponents: validate,
186
190
  },
187
191
  }),
192
+ gemini: (validate: Validator) =>
193
+ typia.llm.application<IAutoBeInterfaceComplementApplication, "gemini">({
194
+ validate: {
195
+ complementComponents: validate,
196
+ },
197
+ }),
188
198
  };
189
199
 
190
200
  type Validator = (
@@ -118,7 +118,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
118
118
  assertSchemaModel(props.model);
119
119
 
120
120
  const application: ILlmApplication<Model> = collection[
121
- props.model
121
+ props.model === "chatgpt"
122
+ ? "chatgpt"
123
+ : props.model === "gemini"
124
+ ? "gemini"
125
+ : "claude"
122
126
  ] satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
123
127
  return {
124
128
  protocol: "class",
@@ -132,17 +136,17 @@ function createController<Model extends ILlmSchema.Model>(props: {
132
136
  };
133
137
  }
134
138
 
135
- const claude = typia.llm.application<
136
- IAutoBeInterfaceEndpointApplication,
137
- "claude"
138
- >();
139
139
  const collection = {
140
140
  chatgpt: typia.llm.application<
141
141
  IAutoBeInterfaceEndpointApplication,
142
142
  "chatgpt"
143
143
  >(),
144
- claude,
145
- llama: claude,
146
- deepseek: claude,
147
- "3.1": claude,
144
+ claude: typia.llm.application<
145
+ IAutoBeInterfaceEndpointApplication,
146
+ "claude"
147
+ >(),
148
+ gemini: typia.llm.application<
149
+ IAutoBeInterfaceEndpointApplication,
150
+ "gemini"
151
+ >(),
148
152
  };
@@ -64,7 +64,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
64
64
  assertSchemaModel(props.model);
65
65
 
66
66
  const application: ILlmApplication<Model> = collection[
67
- props.model
67
+ props.model === "chatgpt"
68
+ ? "chatgpt"
69
+ : props.model === "gemini"
70
+ ? "gemini"
71
+ : "claude"
68
72
  ] satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
69
73
  return {
70
74
  protocol: "class",
@@ -78,17 +82,17 @@ function createController<Model extends ILlmSchema.Model>(props: {
78
82
  };
79
83
  }
80
84
 
81
- const claude = typia.llm.application<
82
- IAutoBeInterfaceEndpointsReviewApplication,
83
- "claude"
84
- >();
85
85
  const collection = {
86
86
  chatgpt: typia.llm.application<
87
87
  IAutoBeInterfaceEndpointsReviewApplication,
88
88
  "chatgpt"
89
89
  >(),
90
- claude,
91
- llama: claude,
92
- deepseek: claude,
93
- "3.1": claude,
90
+ claude: typia.llm.application<
91
+ IAutoBeInterfaceEndpointsReviewApplication,
92
+ "claude"
93
+ >(),
94
+ gemini: typia.llm.application<
95
+ IAutoBeInterfaceEndpointsReviewApplication,
96
+ "gemini"
97
+ >(),
94
98
  };
@@ -57,7 +57,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
57
57
  assertSchemaModel(props.model);
58
58
 
59
59
  const application: ILlmApplication<Model> = collection[
60
- props.model
60
+ props.model === "chatgpt"
61
+ ? "chatgpt"
62
+ : props.model === "gemini"
63
+ ? "gemini"
64
+ : "claude"
61
65
  ] satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
62
66
  return {
63
67
  protocol: "class",
@@ -71,18 +75,17 @@ function createController<Model extends ILlmSchema.Model>(props: {
71
75
  };
72
76
  }
73
77
 
74
- const claude = typia.llm.application<
75
- IAutoBeInterfaceGroupApplication,
76
- "claude"
77
- >();
78
- const chatgpt = typia.llm.application<
79
- IAutoBeInterfaceGroupApplication,
80
- "chatgpt"
81
- >();
82
78
  const collection = {
83
- chatgpt,
84
- claude,
85
- llama: claude,
86
- deepseek: claude,
87
- "3.1": claude,
79
+ chatgpt: typia.llm.application<
80
+ IAutoBeInterfaceGroupApplication,
81
+ "chatgpt"
82
+ >(),
83
+ claude: typia.llm.application<
84
+ IAutoBeInterfaceGroupApplication,
85
+ "claude"
86
+ >(),
87
+ gemini: typia.llm.application<
88
+ IAutoBeInterfaceGroupApplication,
89
+ "gemini"
90
+ >(),
88
91
  };
@@ -244,7 +244,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
244
244
  return result;
245
245
  };
246
246
  const application: ILlmApplication<Model> = collection[
247
- props.model === "chatgpt" ? "chatgpt" : "claude"
247
+ props.model === "chatgpt"
248
+ ? "chatgpt"
249
+ : props.model === "gemini"
250
+ ? "gemini"
251
+ : "claude"
248
252
  ](
249
253
  validate,
250
254
  ) satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
@@ -274,6 +278,12 @@ const collection = {
274
278
  makeOperations: validate,
275
279
  },
276
280
  }),
281
+ gemini: (validate: Validator) =>
282
+ typia.llm.application<IAutoBeInterfaceOperationApplication, "gemini">({
283
+ validate: {
284
+ makeOperations: validate,
285
+ },
286
+ }),
277
287
  };
278
288
 
279
289
  type Validator = (
@@ -101,7 +101,11 @@ function createReviewController<Model extends ILlmSchema.Model>(props: {
101
101
  return result;
102
102
  };
103
103
  const application: ILlmApplication<Model> = collection[
104
- props.model === "chatgpt" ? "chatgpt" : "claude"
104
+ props.model === "chatgpt"
105
+ ? "chatgpt"
106
+ : props.model === "gemini"
107
+ ? "gemini"
108
+ : "claude"
105
109
  ](
106
110
  validate,
107
111
  ) satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
@@ -137,6 +141,15 @@ const collection = {
137
141
  reviewOperations: validate,
138
142
  },
139
143
  }),
144
+ gemini: (validate: Validator) =>
145
+ typia.llm.application<
146
+ IAutoBeInterfaceOperationsReviewApplication,
147
+ "gemini"
148
+ >({
149
+ validate: {
150
+ reviewOperations: validate,
151
+ },
152
+ }),
140
153
  };
141
154
 
142
155
  type Validator = (
@@ -238,7 +238,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
238
238
  };
239
239
 
240
240
  const application: ILlmApplication<Model> = collection[
241
- props.model === "chatgpt" ? "chatgpt" : "claude"
241
+ props.model === "chatgpt"
242
+ ? "chatgpt"
243
+ : props.model === "gemini"
244
+ ? "gemini"
245
+ : "claude"
242
246
  ](
243
247
  validate,
244
248
  ) satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
@@ -268,6 +272,12 @@ const collection = {
268
272
  makePrerequisite: validate,
269
273
  },
270
274
  }),
275
+ gemini: (validate: Validator) =>
276
+ typia.llm.application<IAutoBeInterfacePrerequisitesApplication, "gemini">({
277
+ validate: {
278
+ makePrerequisite: validate,
279
+ },
280
+ }),
271
281
  };
272
282
 
273
283
  type Validator = (
@@ -244,7 +244,11 @@ const createController = <Model extends ILlmSchema.Model>(
244
244
  ): IAgenticaController.IClass<Model> => {
245
245
  assertSchemaModel(model);
246
246
  const application: ILlmApplication<Model> = collection[
247
- model === "chatgpt" ? "chatgpt" : "claude"
247
+ model === "chatgpt"
248
+ ? "chatgpt"
249
+ : model === "gemini"
250
+ ? "gemini"
251
+ : "claude"
248
252
  ] satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
249
253
  return {
250
254
  protocol: "class",
@@ -267,4 +271,8 @@ const collection = {
267
271
  IAutoBeInterfaceSchemaRenameApplication,
268
272
  "claude"
269
273
  >(),
274
+ gemini: typia.llm.application<
275
+ IAutoBeInterfaceSchemaRenameApplication,
276
+ "gemini"
277
+ >(),
270
278
  };
@@ -177,7 +177,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
177
177
  };
178
178
 
179
179
  const application: ILlmApplication<Model> = collection[
180
- props.model === "chatgpt" ? "chatgpt" : "claude"
180
+ props.model === "chatgpt"
181
+ ? "chatgpt"
182
+ : props.model === "gemini"
183
+ ? "gemini"
184
+ : "claude"
181
185
  ](
182
186
  validate,
183
187
  ) satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
@@ -212,6 +216,15 @@ const collection = {
212
216
  review: validate,
213
217
  },
214
218
  }),
219
+ gemini: (validate: Validator) =>
220
+ typia.llm.application<
221
+ IAutoBeInterfaceSchemaContentReviewApplication,
222
+ "gemini"
223
+ >({
224
+ validate: {
225
+ review: validate,
226
+ },
227
+ }),
215
228
  };
216
229
 
217
230
  type Validator = (
@@ -240,7 +240,11 @@ function createController<Model extends ILlmSchema.Model>(props: {
240
240
  };
241
241
 
242
242
  const application: ILlmApplication<Model> = collection[
243
- props.model === "chatgpt" ? "chatgpt" : "claude"
243
+ props.model === "chatgpt"
244
+ ? "chatgpt"
245
+ : props.model === "gemini"
246
+ ? "gemini"
247
+ : "claude"
244
248
  ](
245
249
  validate,
246
250
  ) satisfies ILlmApplication<any> as unknown as ILlmApplication<Model>;
@@ -269,6 +273,12 @@ const collection = {
269
273
  makeComponents: validate,
270
274
  },
271
275
  }),
276
+ gemini: (validate: Validator) =>
277
+ typia.llm.application<IAutoBeInterfaceSchemaApplication, "gemini">({
278
+ validate: {
279
+ makeComponents: validate,
280
+ },
281
+ }),
272
282
  };
273
283
 
274
284
  type Validator = (