@autobe/agent 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/lib/AutoBeAgent.d.ts +2 -1
  2. package/lib/AutoBeAgent.js +27 -7
  3. package/lib/AutoBeAgent.js.map +1 -1
  4. package/lib/AutoBeMockAgent.js +2 -4
  5. package/lib/AutoBeMockAgent.js.map +1 -1
  6. package/lib/constants/AutoBeSystemPromptConstant.d.ts +11 -11
  7. package/lib/context/AutoBeContext.d.ts +4 -1
  8. package/lib/context/AutoBeTokenUsage.d.ts +1 -1
  9. package/lib/context/AutoBeTokenUsage.js.map +1 -1
  10. package/lib/context/assertSchemaModel.d.ts +1 -1
  11. package/lib/context/assertSchemaModel.js +4 -7
  12. package/lib/context/assertSchemaModel.js.map +1 -1
  13. package/lib/factory/AutoBeFunctionCallingMetricFactory.d.ts +7 -0
  14. package/lib/factory/AutoBeFunctionCallingMetricFactory.js +35 -0
  15. package/lib/factory/AutoBeFunctionCallingMetricFactory.js.map +1 -0
  16. package/lib/factory/AutoBeProcessAggregateFactory.d.ts +13 -0
  17. package/lib/factory/AutoBeProcessAggregateFactory.js +100 -0
  18. package/lib/factory/AutoBeProcessAggregateFactory.js.map +1 -0
  19. package/lib/factory/createAutoBeContext.d.ts +2 -1
  20. package/lib/factory/createAutoBeContext.js +78 -27
  21. package/lib/factory/createAutoBeContext.js.map +1 -1
  22. package/lib/index.mjs +24065 -12997
  23. package/lib/index.mjs.map +1 -1
  24. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js +1 -1
  25. package/lib/orchestrate/analyze/histories/transformAnalyzeScenarioHistories.js.map +1 -1
  26. package/lib/orchestrate/analyze/orchestrateAnalyze.js +1 -0
  27. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  28. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js +166 -87
  29. package/lib/orchestrate/analyze/orchestrateAnalyzeReview.js.map +1 -1
  30. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js +639 -322
  31. package/lib/orchestrate/analyze/orchestrateAnalyzeScenario.js.map +1 -1
  32. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +146 -76
  33. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -1
  34. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.d.ts +17 -52
  35. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.d.ts +25 -22
  36. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.d.ts +7 -23
  37. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.d.ts +2 -1
  38. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js +168 -4
  39. package/lib/orchestrate/common/orchestrateCommonCorrectCasting.js.map +1 -1
  40. package/lib/{factory/createAutoBeApplication.d.ts → orchestrate/facade/createAutoBeFacadeController.d.ts} +2 -2
  41. package/lib/orchestrate/facade/createAutoBeFacadeController.js +1308 -0
  42. package/lib/orchestrate/facade/createAutoBeFacadeController.js.map +1 -0
  43. package/lib/orchestrate/facade/histories/IAutoBeFacadeApplication.js.map +1 -0
  44. package/lib/orchestrate/facade/histories/IAutoBeFacadeApplicationProps.js.map +1 -0
  45. package/lib/orchestrate/facade/histories/IAutoBeFacadeApplicationResult.js.map +1 -0
  46. package/lib/orchestrate/facade/{transformFacadeStateMessage.d.ts → structures/transformFacadeStateMessage.d.ts} +1 -1
  47. package/lib/orchestrate/facade/structures/transformFacadeStateMessage.js.map +1 -0
  48. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js +2 -2
  49. package/lib/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -1
  50. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js +1 -1
  51. package/lib/orchestrate/interface/histories/transformInterfaceEndpointHistories.js.map +1 -1
  52. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +3 -2
  53. package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +1 -1
  54. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js +1 -1
  55. package/lib/orchestrate/interface/histories/transformInterfaceGroupHistories.js.map +1 -1
  56. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js +1 -1
  57. package/lib/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -1
  58. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +2 -2
  59. package/lib/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -1
  60. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +1 -1
  61. package/lib/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -1
  62. package/lib/orchestrate/interface/orchestrateInterface.d.ts +1 -1
  63. package/lib/orchestrate/interface/orchestrateInterface.js +15 -8
  64. package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
  65. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js +874 -49
  66. package/lib/orchestrate/interface/orchestrateInterfaceAuthorizations.js.map +1 -1
  67. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +1858 -67
  68. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
  69. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +251 -133
  70. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
  71. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +0 -6
  72. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +257 -135
  73. package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -1
  74. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js +341 -227
  75. package/lib/orchestrate/interface/orchestrateInterfaceGroups.js.map +1 -1
  76. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +761 -49
  77. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  78. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js +911 -50
  79. package/lib/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
  80. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js +207 -4
  81. package/lib/orchestrate/interface/orchestrateInterfacePrerequisites.js.map +1 -1
  82. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js +109 -2
  83. package/lib/orchestrate/interface/orchestrateInterfaceSchemaRename.js.map +1 -1
  84. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.d.ts +5 -3
  85. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js +1904 -77
  86. package/lib/orchestrate/interface/orchestrateInterfaceSchemaReview.js.map +1 -1
  87. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js +1858 -67
  88. package/lib/orchestrate/interface/orchestrateInterfaceSchemas.js.map +1 -1
  89. package/lib/orchestrate/interface/utils/JsonSchemaFactory.js +23 -23
  90. package/lib/orchestrate/prisma/orchestratePrisma.d.ts +1 -1
  91. package/lib/orchestrate/prisma/orchestratePrisma.js +1 -0
  92. package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
  93. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +391 -197
  94. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  95. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +1168 -591
  96. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  97. package/lib/orchestrate/prisma/orchestratePrismaReview.js +1186 -600
  98. package/lib/orchestrate/prisma/orchestratePrismaReview.js.map +1 -1
  99. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js +6 -3
  100. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -1
  101. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js +2 -2
  102. package/lib/orchestrate/realize/histories/transformRealizeWriteAuthorizationsHistories.js.map +1 -1
  103. package/lib/orchestrate/realize/orchestrateRealize.d.ts +1 -1
  104. package/lib/orchestrate/realize/orchestrateRealize.js +2 -1
  105. package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
  106. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js +362 -180
  107. package/lib/orchestrate/realize/orchestrateRealizeAuthorization.js.map +1 -1
  108. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js +399 -199
  109. package/lib/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.js.map +1 -1
  110. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js +133 -4
  111. package/lib/orchestrate/realize/orchestrateRealizeCorrect.js.map +1 -1
  112. package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js +171 -7
  113. package/lib/orchestrate/realize/orchestrateRealizeCorrectCasting.js.map +1 -1
  114. package/lib/orchestrate/realize/orchestrateRealizeWrite.js +132 -3
  115. package/lib/orchestrate/realize/orchestrateRealizeWrite.js.map +1 -1
  116. package/lib/orchestrate/realize/utils/replaceImportStatements.js +0 -85
  117. package/lib/orchestrate/realize/utils/replaceImportStatements.js.map +1 -1
  118. package/lib/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
  119. package/lib/orchestrate/test/orchestrateTest.d.ts +1 -1
  120. package/lib/orchestrate/test/orchestrateTest.js +2 -1
  121. package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
  122. package/lib/orchestrate/test/orchestrateTestCorrect.js +134 -3
  123. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  124. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js +169 -4
  125. package/lib/orchestrate/test/orchestrateTestCorrectInvalidRequest.js.map +1 -1
  126. package/lib/orchestrate/test/orchestrateTestScenario.js +257 -4
  127. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  128. package/lib/orchestrate/test/orchestrateTestScenarioReview.js +283 -4
  129. package/lib/orchestrate/test/orchestrateTestScenarioReview.js.map +1 -1
  130. package/lib/orchestrate/test/orchestrateTestWrite.js +141 -3
  131. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  132. package/lib/utils/TokenUsageComputer.d.ts +5 -0
  133. package/lib/utils/TokenUsageComputer.js +29 -0
  134. package/lib/utils/TokenUsageComputer.js.map +1 -0
  135. package/package.json +10 -10
  136. package/src/AutoBeAgent.ts +40 -6
  137. package/src/AutoBeMockAgent.ts +2 -4
  138. package/src/constants/AutoBeSystemPromptConstant.ts +11 -11
  139. package/src/context/AutoBeContext.ts +8 -0
  140. package/src/context/AutoBeTokenUsage.ts +1 -1
  141. package/src/context/assertSchemaModel.ts +5 -8
  142. package/src/factory/AutoBeFunctionCallingMetricFactory.ts +44 -0
  143. package/src/factory/AutoBeProcessAggregateFactory.ts +141 -0
  144. package/src/factory/createAutoBeContext.ts +96 -36
  145. package/src/orchestrate/analyze/orchestrateAnalyze.ts +1 -0
  146. package/src/orchestrate/analyze/orchestrateAnalyzeReview.ts +9 -10
  147. package/src/orchestrate/analyze/orchestrateAnalyzeScenario.ts +15 -10
  148. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +10 -11
  149. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeReviewApplication.ts +19 -54
  150. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeScenarioApplication.ts +25 -22
  151. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeWriteApplication.ts +8 -24
  152. package/src/orchestrate/common/orchestrateCommonCorrectCasting.ts +20 -3
  153. package/src/orchestrate/facade/createAutoBeFacadeController.ts +136 -0
  154. package/src/orchestrate/facade/{transformFacadeStateMessage.ts → structures/transformFacadeStateMessage.ts} +2 -2
  155. package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +1 -0
  156. package/src/orchestrate/interface/orchestrateInterface.ts +17 -6
  157. package/src/orchestrate/interface/orchestrateInterfaceAuthorizations.ts +13 -2
  158. package/src/orchestrate/interface/orchestrateInterfaceComplement.ts +13 -2
  159. package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +16 -11
  160. package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +16 -13
  161. package/src/orchestrate/interface/orchestrateInterfaceGroups.ts +19 -15
  162. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +13 -2
  163. package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +16 -2
  164. package/src/orchestrate/interface/orchestrateInterfacePrerequisites.ts +13 -2
  165. package/src/orchestrate/interface/orchestrateInterfaceSchemaRename.ts +11 -2
  166. package/src/orchestrate/interface/orchestrateInterfaceSchemaReview.ts +24 -16
  167. package/src/orchestrate/interface/orchestrateInterfaceSchemas.ts +13 -2
  168. package/src/orchestrate/prisma/orchestratePrisma.ts +2 -1
  169. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +15 -10
  170. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +9 -10
  171. package/src/orchestrate/prisma/orchestratePrismaReview.ts +9 -11
  172. package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +2 -1
  173. package/src/orchestrate/realize/orchestrateRealize.ts +3 -2
  174. package/src/orchestrate/realize/orchestrateRealizeAuthorization.ts +15 -10
  175. package/src/orchestrate/realize/orchestrateRealizeAuthorizationCorrect.ts +15 -10
  176. package/src/orchestrate/realize/orchestrateRealizeCorrect.ts +14 -3
  177. package/src/orchestrate/realize/orchestrateRealizeCorrectCasting.ts +21 -6
  178. package/src/orchestrate/realize/orchestrateRealizeWrite.ts +13 -2
  179. package/src/orchestrate/realize/utils/replaceImportStatements.ts +0 -90
  180. package/src/orchestrate/test/experimental/orchestrateTestWrite.ast +5 -1
  181. package/src/orchestrate/test/histories/transformTestWriteHistories.ts +1 -1
  182. package/src/orchestrate/test/orchestrateTest.ts +3 -2
  183. package/src/orchestrate/test/orchestrateTestCorrect.ts +14 -2
  184. package/src/orchestrate/test/orchestrateTestCorrectInvalidRequest.ts +21 -3
  185. package/src/orchestrate/test/orchestrateTestScenario.ts +13 -2
  186. package/src/orchestrate/test/orchestrateTestScenarioReview.ts +13 -2
  187. package/src/orchestrate/test/orchestrateTestWrite.ts +13 -2
  188. package/src/utils/TokenUsageComputer.ts +35 -0
  189. package/lib/context/IAutoBeFacadeApplication.js.map +0 -1
  190. package/lib/context/IAutoBeFacadeApplicationProps.js.map +0 -1
  191. package/lib/context/IAutoBeFacadeApplicationResult.js.map +0 -1
  192. package/lib/factory/createAutoBeApplication.js +0 -942
  193. package/lib/factory/createAutoBeApplication.js.map +0 -1
  194. package/lib/orchestrate/facade/transformFacadeStateMessage.js.map +0 -1
  195. package/src/factory/createAutoBeApplication.ts +0 -123
  196. /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplication.d.ts +0 -0
  197. /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplication.js +0 -0
  198. /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationProps.d.ts +0 -0
  199. /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationProps.js +0 -0
  200. /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationResult.d.ts +0 -0
  201. /package/lib/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationResult.js +0 -0
  202. /package/lib/orchestrate/facade/{transformFacadeStateMessage.js → structures/transformFacadeStateMessage.js} +0 -0
  203. /package/src/{context → orchestrate/facade/histories}/IAutoBeFacadeApplication.ts +0 -0
  204. /package/src/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationProps.ts +0 -0
  205. /package/src/{context → orchestrate/facade/histories}/IAutoBeFacadeApplicationResult.ts +0 -0
@@ -96,7 +96,7 @@ function process(ctx, actor, templateFiles, progress, promptCacheKey) {
96
96
  const pointer = {
97
97
  value: null,
98
98
  };
99
- const { tokenUsage } = yield ctx.conversate({
99
+ const { metric, tokenUsage } = yield ctx.conversate({
100
100
  source: "realizeAuthorizationWrite",
101
101
  histories: (0, transformRealizeAuthorization_1.transformRealizeAuthorizationHistories)(ctx, actor),
102
102
  controller: createController({
@@ -137,6 +137,7 @@ function process(ctx, actor, templateFiles, progress, promptCacheKey) {
137
137
  id: (0, uuid_1.v7)(),
138
138
  created_at: new Date().toISOString(),
139
139
  authorization: authorization,
140
+ metric,
140
141
  tokenUsage,
141
142
  completed: ++progress.completed,
142
143
  total: progress.total,
@@ -147,7 +148,11 @@ function process(ctx, actor, templateFiles, progress, promptCacheKey) {
147
148
  }
148
149
  function createController(props) {
149
150
  (0, assertSchemaModel_1.assertSchemaModel)(props.model);
150
- const application = collection[props.model];
151
+ const application = collection[props.model === "chatgpt"
152
+ ? "chatgpt"
153
+ : props.model === "gemini"
154
+ ? "gemini"
155
+ : "claude"];
151
156
  return {
152
157
  protocol: "class",
153
158
  name: "Create Decorator",
@@ -159,209 +164,390 @@ function createController(props) {
159
164
  },
160
165
  };
161
166
  }
162
- const claude = {
163
- model: "claude",
164
- options: {
165
- reference: true,
166
- separate: null
167
- },
168
- functions: [
169
- {
170
- name: "createDecorator",
171
- parameters: {
172
- description: " Properties containing provider, decorator, and payload type\nconfigurations\n\n------------------------------\n\nCurrent Type: {@link IAutoBeRealizeAuthorizationApplication.IProps}",
173
- type: "object",
174
- properties: {
175
- provider: {
176
- description: "Authentication Provider function configuration containing the function\nname and implementation code. The Provider handles JWT token\nverification, role validation, and database queries to authenticate\nusers.",
177
- $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IProvider"
178
- },
179
- decorator: {
180
- description: "Authentication Decorator configuration containing the decorator name and\nimplementation code. The Decorator integrates with NestJS parameter\ndecorators to automatically inject authenticated user data into\nController methods.",
181
- $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IDecorator"
167
+ const collection = {
168
+ chatgpt: {
169
+ model: "chatgpt",
170
+ options: {
171
+ reference: true,
172
+ strict: false,
173
+ separate: null
174
+ },
175
+ functions: [
176
+ {
177
+ name: "createDecorator",
178
+ parameters: {
179
+ description: " Properties containing provider, decorator, and payload type\nconfigurations\n\n------------------------------\n\nCurrent Type: {@link IAutoBeRealizeAuthorizationApplication.IProps}",
180
+ type: "object",
181
+ properties: {
182
+ provider: {
183
+ description: "Authentication Provider function configuration containing the function\nname and implementation code. The Provider handles JWT token\nverification, role validation, and database queries to authenticate\nusers.",
184
+ $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IProvider"
185
+ },
186
+ decorator: {
187
+ description: "Authentication Decorator configuration containing the decorator name and\nimplementation code. The Decorator integrates with NestJS parameter\ndecorators to automatically inject authenticated user data into\nController methods.",
188
+ $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IDecorator"
189
+ },
190
+ payload: {
191
+ description: "Authentication Payload Type configuration containing the payload type\nname and implementation code. The Payload Type is used to define the\nstructure of the authenticated user data that will be injected into\nController methods when using the decorator. It serves as the TypeScript\ntype for the parameter in Controller method signatures.",
192
+ $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IPayloadType"
193
+ }
182
194
  },
183
- payload: {
184
- description: "Authentication Payload Type configuration containing the payload type\nname and implementation code. The Payload Type is used to define the\nstructure of the authenticated user data that will be injected into\nController methods when using the decorator. It serves as the TypeScript\ntype for the parameter in Controller method signatures.",
185
- $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IPayloadType"
195
+ required: [
196
+ "provider",
197
+ "decorator",
198
+ "payload"
199
+ ],
200
+ additionalProperties: false,
201
+ $defs: {
202
+ "IAutoBeRealizeAuthorizationApplication.IProvider": {
203
+ type: "object",
204
+ properties: {
205
+ name: {
206
+ description: "The name of the authentication Provider function in {role}Authorize\nformat (e.g., adminAuthorize, userAuthorize). This function will be\ncalled by the decorator to verify JWT tokens and return authenticated\nuser information for the specified role.\n\nDO: Use camelCase naming convention.\n\n\n@pattern ^[a-z][a-zA-Z0-9]*$",
207
+ type: "string"
208
+ },
209
+ content: {
210
+ description: "Complete TypeScript code for the authentication Provider function. Must\ninclude: JWT token verification using jwtAuthorize function, role type\nchecking against payload.type, database query using\nMyGlobal.prisma.{tableName} pattern to verify user existence, and proper\nerror handling with ForbiddenException and UnauthorizedException. The\nfunction should return the authenticated user payload data.",
211
+ type: "string"
212
+ }
213
+ },
214
+ required: [
215
+ "name",
216
+ "content"
217
+ ]
218
+ },
219
+ "IAutoBeRealizeAuthorizationApplication.IDecorator": {
220
+ type: "object",
221
+ properties: {
222
+ name: {
223
+ description: "The name of the Decorator to be generated in {Actor}Auth format (e.g.,\nAdminAuth, UserAuth). This decorator will be used as a parameter\ndecorator in Controller methods to automatically authenticate and\nauthorize users for the specific role, injecting the authenticated user\npayload as a method parameter.\n\nDO: Use PascalCase naming convention.\n\n\n@pattern ^[A-Z][a-zA-Z0-9]*$",
224
+ type: "string"
225
+ },
226
+ content: {
227
+ description: "Complete TypeScript code for the authentication Decorator implementation.\nMust include: SwaggerCustomizer integration to add bearer token security\nschema to API documentation, createParamDecorator implementation that\ncalls the corresponding Provider function for authentication, Singleton\npattern using tstl library for efficient decorator instance management,\nand proper TypeScript typing for the ParameterDecorator interface.",
228
+ type: "string"
229
+ }
230
+ },
231
+ required: [
232
+ "name",
233
+ "content"
234
+ ]
235
+ },
236
+ "IAutoBeRealizeAuthorizationApplication.IPayloadType": {
237
+ type: "object",
238
+ properties: {
239
+ name: {
240
+ description: "The name of the Payload type to be generated in {Actor}Payload format\n(e.g., AdminPayload, UserPayload). This type defines the structure of the\nauthenticated user data that will be injected into Controller methods\nwhen using the decorator.\n\nDO: Use PascalCase naming convention.\n\n\n@pattern ^[A-Z][a-zA-Z0-9]*$",
241
+ type: "string"
242
+ },
243
+ content: {
244
+ description: "Complete TypeScript code for the Payload type interface in {Actor}Payload\nformat (e.g., AdminPayload, UserPayload). Must include: id field with\nUUID format validation, type field as role discriminator, and proper\ntypia tags for validation. This interface defines the structure of the\nauthenticated user data that will be injected into Controller methods\nwhen using the decorator and serves as the TypeScript type for the\nparameter in Controller method signatures.",
245
+ type: "string"
246
+ }
247
+ },
248
+ required: [
249
+ "name",
250
+ "content"
251
+ ]
252
+ }
186
253
  }
187
254
  },
188
- required: [
189
- "provider",
190
- "decorator",
191
- "payload"
192
- ],
193
- additionalProperties: false,
194
- $defs: {
195
- "IAutoBeRealizeAuthorizationApplication.IProvider": {
196
- type: "object",
197
- properties: {
198
- name: {
199
- description: "The name of the authentication Provider function in {role}Authorize\nformat (e.g., adminAuthorize, userAuthorize). This function will be\ncalled by the decorator to verify JWT tokens and return authenticated\nuser information for the specified role.\n\nDO: Use camelCase naming convention.",
200
- type: "string",
201
- pattern: "^[a-z][a-zA-Z0-9]*$"
202
- },
203
- content: {
204
- description: "Complete TypeScript code for the authentication Provider function. Must\ninclude: JWT token verification using jwtAuthorize function, role type\nchecking against payload.type, database query using\nMyGlobal.prisma.{tableName} pattern to verify user existence, and proper\nerror handling with ForbiddenException and UnauthorizedException. The\nfunction should return the authenticated user payload data.",
205
- type: "string"
206
- }
255
+ description: "Generates authentication provider, decorator, and payload type for\nrole-based authorization.\n\nThis method creates a complete authentication infrastructure for a specific\nrole in the NestJS application. It generates three interconnected\ncomponents that work together to provide JWT-based authentication and\nauthorization.\n\nThe generated components include:\n\n- **Provider Function**: Handles JWT verification and user validation from\n database\n- **Decorator**: NestJS parameter decorator for injecting authenticated user\n data\n- **Payload Type**: TypeScript interface defining the authenticated user\n structure\n\nAll components follow strict naming conventions and integrate with the\nexisting authentication architecture using the shared jwtAuthorize\nfunction.",
256
+ validate: (() => { const _io0 = input => "object" === typeof input.provider && null !== input.provider && _io1(input.provider) && ("object" === typeof input.decorator && null !== input.decorator && _io2(input.decorator)) && ("object" === typeof input.payload && null !== input.payload && _io3(input.payload)); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _io2 = input => "string" === typeof input.name && RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _io3 = input => "string" === typeof input.name && RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.provider && null !== input.provider || _report(_exceptionable, {
257
+ path: _path + ".provider",
258
+ expected: "IAutoBeRealizeAuthorizationApplication.IProvider",
259
+ value: input.provider
260
+ })) && _vo1(input.provider, _path + ".provider", true && _exceptionable) || _report(_exceptionable, {
261
+ path: _path + ".provider",
262
+ expected: "IAutoBeRealizeAuthorizationApplication.IProvider",
263
+ value: input.provider
264
+ }), ("object" === typeof input.decorator && null !== input.decorator || _report(_exceptionable, {
265
+ path: _path + ".decorator",
266
+ expected: "IAutoBeRealizeAuthorizationApplication.IDecorator",
267
+ value: input.decorator
268
+ })) && _vo2(input.decorator, _path + ".decorator", true && _exceptionable) || _report(_exceptionable, {
269
+ path: _path + ".decorator",
270
+ expected: "IAutoBeRealizeAuthorizationApplication.IDecorator",
271
+ value: input.decorator
272
+ }), ("object" === typeof input.payload && null !== input.payload || _report(_exceptionable, {
273
+ path: _path + ".payload",
274
+ expected: "IAutoBeRealizeAuthorizationApplication.IPayloadType",
275
+ value: input.payload
276
+ })) && _vo3(input.payload, _path + ".payload", true && _exceptionable) || _report(_exceptionable, {
277
+ path: _path + ".payload",
278
+ expected: "IAutoBeRealizeAuthorizationApplication.IPayloadType",
279
+ value: input.payload
280
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
281
+ path: _path + ".name",
282
+ expected: "string & CamelCasePattern",
283
+ value: input.name
284
+ })) || _report(_exceptionable, {
285
+ path: _path + ".name",
286
+ expected: "(string & CamelCasePattern)",
287
+ value: input.name
288
+ }), "string" === typeof input.content || _report(_exceptionable, {
289
+ path: _path + ".content",
290
+ expected: "string",
291
+ value: input.content
292
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
293
+ path: _path + ".name",
294
+ expected: "string & PascalCasePattern",
295
+ value: input.name
296
+ })) || _report(_exceptionable, {
297
+ path: _path + ".name",
298
+ expected: "(string & PascalCasePattern)",
299
+ value: input.name
300
+ }), "string" === typeof input.content || _report(_exceptionable, {
301
+ path: _path + ".content",
302
+ expected: "string",
303
+ value: input.content
304
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
305
+ path: _path + ".name",
306
+ expected: "string & PascalCasePattern",
307
+ value: input.name
308
+ })) || _report(_exceptionable, {
309
+ path: _path + ".name",
310
+ expected: "(string & PascalCasePattern)",
311
+ value: input.name
312
+ }), "string" === typeof input.content || _report(_exceptionable, {
313
+ path: _path + ".content",
314
+ expected: "string",
315
+ value: input.content
316
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
317
+ if (false === __is(input)) {
318
+ errors = [];
319
+ _report = __typia_transform__validateReport._validateReport(errors);
320
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
321
+ path: _path + "",
322
+ expected: "IAutoBeRealizeAuthorizationApplication.IProps",
323
+ value: input
324
+ })) && _vo0(input, _path + "", true) || _report(true, {
325
+ path: _path + "",
326
+ expected: "IAutoBeRealizeAuthorizationApplication.IProps",
327
+ value: input
328
+ }))(input, "$input", true);
329
+ const success = 0 === errors.length;
330
+ return success ? {
331
+ success,
332
+ data: input
333
+ } : {
334
+ success,
335
+ errors,
336
+ data: input
337
+ };
338
+ }
339
+ return {
340
+ success: true,
341
+ data: input
342
+ };
343
+ }; })()
344
+ }
345
+ ]
346
+ },
347
+ claude: {
348
+ model: "claude",
349
+ options: {
350
+ reference: true,
351
+ separate: null
352
+ },
353
+ functions: [
354
+ {
355
+ name: "createDecorator",
356
+ parameters: {
357
+ description: " Properties containing provider, decorator, and payload type\nconfigurations\n\n------------------------------\n\nCurrent Type: {@link IAutoBeRealizeAuthorizationApplication.IProps}",
358
+ type: "object",
359
+ properties: {
360
+ provider: {
361
+ description: "Authentication Provider function configuration containing the function\nname and implementation code. The Provider handles JWT token\nverification, role validation, and database queries to authenticate\nusers.",
362
+ $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IProvider"
207
363
  },
208
- required: [
209
- "name",
210
- "content"
211
- ]
364
+ decorator: {
365
+ description: "Authentication Decorator configuration containing the decorator name and\nimplementation code. The Decorator integrates with NestJS parameter\ndecorators to automatically inject authenticated user data into\nController methods.",
366
+ $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IDecorator"
367
+ },
368
+ payload: {
369
+ description: "Authentication Payload Type configuration containing the payload type\nname and implementation code. The Payload Type is used to define the\nstructure of the authenticated user data that will be injected into\nController methods when using the decorator. It serves as the TypeScript\ntype for the parameter in Controller method signatures.",
370
+ $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IPayloadType"
371
+ }
212
372
  },
213
- "IAutoBeRealizeAuthorizationApplication.IDecorator": {
214
- type: "object",
215
- properties: {
216
- name: {
217
- description: "The name of the Decorator to be generated in {Actor}Auth format (e.g.,\nAdminAuth, UserAuth). This decorator will be used as a parameter\ndecorator in Controller methods to automatically authenticate and\nauthorize users for the specific role, injecting the authenticated user\npayload as a method parameter.\n\nDO: Use PascalCase naming convention.",
218
- type: "string",
219
- pattern: "^[A-Z][a-zA-Z0-9]*$"
373
+ required: [
374
+ "provider",
375
+ "decorator",
376
+ "payload"
377
+ ],
378
+ additionalProperties: false,
379
+ $defs: {
380
+ "IAutoBeRealizeAuthorizationApplication.IProvider": {
381
+ type: "object",
382
+ properties: {
383
+ name: {
384
+ description: "The name of the authentication Provider function in {role}Authorize\nformat (e.g., adminAuthorize, userAuthorize). This function will be\ncalled by the decorator to verify JWT tokens and return authenticated\nuser information for the specified role.\n\nDO: Use camelCase naming convention.",
385
+ type: "string",
386
+ pattern: "^[a-z][a-zA-Z0-9]*$"
387
+ },
388
+ content: {
389
+ description: "Complete TypeScript code for the authentication Provider function. Must\ninclude: JWT token verification using jwtAuthorize function, role type\nchecking against payload.type, database query using\nMyGlobal.prisma.{tableName} pattern to verify user existence, and proper\nerror handling with ForbiddenException and UnauthorizedException. The\nfunction should return the authenticated user payload data.",
390
+ type: "string"
391
+ }
220
392
  },
221
- content: {
222
- description: "Complete TypeScript code for the authentication Decorator implementation.\nMust include: SwaggerCustomizer integration to add bearer token security\nschema to API documentation, createParamDecorator implementation that\ncalls the corresponding Provider function for authentication, Singleton\npattern using tstl library for efficient decorator instance management,\nand proper TypeScript typing for the ParameterDecorator interface.",
223
- type: "string"
224
- }
393
+ required: [
394
+ "name",
395
+ "content"
396
+ ]
225
397
  },
226
- required: [
227
- "name",
228
- "content"
229
- ]
230
- },
231
- "IAutoBeRealizeAuthorizationApplication.IPayloadType": {
232
- type: "object",
233
- properties: {
234
- name: {
235
- description: "The name of the Payload type to be generated in {Actor}Payload format\n(e.g., AdminPayload, UserPayload). This type defines the structure of the\nauthenticated user data that will be injected into Controller methods\nwhen using the decorator.\n\nDO: Use PascalCase naming convention.",
236
- type: "string",
237
- pattern: "^[A-Z][a-zA-Z0-9]*$"
398
+ "IAutoBeRealizeAuthorizationApplication.IDecorator": {
399
+ type: "object",
400
+ properties: {
401
+ name: {
402
+ description: "The name of the Decorator to be generated in {Actor}Auth format (e.g.,\nAdminAuth, UserAuth). This decorator will be used as a parameter\ndecorator in Controller methods to automatically authenticate and\nauthorize users for the specific role, injecting the authenticated user\npayload as a method parameter.\n\nDO: Use PascalCase naming convention.",
403
+ type: "string",
404
+ pattern: "^[A-Z][a-zA-Z0-9]*$"
405
+ },
406
+ content: {
407
+ description: "Complete TypeScript code for the authentication Decorator implementation.\nMust include: SwaggerCustomizer integration to add bearer token security\nschema to API documentation, createParamDecorator implementation that\ncalls the corresponding Provider function for authentication, Singleton\npattern using tstl library for efficient decorator instance management,\nand proper TypeScript typing for the ParameterDecorator interface.",
408
+ type: "string"
409
+ }
238
410
  },
239
- content: {
240
- description: "Complete TypeScript code for the Payload type interface in {Actor}Payload\nformat (e.g., AdminPayload, UserPayload). Must include: id field with\nUUID format validation, type field as role discriminator, and proper\ntypia tags for validation. This interface defines the structure of the\nauthenticated user data that will be injected into Controller methods\nwhen using the decorator and serves as the TypeScript type for the\nparameter in Controller method signatures.",
241
- type: "string"
242
- }
411
+ required: [
412
+ "name",
413
+ "content"
414
+ ]
243
415
  },
244
- required: [
245
- "name",
246
- "content"
247
- ]
416
+ "IAutoBeRealizeAuthorizationApplication.IPayloadType": {
417
+ type: "object",
418
+ properties: {
419
+ name: {
420
+ description: "The name of the Payload type to be generated in {Actor}Payload format\n(e.g., AdminPayload, UserPayload). This type defines the structure of the\nauthenticated user data that will be injected into Controller methods\nwhen using the decorator.\n\nDO: Use PascalCase naming convention.",
421
+ type: "string",
422
+ pattern: "^[A-Z][a-zA-Z0-9]*$"
423
+ },
424
+ content: {
425
+ description: "Complete TypeScript code for the Payload type interface in {Actor}Payload\nformat (e.g., AdminPayload, UserPayload). Must include: id field with\nUUID format validation, type field as role discriminator, and proper\ntypia tags for validation. This interface defines the structure of the\nauthenticated user data that will be injected into Controller methods\nwhen using the decorator and serves as the TypeScript type for the\nparameter in Controller method signatures.",
426
+ type: "string"
427
+ }
428
+ },
429
+ required: [
430
+ "name",
431
+ "content"
432
+ ]
433
+ }
248
434
  }
249
- }
250
- },
251
- description: "Generates authentication provider, decorator, and payload type for\nrole-based authorization.\n\nThis method creates a complete authentication infrastructure for a specific\nrole in the NestJS application. It generates three interconnected\ncomponents that work together to provide JWT-based authentication and\nauthorization.\n\nThe generated components include:\n\n- **Provider Function**: Handles JWT verification and user validation from\n database\n- **Decorator**: NestJS parameter decorator for injecting authenticated user\n data\n- **Payload Type**: TypeScript interface defining the authenticated user\n structure\n\nAll components follow strict naming conventions and integrate with the\nexisting authentication architecture using the shared jwtAuthorize\nfunction.",
252
- validate: (() => { const _io0 = input => "object" === typeof input.provider && null !== input.provider && _io1(input.provider) && ("object" === typeof input.decorator && null !== input.decorator && _io2(input.decorator)) && ("object" === typeof input.payload && null !== input.payload && _io3(input.payload)); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _io2 = input => "string" === typeof input.name && RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _io3 = input => "string" === typeof input.name && RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.provider && null !== input.provider || _report(_exceptionable, {
253
- path: _path + ".provider",
254
- expected: "IAutoBeRealizeAuthorizationApplication.IProvider",
255
- value: input.provider
256
- })) && _vo1(input.provider, _path + ".provider", true && _exceptionable) || _report(_exceptionable, {
257
- path: _path + ".provider",
258
- expected: "IAutoBeRealizeAuthorizationApplication.IProvider",
259
- value: input.provider
260
- }), ("object" === typeof input.decorator && null !== input.decorator || _report(_exceptionable, {
261
- path: _path + ".decorator",
262
- expected: "IAutoBeRealizeAuthorizationApplication.IDecorator",
263
- value: input.decorator
264
- })) && _vo2(input.decorator, _path + ".decorator", true && _exceptionable) || _report(_exceptionable, {
265
- path: _path + ".decorator",
266
- expected: "IAutoBeRealizeAuthorizationApplication.IDecorator",
267
- value: input.decorator
268
- }), ("object" === typeof input.payload && null !== input.payload || _report(_exceptionable, {
269
- path: _path + ".payload",
270
- expected: "IAutoBeRealizeAuthorizationApplication.IPayloadType",
271
- value: input.payload
272
- })) && _vo3(input.payload, _path + ".payload", true && _exceptionable) || _report(_exceptionable, {
273
- path: _path + ".payload",
274
- expected: "IAutoBeRealizeAuthorizationApplication.IPayloadType",
275
- value: input.payload
276
- })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
277
- path: _path + ".name",
278
- expected: "string & CamelCasePattern",
279
- value: input.name
280
- })) || _report(_exceptionable, {
281
- path: _path + ".name",
282
- expected: "(string & CamelCasePattern)",
283
- value: input.name
284
- }), "string" === typeof input.content || _report(_exceptionable, {
285
- path: _path + ".content",
286
- expected: "string",
287
- value: input.content
288
- })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
289
- path: _path + ".name",
290
- expected: "string & PascalCasePattern",
291
- value: input.name
292
- })) || _report(_exceptionable, {
293
- path: _path + ".name",
294
- expected: "(string & PascalCasePattern)",
295
- value: input.name
296
- }), "string" === typeof input.content || _report(_exceptionable, {
297
- path: _path + ".content",
298
- expected: "string",
299
- value: input.content
300
- })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
301
- path: _path + ".name",
302
- expected: "string & PascalCasePattern",
303
- value: input.name
304
- })) || _report(_exceptionable, {
305
- path: _path + ".name",
306
- expected: "(string & PascalCasePattern)",
307
- value: input.name
308
- }), "string" === typeof input.content || _report(_exceptionable, {
309
- path: _path + ".content",
310
- expected: "string",
311
- value: input.content
312
- })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
313
- if (false === __is(input)) {
314
- errors = [];
315
- _report = __typia_transform__validateReport._validateReport(errors);
316
- ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
317
- path: _path + "",
318
- expected: "IAutoBeRealizeAuthorizationApplication.IProps",
319
- value: input
320
- })) && _vo0(input, _path + "", true) || _report(true, {
321
- path: _path + "",
322
- expected: "IAutoBeRealizeAuthorizationApplication.IProps",
323
- value: input
324
- }))(input, "$input", true);
325
- const success = 0 === errors.length;
326
- return success ? {
327
- success,
328
- data: input
329
- } : {
330
- success,
331
- errors,
435
+ },
436
+ description: "Generates authentication provider, decorator, and payload type for\nrole-based authorization.\n\nThis method creates a complete authentication infrastructure for a specific\nrole in the NestJS application. It generates three interconnected\ncomponents that work together to provide JWT-based authentication and\nauthorization.\n\nThe generated components include:\n\n- **Provider Function**: Handles JWT verification and user validation from\n database\n- **Decorator**: NestJS parameter decorator for injecting authenticated user\n data\n- **Payload Type**: TypeScript interface defining the authenticated user\n structure\n\nAll components follow strict naming conventions and integrate with the\nexisting authentication architecture using the shared jwtAuthorize\nfunction.",
437
+ validate: (() => { const _io0 = input => "object" === typeof input.provider && null !== input.provider && _io1(input.provider) && ("object" === typeof input.decorator && null !== input.decorator && _io2(input.decorator)) && ("object" === typeof input.payload && null !== input.payload && _io3(input.payload)); const _io1 = input => "string" === typeof input.name && RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _io2 = input => "string" === typeof input.name && RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _io3 = input => "string" === typeof input.name && RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) && "string" === typeof input.content; const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.provider && null !== input.provider || _report(_exceptionable, {
438
+ path: _path + ".provider",
439
+ expected: "IAutoBeRealizeAuthorizationApplication.IProvider",
440
+ value: input.provider
441
+ })) && _vo1(input.provider, _path + ".provider", true && _exceptionable) || _report(_exceptionable, {
442
+ path: _path + ".provider",
443
+ expected: "IAutoBeRealizeAuthorizationApplication.IProvider",
444
+ value: input.provider
445
+ }), ("object" === typeof input.decorator && null !== input.decorator || _report(_exceptionable, {
446
+ path: _path + ".decorator",
447
+ expected: "IAutoBeRealizeAuthorizationApplication.IDecorator",
448
+ value: input.decorator
449
+ })) && _vo2(input.decorator, _path + ".decorator", true && _exceptionable) || _report(_exceptionable, {
450
+ path: _path + ".decorator",
451
+ expected: "IAutoBeRealizeAuthorizationApplication.IDecorator",
452
+ value: input.decorator
453
+ }), ("object" === typeof input.payload && null !== input.payload || _report(_exceptionable, {
454
+ path: _path + ".payload",
455
+ expected: "IAutoBeRealizeAuthorizationApplication.IPayloadType",
456
+ value: input.payload
457
+ })) && _vo3(input.payload, _path + ".payload", true && _exceptionable) || _report(_exceptionable, {
458
+ path: _path + ".payload",
459
+ expected: "IAutoBeRealizeAuthorizationApplication.IPayloadType",
460
+ value: input.payload
461
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[a-z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
462
+ path: _path + ".name",
463
+ expected: "string & CamelCasePattern",
464
+ value: input.name
465
+ })) || _report(_exceptionable, {
466
+ path: _path + ".name",
467
+ expected: "(string & CamelCasePattern)",
468
+ value: input.name
469
+ }), "string" === typeof input.content || _report(_exceptionable, {
470
+ path: _path + ".content",
471
+ expected: "string",
472
+ value: input.content
473
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
474
+ path: _path + ".name",
475
+ expected: "string & PascalCasePattern",
476
+ value: input.name
477
+ })) || _report(_exceptionable, {
478
+ path: _path + ".name",
479
+ expected: "(string & PascalCasePattern)",
480
+ value: input.name
481
+ }), "string" === typeof input.content || _report(_exceptionable, {
482
+ path: _path + ".content",
483
+ expected: "string",
484
+ value: input.content
485
+ })].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.name && (RegExp("^[A-Z][a-zA-Z0-9]*$").test(input.name) || _report(_exceptionable, {
486
+ path: _path + ".name",
487
+ expected: "string & PascalCasePattern",
488
+ value: input.name
489
+ })) || _report(_exceptionable, {
490
+ path: _path + ".name",
491
+ expected: "(string & PascalCasePattern)",
492
+ value: input.name
493
+ }), "string" === typeof input.content || _report(_exceptionable, {
494
+ path: _path + ".content",
495
+ expected: "string",
496
+ value: input.content
497
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
498
+ if (false === __is(input)) {
499
+ errors = [];
500
+ _report = __typia_transform__validateReport._validateReport(errors);
501
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
502
+ path: _path + "",
503
+ expected: "IAutoBeRealizeAuthorizationApplication.IProps",
504
+ value: input
505
+ })) && _vo0(input, _path + "", true) || _report(true, {
506
+ path: _path + "",
507
+ expected: "IAutoBeRealizeAuthorizationApplication.IProps",
508
+ value: input
509
+ }))(input, "$input", true);
510
+ const success = 0 === errors.length;
511
+ return success ? {
512
+ success,
513
+ data: input
514
+ } : {
515
+ success,
516
+ errors,
517
+ data: input
518
+ };
519
+ }
520
+ return {
521
+ success: true,
332
522
  data: input
333
523
  };
334
- }
335
- return {
336
- success: true,
337
- data: input
338
- };
339
- }; })()
340
- }
341
- ]
342
- };
343
- const collection = {
344
- chatgpt: {
345
- model: "chatgpt",
524
+ }; })()
525
+ }
526
+ ]
527
+ },
528
+ gemini: {
529
+ model: "gemini",
346
530
  options: {
347
531
  reference: true,
348
- strict: false,
349
532
  separate: null
350
533
  },
351
534
  functions: [
352
535
  {
353
536
  name: "createDecorator",
354
537
  parameters: {
355
- description: " Properties containing provider, decorator, and payload type\nconfigurations\n\n------------------------------\n\nCurrent Type: {@link IAutoBeRealizeAuthorizationApplication.IProps}\n\n### Description of {@link provider} property:\n\n> Authentication Provider function configuration containing the function\n> name and implementation code. The Provider handles JWT token\n> verification, role validation, and database queries to authenticate\n> users.\n\n### Description of {@link decorator} property:\n\n> Authentication Decorator configuration containing the decorator name and\n> implementation code. The Decorator integrates with NestJS parameter\n> decorators to automatically inject authenticated user data into\n> Controller methods.\n\n### Description of {@link payload} property:\n\n> Authentication Payload Type configuration containing the payload type\n> name and implementation code. The Payload Type is used to define the\n> structure of the authenticated user data that will be injected into\n> Controller methods when using the decorator. It serves as the TypeScript\n> type for the parameter in Controller method signatures.",
538
+ description: " Properties containing provider, decorator, and payload type\nconfigurations\n\n------------------------------\n\nCurrent Type: {@link IAutoBeRealizeAuthorizationApplication.IProps}",
356
539
  type: "object",
357
540
  properties: {
358
541
  provider: {
542
+ description: "Authentication Provider function configuration containing the function\nname and implementation code. The Provider handles JWT token\nverification, role validation, and database queries to authenticate\nusers.",
359
543
  $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IProvider"
360
544
  },
361
545
  decorator: {
546
+ description: "Authentication Decorator configuration containing the decorator name and\nimplementation code. The Decorator integrates with NestJS parameter\ndecorators to automatically inject authenticated user data into\nController methods.",
362
547
  $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IDecorator"
363
548
  },
364
549
  payload: {
550
+ description: "Authentication Payload Type configuration containing the payload type\nname and implementation code. The Payload Type is used to define the\nstructure of the authenticated user data that will be injected into\nController methods when using the decorator. It serves as the TypeScript\ntype for the parameter in Controller method signatures.",
365
551
  $ref: "#/$defs/IAutoBeRealizeAuthorizationApplication.IPayloadType"
366
552
  }
367
553
  },
@@ -517,9 +703,5 @@ const collection = {
517
703
  }
518
704
  ]
519
705
  },
520
- claude,
521
- llama: claude,
522
- deepseek: claude,
523
- "3.1": claude,
524
706
  };
525
707
  //# sourceMappingURL=orchestrateRealizeAuthorization.js.map