@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
@@ -873,7 +873,11 @@ function createController(props) {
873
873
  };
874
874
  return result;
875
875
  };
876
- const application = collection[props.model === "chatgpt" ? "chatgpt" : "claude"](validate);
876
+ const application = collection[props.model === "chatgpt"
877
+ ? "chatgpt"
878
+ : props.model === "gemini"
879
+ ? "gemini"
880
+ : "claude"](validate);
877
881
  return {
878
882
  protocol: "class",
879
883
  name: "ContentReviewer",
@@ -898,13 +902,15 @@ const collection = {
898
902
  {
899
903
  name: "review",
900
904
  parameters: {
901
- description: " Content review results including completeness issues found,\nfixes applied, and modified schemas\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceSchemaContentReviewApplication.IProps} type:\n\n> Output structure for the content review function.\n> \n> Contains the content analysis, completeness fixes, and schemas modified for\n> content quality during the validation process.\n\n### Description of {@link think} property:\n\n> Content analysis and completeness planning information.\n\n### Description of {@link content} property:\n\n> Modified schemas resulting from content and completeness fixes.\n> \n> Contains ONLY the schemas that were modified for content reasons during\n> review. This includes both modified existing schemas and newly created\n> variant schemas.\n> \n> Content modifications include:\n> \n> - Adding missing fields from Prisma schema\n> - Correcting data type mappings\n> - Fixing required field arrays\n> - Enhancing or adding descriptions\n> - Creating missing variant types (ISummary, IUpdate, etc.)\n> - Ensuring cross-variant consistency\n> \n> Return empty object {} when all content is already complete and accurate,\n> requiring no modifications.",
905
+ description: " Content review results including completeness issues found,\nfixes applied, and modified schemas\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceSchemaContentReviewApplication.IProps} type:\n\n> Output structure for the content review function.\n> \n> Contains the content analysis, completeness fixes, and schemas modified for\n> content quality during the validation process.",
902
906
  type: "object",
903
907
  properties: {
904
908
  think: {
909
+ description: "Content analysis and completeness planning information.",
905
910
  $ref: "#/$defs/IAutoBeInterfaceSchemaContentReviewApplication.IThink"
906
911
  },
907
912
  content: {
913
+ description: "Modified schemas resulting from content and completeness fixes.\n\nContains ONLY the schemas that were modified for content reasons during\nreview. This includes both modified existing schemas and newly created\nvariant schemas.\n\nContent modifications include:\n\n- Adding missing fields from Prisma schema\n- Correcting data type mappings\n- Fixing required field arrays\n- Enhancing or adding descriptions\n- Creating missing variant types (ISummary, IUpdate, etc.)\n- Ensuring cross-variant consistency\n\nReturn empty object {} when all content is already complete and accurate,\nrequiring no modifications.",
908
914
  $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
909
915
  }
910
916
  },
@@ -1171,10 +1177,11 @@ const collection = {
1171
1177
  ]
1172
1178
  },
1173
1179
  "AutoBeOpenApi.IJsonSchemaDescriptive.IArray": {
1174
- description: "Array type info.\n\n### Description of {@link items} property:\n\n> Items type info.\n> \n> The `items` means the type of the array elements. In other words, it is\n> the type schema info of the `T` in the TypeScript array type\n> `Array<T>`.",
1180
+ description: "Array type info.",
1175
1181
  type: "object",
1176
1182
  properties: {
1177
1183
  items: {
1184
+ description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
1178
1185
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
1179
1186
  },
1180
1187
  uniqueItems: {
@@ -1413,10 +1420,11 @@ const collection = {
1413
1420
  ]
1414
1421
  },
1415
1422
  "AutoBeOpenApi.IJsonSchema.IArray": {
1416
- description: "Array type info.\n\n### Description of {@link items} property:\n\n> Items type info.\n> \n> The `items` means the type of the array elements. In other words, it is\n> the type schema info of the `T` in the TypeScript array type\n> `Array<T>`.",
1423
+ description: "Array type info.",
1417
1424
  type: "object",
1418
1425
  properties: {
1419
1426
  items: {
1427
+ description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
1420
1428
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
1421
1429
  },
1422
1430
  uniqueItems: {
@@ -1445,7 +1453,7 @@ const collection = {
1445
1453
  ]
1446
1454
  },
1447
1455
  "AutoBeOpenApi.IJsonSchema.IObject": {
1448
- description: "Object type info.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's\n> regular properties. The key is the name of the regular property, and\n> the value is the type schema info.\n> \n> IMPORTANT: Each property in this object MUST have a detailed\n> description that references and aligns with the description comments\n> from the corresponding Prisma DB schema column.\n> \n> If you need additional properties that is represented by dynamic key,\n> you can use the {@link additionalProperties} instead.",
1456
+ description: "Object type info.",
1449
1457
  type: "object",
1450
1458
  properties: {
1451
1459
  "x-autobe-prisma-schema": {
@@ -1460,6 +1468,7 @@ const collection = {
1460
1468
  ]
1461
1469
  },
1462
1470
  properties: {
1471
+ description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
1463
1472
  $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
1464
1473
  },
1465
1474
  additionalProperties: {
@@ -1554,7 +1563,7 @@ const collection = {
1554
1563
  ]
1555
1564
  },
1556
1565
  "AutoBeOpenApi.IJsonSchema.IOneOf": {
1557
- description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.\n\n### Description of {@link discriminator} property:\n\n> Discriminator info of the union type.",
1566
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
1558
1567
  type: "object",
1559
1568
  properties: {
1560
1569
  oneOf: {
@@ -1593,6 +1602,7 @@ const collection = {
1593
1602
  }
1594
1603
  },
1595
1604
  discriminator: {
1605
+ description: "Discriminator info of the union type.",
1596
1606
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
1597
1607
  }
1598
1608
  },
@@ -1601,7 +1611,7 @@ const collection = {
1601
1611
  ]
1602
1612
  },
1603
1613
  "AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
1604
- description: "Discriminator info of the union type.\n\n### Description of {@link mapping} property:\n\n> Mapping of the discriminator value to the schema name.\n> \n> This property is valid only for {@link IReference} typed\n> {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n> discriminator value, and `value` of `mapping` is the schema name like\n> `#/components/schemas/SomeObject`.",
1614
+ description: "Discriminator info of the union type.",
1605
1615
  type: "object",
1606
1616
  properties: {
1607
1617
  propertyName: {
@@ -1609,6 +1619,7 @@ const collection = {
1609
1619
  type: "string"
1610
1620
  },
1611
1621
  mapping: {
1622
+ description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`.",
1612
1623
  $ref: "#/$defs/Recordstringstring"
1613
1624
  }
1614
1625
  },
@@ -1626,7 +1637,7 @@ const collection = {
1626
1637
  }
1627
1638
  },
1628
1639
  "AutoBeOpenApi.IJsonSchemaDescriptive.IObject": {
1629
- description: "Object type info.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's\n> regular properties. The key is the name of the regular property, and\n> the value is the type schema info.\n> \n> IMPORTANT: Each property in this object MUST have a detailed\n> description that references and aligns with the description comments\n> from the corresponding Prisma DB schema column.\n> \n> If you need additional properties that is represented by dynamic key,\n> you can use the {@link additionalProperties} instead.",
1640
+ description: "Object type info.",
1630
1641
  type: "object",
1631
1642
  properties: {
1632
1643
  "x-autobe-prisma-schema": {
@@ -1641,6 +1652,7 @@ const collection = {
1641
1652
  ]
1642
1653
  },
1643
1654
  properties: {
1655
+ description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
1644
1656
  $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
1645
1657
  },
1646
1658
  additionalProperties: {
@@ -1729,7 +1741,7 @@ const collection = {
1729
1741
  ]
1730
1742
  },
1731
1743
  "AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf": {
1732
- description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.\n\n### Description of {@link discriminator} property:\n\n> Discriminator info of the union type.",
1744
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
1733
1745
  type: "object",
1734
1746
  properties: {
1735
1747
  oneOf: {
@@ -1768,6 +1780,7 @@ const collection = {
1768
1780
  }
1769
1781
  },
1770
1782
  discriminator: {
1783
+ description: "Discriminator info of the union type.",
1771
1784
  $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
1772
1785
  },
1773
1786
  description: {
@@ -4208,5 +4221,1659 @@ const collection = {
4208
4221
  }), { equals: false }));
4209
4222
  return application;
4210
4223
  })(),
4224
+ gemini: (validate) => (() => {
4225
+ const application = {
4226
+ model: "gemini",
4227
+ options: {
4228
+ reference: true,
4229
+ separate: null
4230
+ },
4231
+ functions: [
4232
+ {
4233
+ name: "review",
4234
+ parameters: {
4235
+ description: " Content review results including completeness issues found,\nfixes applied, and modified schemas\n\n------------------------------\n\nDescription of the current {@link IAutoBeInterfaceSchemaContentReviewApplication.IProps} type:\n\n> Output structure for the content review function.\n> \n> Contains the content analysis, completeness fixes, and schemas modified for\n> content quality during the validation process.",
4236
+ type: "object",
4237
+ properties: {
4238
+ think: {
4239
+ description: "Content analysis and completeness planning information.",
4240
+ $ref: "#/$defs/IAutoBeInterfaceSchemaContentReviewApplication.IThink"
4241
+ },
4242
+ content: {
4243
+ description: "Modified schemas resulting from content and completeness fixes.\n\nContains ONLY the schemas that were modified for content reasons during\nreview. This includes both modified existing schemas and newly created\nvariant schemas.\n\nContent modifications include:\n\n- Adding missing fields from Prisma schema\n- Correcting data type mappings\n- Fixing required field arrays\n- Enhancing or adding descriptions\n- Creating missing variant types (ISummary, IUpdate, etc.)\n- Ensuring cross-variant consistency\n\nReturn empty object {} when all content is already complete and accurate,\nrequiring no modifications.",
4244
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
4245
+ }
4246
+ },
4247
+ required: [
4248
+ "think",
4249
+ "content"
4250
+ ],
4251
+ additionalProperties: false,
4252
+ $defs: {
4253
+ "IAutoBeInterfaceSchemaContentReviewApplication.IThink": {
4254
+ type: "object",
4255
+ properties: {
4256
+ review: {
4257
+ description: "Content completeness and quality findings from the review process.\n\nDocuments all content issues discovered during validation, categorized by\ntype: field completeness, type accuracy, required fields, descriptions,\nvariant consistency, and missing variants. Each issue includes the\naffected schema and specific problem identified.\n\nCommon issues documented:\n\n- Field Completeness: Missing fields that exist in Prisma schema\n- Type Accuracy: Incorrect type mappings (e.g., Decimal as string)\n- Required Fields: Misaligned with Prisma nullable settings\n- Description Quality: Missing or inadequate descriptions\n- Variant Consistency: Same field with different types across variants\n- Missing Variants: Required DTO variants not present\n\nShould state \"No content or completeness issues found.\" when all schemas\nhave complete and accurate content.",
4258
+ type: "string"
4259
+ },
4260
+ plan: {
4261
+ description: "Content corrections and completeness fixes applied during review.\n\nLists all content modifications implemented, organized by fix type:\nfields added, types corrected, required arrays fixed, descriptions\nenhanced, consistency fixes, and variants created. Documents both field-\nlevel changes and schema-level additions.\n\nTypical fixes documented:\n\n- Fields added to match Prisma schema\n- Type mappings corrected (Int\u2192integer, Decimal\u2192number)\n- Required arrays aligned with nullability\n- Descriptions added or enhanced for clarity\n- Variant consistency issues resolved\n- Missing variants created with appropriate fields\n\nShould state \"No content issues require fixes. All DTOs are complete and\nconsistent.\" when no content modifications were necessary.",
4262
+ type: "string"
4263
+ }
4264
+ },
4265
+ required: [
4266
+ "review",
4267
+ "plan"
4268
+ ]
4269
+ },
4270
+ "RecordstringAutoBeOpenApi.IJsonSchemaDescriptive": {
4271
+ description: "Construct a type with a set of properties K of type T",
4272
+ type: "object",
4273
+ properties: {},
4274
+ required: [],
4275
+ additionalProperties: {
4276
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive"
4277
+ }
4278
+ },
4279
+ "AutoBeOpenApi.IJsonSchemaDescriptive": {
4280
+ description: "Descriptive type schema info.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` is a type schema info of the OpenAPI\nGenerative, but it has a `description` property which is required.\n\n`AutoBeOpenApi.IJsonSchemaDescriptive` basically follows the JSON schema\nspecification of OpenAPI v3.1, but a little bit shrunk to remove ambiguous\nand duplicated expressions of OpenAPI v3.1 for the convenience, clarity,\nand AI generation.\n\nCRITICAL INSTRUCTIONS FOR OPTIMAL AI GENERATION:\n\nWhen creating descriptions for components, types, and properties:\n\n1. ALWAYS refer to and incorporate the description comments from the\n corresponding Prisma DB schema tables and columns. The descriptions\n should match the style, level of detail, and terminology used in the\n Prisma schema.\n2. ALL descriptions MUST be organized into MULTIPLE PARAGRAPHS separated by\n line breaks. Single-paragraph descriptions should be avoided.\n3. Descriptions should comprehensively cover:\n\n - The purpose and business meaning of the type or property\n - Relationships to other entities\n - Validation rules, constraints, and edge cases\n - Usage context and examples when helpful\n4. For each property of an object type, ensure its description reflects the\n corresponding column description in the Prisma DB schema, maintaining\n the same level of detail and terminology\n5. Descriptions should be so detailed and clear that anyone reading them can\n fully understand the type or property without needing to reference any\n other documentation",
4281
+ anyOf: [
4282
+ {
4283
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IConstant"
4284
+ },
4285
+ {
4286
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean"
4287
+ },
4288
+ {
4289
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IInteger"
4290
+ },
4291
+ {
4292
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INumber"
4293
+ },
4294
+ {
4295
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IString"
4296
+ },
4297
+ {
4298
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IArray"
4299
+ },
4300
+ {
4301
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IObject"
4302
+ },
4303
+ {
4304
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IReference"
4305
+ },
4306
+ {
4307
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf"
4308
+ },
4309
+ {
4310
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchemaDescriptive.INull"
4311
+ }
4312
+ ]
4313
+ },
4314
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IConstant": {
4315
+ description: "Constant value type.",
4316
+ type: "object",
4317
+ properties: {
4318
+ "const": {
4319
+ description: "The constant value.",
4320
+ anyOf: [
4321
+ {
4322
+ type: "string"
4323
+ },
4324
+ {
4325
+ type: "number"
4326
+ },
4327
+ {
4328
+ type: "boolean"
4329
+ }
4330
+ ]
4331
+ },
4332
+ description: {
4333
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
4334
+ type: "string"
4335
+ }
4336
+ },
4337
+ required: [
4338
+ "const",
4339
+ "description"
4340
+ ]
4341
+ },
4342
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean": {
4343
+ description: "Boolean type info.",
4344
+ type: "object",
4345
+ properties: {
4346
+ type: {
4347
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4348
+ type: "string",
4349
+ "enum": [
4350
+ "boolean"
4351
+ ]
4352
+ },
4353
+ description: {
4354
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
4355
+ type: "string"
4356
+ }
4357
+ },
4358
+ required: [
4359
+ "type",
4360
+ "description"
4361
+ ]
4362
+ },
4363
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IInteger": {
4364
+ description: "Integer type info.",
4365
+ type: "object",
4366
+ properties: {
4367
+ minimum: {
4368
+ description: "Minimum value restriction.",
4369
+ type: "integer"
4370
+ },
4371
+ maximum: {
4372
+ description: "Maximum value restriction.",
4373
+ type: "integer"
4374
+ },
4375
+ exclusiveMinimum: {
4376
+ description: "Exclusive minimum value restriction.",
4377
+ type: "number"
4378
+ },
4379
+ exclusiveMaximum: {
4380
+ description: "Exclusive maximum value restriction.",
4381
+ type: "number"
4382
+ },
4383
+ multipleOf: {
4384
+ description: "Multiple of value restriction.",
4385
+ type: "integer",
4386
+ exclusiveMinimum: 0
4387
+ },
4388
+ type: {
4389
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4390
+ type: "string",
4391
+ "enum": [
4392
+ "integer"
4393
+ ]
4394
+ },
4395
+ description: {
4396
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
4397
+ type: "string"
4398
+ }
4399
+ },
4400
+ required: [
4401
+ "type",
4402
+ "description"
4403
+ ]
4404
+ },
4405
+ "AutoBeOpenApi.IJsonSchemaDescriptive.INumber": {
4406
+ description: "Number (double) type info.",
4407
+ type: "object",
4408
+ properties: {
4409
+ minimum: {
4410
+ description: "Minimum value restriction.",
4411
+ type: "number"
4412
+ },
4413
+ maximum: {
4414
+ description: "Maximum value restriction.",
4415
+ type: "number"
4416
+ },
4417
+ exclusiveMinimum: {
4418
+ description: "Exclusive minimum value restriction.",
4419
+ type: "number"
4420
+ },
4421
+ exclusiveMaximum: {
4422
+ description: "Exclusive maximum value restriction.",
4423
+ type: "number"
4424
+ },
4425
+ multipleOf: {
4426
+ description: "Multiple of value restriction.",
4427
+ type: "number",
4428
+ exclusiveMinimum: 0
4429
+ },
4430
+ type: {
4431
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4432
+ type: "string",
4433
+ "enum": [
4434
+ "number"
4435
+ ]
4436
+ },
4437
+ description: {
4438
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
4439
+ type: "string"
4440
+ }
4441
+ },
4442
+ required: [
4443
+ "type",
4444
+ "description"
4445
+ ]
4446
+ },
4447
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IString": {
4448
+ description: "String type info.",
4449
+ type: "object",
4450
+ properties: {
4451
+ format: {
4452
+ description: "Format restriction.",
4453
+ type: "string",
4454
+ "enum": [
4455
+ "date-time",
4456
+ "password",
4457
+ "regex",
4458
+ "uuid",
4459
+ "email",
4460
+ "hostname",
4461
+ "idn-email",
4462
+ "idn-hostname",
4463
+ "iri",
4464
+ "iri-reference",
4465
+ "ipv4",
4466
+ "ipv6",
4467
+ "uri",
4468
+ "uri-reference",
4469
+ "uri-template",
4470
+ "url",
4471
+ "date",
4472
+ "time",
4473
+ "duration",
4474
+ "json-pointer",
4475
+ "relative-json-pointer"
4476
+ ]
4477
+ },
4478
+ pattern: {
4479
+ description: "Pattern restriction.",
4480
+ type: "string"
4481
+ },
4482
+ contentMediaType: {
4483
+ description: "Content media type restriction.",
4484
+ type: "string"
4485
+ },
4486
+ minLength: {
4487
+ description: "Minimum length restriction.",
4488
+ type: "integer",
4489
+ minimum: 0
4490
+ },
4491
+ maxLength: {
4492
+ description: "Maximum length restriction.",
4493
+ type: "integer",
4494
+ minimum: 0
4495
+ },
4496
+ type: {
4497
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4498
+ type: "string",
4499
+ "enum": [
4500
+ "string"
4501
+ ]
4502
+ },
4503
+ description: {
4504
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
4505
+ type: "string"
4506
+ }
4507
+ },
4508
+ required: [
4509
+ "type",
4510
+ "description"
4511
+ ]
4512
+ },
4513
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IArray": {
4514
+ description: "Array type info.",
4515
+ type: "object",
4516
+ properties: {
4517
+ items: {
4518
+ description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
4519
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
4520
+ },
4521
+ uniqueItems: {
4522
+ description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
4523
+ type: "boolean"
4524
+ },
4525
+ minItems: {
4526
+ description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.",
4527
+ type: "integer",
4528
+ minimum: 0
4529
+ },
4530
+ maxItems: {
4531
+ description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.",
4532
+ type: "integer",
4533
+ minimum: 0
4534
+ },
4535
+ type: {
4536
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4537
+ type: "string",
4538
+ "enum": [
4539
+ "array"
4540
+ ]
4541
+ },
4542
+ description: {
4543
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
4544
+ type: "string"
4545
+ }
4546
+ },
4547
+ required: [
4548
+ "items",
4549
+ "type",
4550
+ "description"
4551
+ ]
4552
+ },
4553
+ "AutoBeOpenApi.IJsonSchema": {
4554
+ description: "Type schema info.\n\n`AutoBeOpenApi.IJsonSchema` is a type schema info of the OpenAPI\nGenerative.\n\n`AutoBeOpenApi.IJsonSchema` basically follows the JSON schema specification\nof OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\nexpressions of OpenAPI v3.1 for the convenience, clarity, and AI\ngeneration.\n\n## CRITICAL: Union Type Expression\n\nIn this type system, union types (including nullable types) MUST be\nexpressed using the `IOneOf` structure. NEVER use array notation in the\n`type` field.\n\n\u274C **FORBIDDEN** - Array notation in type field:\n\n```typescript\n{\n \"type\": [\"string\", \"null\"] // NEVER DO THIS!\n}\n```\n\n\u2705 **CORRECT** - Using IOneOf for unions:\n\n```typescript\n// For nullable string:\n{\n oneOf: [{ type: \"string\" }, { type: \"null\" }];\n}\n\n// For string | number union:\n{\n oneOf: [{ type: \"string\" }, { type: \"number\" }];\n}\n```\n\nThe `type` field in any schema object is a discriminator that identifies\nthe schema type and MUST contain exactly one string value.",
4555
+ anyOf: [
4556
+ {
4557
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
4558
+ },
4559
+ {
4560
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
4561
+ },
4562
+ {
4563
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
4564
+ },
4565
+ {
4566
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
4567
+ },
4568
+ {
4569
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
4570
+ },
4571
+ {
4572
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
4573
+ },
4574
+ {
4575
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
4576
+ },
4577
+ {
4578
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
4579
+ },
4580
+ {
4581
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
4582
+ },
4583
+ {
4584
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
4585
+ }
4586
+ ]
4587
+ },
4588
+ "AutoBeOpenApi.IJsonSchema.IInteger": {
4589
+ description: "Integer type info.",
4590
+ type: "object",
4591
+ properties: {
4592
+ minimum: {
4593
+ description: "Minimum value restriction.",
4594
+ type: "integer"
4595
+ },
4596
+ maximum: {
4597
+ description: "Maximum value restriction.",
4598
+ type: "integer"
4599
+ },
4600
+ exclusiveMinimum: {
4601
+ description: "Exclusive minimum value restriction.",
4602
+ type: "number"
4603
+ },
4604
+ exclusiveMaximum: {
4605
+ description: "Exclusive maximum value restriction.",
4606
+ type: "number"
4607
+ },
4608
+ multipleOf: {
4609
+ description: "Multiple of value restriction.",
4610
+ type: "integer",
4611
+ exclusiveMinimum: 0
4612
+ },
4613
+ type: {
4614
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4615
+ type: "string",
4616
+ "enum": [
4617
+ "integer"
4618
+ ]
4619
+ }
4620
+ },
4621
+ required: [
4622
+ "type"
4623
+ ]
4624
+ },
4625
+ "AutoBeOpenApi.IJsonSchema.INumber": {
4626
+ description: "Number (double) type info.",
4627
+ type: "object",
4628
+ properties: {
4629
+ minimum: {
4630
+ description: "Minimum value restriction.",
4631
+ type: "number"
4632
+ },
4633
+ maximum: {
4634
+ description: "Maximum value restriction.",
4635
+ type: "number"
4636
+ },
4637
+ exclusiveMinimum: {
4638
+ description: "Exclusive minimum value restriction.",
4639
+ type: "number"
4640
+ },
4641
+ exclusiveMaximum: {
4642
+ description: "Exclusive maximum value restriction.",
4643
+ type: "number"
4644
+ },
4645
+ multipleOf: {
4646
+ description: "Multiple of value restriction.",
4647
+ type: "number",
4648
+ exclusiveMinimum: 0
4649
+ },
4650
+ type: {
4651
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4652
+ type: "string",
4653
+ "enum": [
4654
+ "number"
4655
+ ]
4656
+ }
4657
+ },
4658
+ required: [
4659
+ "type"
4660
+ ]
4661
+ },
4662
+ "AutoBeOpenApi.IJsonSchema.IString": {
4663
+ description: "String type info.",
4664
+ type: "object",
4665
+ properties: {
4666
+ format: {
4667
+ description: "Format restriction.",
4668
+ type: "string",
4669
+ "enum": [
4670
+ "date-time",
4671
+ "password",
4672
+ "regex",
4673
+ "uuid",
4674
+ "email",
4675
+ "hostname",
4676
+ "idn-email",
4677
+ "idn-hostname",
4678
+ "iri",
4679
+ "iri-reference",
4680
+ "ipv4",
4681
+ "ipv6",
4682
+ "uri",
4683
+ "uri-reference",
4684
+ "uri-template",
4685
+ "url",
4686
+ "date",
4687
+ "time",
4688
+ "duration",
4689
+ "json-pointer",
4690
+ "relative-json-pointer"
4691
+ ]
4692
+ },
4693
+ pattern: {
4694
+ description: "Pattern restriction.",
4695
+ type: "string"
4696
+ },
4697
+ contentMediaType: {
4698
+ description: "Content media type restriction.",
4699
+ type: "string"
4700
+ },
4701
+ minLength: {
4702
+ description: "Minimum length restriction.",
4703
+ type: "integer",
4704
+ minimum: 0
4705
+ },
4706
+ maxLength: {
4707
+ description: "Maximum length restriction.",
4708
+ type: "integer",
4709
+ minimum: 0
4710
+ },
4711
+ type: {
4712
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4713
+ type: "string",
4714
+ "enum": [
4715
+ "string"
4716
+ ]
4717
+ }
4718
+ },
4719
+ required: [
4720
+ "type"
4721
+ ]
4722
+ },
4723
+ "AutoBeOpenApi.IJsonSchema.IConstant": {
4724
+ description: "Constant value type.",
4725
+ type: "object",
4726
+ properties: {
4727
+ "const": {
4728
+ description: "The constant value.",
4729
+ anyOf: [
4730
+ {
4731
+ type: "string"
4732
+ },
4733
+ {
4734
+ type: "number"
4735
+ },
4736
+ {
4737
+ type: "boolean"
4738
+ }
4739
+ ]
4740
+ }
4741
+ },
4742
+ required: [
4743
+ "const"
4744
+ ]
4745
+ },
4746
+ "AutoBeOpenApi.IJsonSchema.IBoolean": {
4747
+ description: "Boolean type info.",
4748
+ type: "object",
4749
+ properties: {
4750
+ type: {
4751
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4752
+ type: "string",
4753
+ "enum": [
4754
+ "boolean"
4755
+ ]
4756
+ }
4757
+ },
4758
+ required: [
4759
+ "type"
4760
+ ]
4761
+ },
4762
+ "AutoBeOpenApi.IJsonSchema.IArray": {
4763
+ description: "Array type info.",
4764
+ type: "object",
4765
+ properties: {
4766
+ items: {
4767
+ description: "Items type info.\n\nThe `items` means the type of the array elements. In other words, it is\nthe type schema info of the `T` in the TypeScript array type\n`Array<T>`.",
4768
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema"
4769
+ },
4770
+ uniqueItems: {
4771
+ description: "Unique items restriction.\n\nIf this property value is `true`, target array must have unique items.",
4772
+ type: "boolean"
4773
+ },
4774
+ minItems: {
4775
+ description: "Minimum items restriction.\n\nRestriction of minimum number of items in the array.",
4776
+ type: "integer",
4777
+ minimum: 0
4778
+ },
4779
+ maxItems: {
4780
+ description: "Maximum items restriction.\n\nRestriction of maximum number of items in the array.",
4781
+ type: "integer",
4782
+ minimum: 0
4783
+ },
4784
+ type: {
4785
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4786
+ type: "string",
4787
+ "enum": [
4788
+ "array"
4789
+ ]
4790
+ }
4791
+ },
4792
+ required: [
4793
+ "items",
4794
+ "type"
4795
+ ]
4796
+ },
4797
+ "AutoBeOpenApi.IJsonSchema.IObject": {
4798
+ description: "Object type info.",
4799
+ type: "object",
4800
+ properties: {
4801
+ "x-autobe-prisma-schema": {
4802
+ description: "Related Prisma schema.\n\nIf the type is directly related to a specific Prisma schema model,\ninclude the exact model name here to establish a clear link between the\nOpenAPI schema and the Prisma model.\n\nThis field is optional and should only be included when there is a\ndirect correspondence to a Prisma model. If there's not any Prisma\nmodel association, this field can be omitted.",
4803
+ anyOf: [
4804
+ {
4805
+ type: "null"
4806
+ },
4807
+ {
4808
+ type: "string"
4809
+ }
4810
+ ]
4811
+ },
4812
+ properties: {
4813
+ description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
4814
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
4815
+ },
4816
+ additionalProperties: {
4817
+ description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
4818
+ anyOf: [
4819
+ {
4820
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
4821
+ },
4822
+ {
4823
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
4824
+ },
4825
+ {
4826
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
4827
+ },
4828
+ {
4829
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
4830
+ },
4831
+ {
4832
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
4833
+ },
4834
+ {
4835
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
4836
+ },
4837
+ {
4838
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
4839
+ },
4840
+ {
4841
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
4842
+ },
4843
+ {
4844
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
4845
+ },
4846
+ {
4847
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
4848
+ },
4849
+ {
4850
+ type: "boolean",
4851
+ "enum": [
4852
+ false
4853
+ ]
4854
+ }
4855
+ ]
4856
+ },
4857
+ required: {
4858
+ description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
4859
+ type: "array",
4860
+ items: {
4861
+ type: "string"
4862
+ }
4863
+ },
4864
+ type: {
4865
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4866
+ type: "string",
4867
+ "enum": [
4868
+ "object"
4869
+ ]
4870
+ }
4871
+ },
4872
+ required: [
4873
+ "properties",
4874
+ "required",
4875
+ "type"
4876
+ ]
4877
+ },
4878
+ "AutoBeOpenApi.IJsonSchema.INull": {
4879
+ description: "Null type.",
4880
+ type: "object",
4881
+ properties: {
4882
+ type: {
4883
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
4884
+ type: "string",
4885
+ "enum": [
4886
+ "null"
4887
+ ]
4888
+ }
4889
+ },
4890
+ required: [
4891
+ "type"
4892
+ ]
4893
+ },
4894
+ "AutoBeOpenApi.IJsonSchema.IReference": {
4895
+ description: "Reference type directing named schema.",
4896
+ type: "object",
4897
+ properties: {
4898
+ $ref: {
4899
+ description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
4900
+ type: "string"
4901
+ }
4902
+ },
4903
+ required: [
4904
+ "$ref"
4905
+ ]
4906
+ },
4907
+ "AutoBeOpenApi.IJsonSchema.IOneOf": {
4908
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
4909
+ type: "object",
4910
+ properties: {
4911
+ oneOf: {
4912
+ description: "List of the union types.",
4913
+ type: "array",
4914
+ items: {
4915
+ anyOf: [
4916
+ {
4917
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
4918
+ },
4919
+ {
4920
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
4921
+ },
4922
+ {
4923
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
4924
+ },
4925
+ {
4926
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
4927
+ },
4928
+ {
4929
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
4930
+ },
4931
+ {
4932
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
4933
+ },
4934
+ {
4935
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
4936
+ },
4937
+ {
4938
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
4939
+ },
4940
+ {
4941
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
4942
+ }
4943
+ ]
4944
+ }
4945
+ },
4946
+ discriminator: {
4947
+ description: "Discriminator info of the union type.",
4948
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
4949
+ }
4950
+ },
4951
+ required: [
4952
+ "oneOf"
4953
+ ]
4954
+ },
4955
+ "AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator": {
4956
+ description: "Discriminator info of the union type.",
4957
+ type: "object",
4958
+ properties: {
4959
+ propertyName: {
4960
+ description: "Property name for the discriminator.",
4961
+ type: "string"
4962
+ },
4963
+ mapping: {
4964
+ description: "Mapping of the discriminator value to the schema name.\n\nThis property is valid only for {@link IReference} typed\n{@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\ndiscriminator value, and `value` of `mapping` is the schema name like\n`#/components/schemas/SomeObject`.",
4965
+ $ref: "#/$defs/Recordstringstring"
4966
+ }
4967
+ },
4968
+ required: [
4969
+ "propertyName"
4970
+ ]
4971
+ },
4972
+ Recordstringstring: {
4973
+ description: "Construct a type with a set of properties K of type T",
4974
+ type: "object",
4975
+ properties: {},
4976
+ required: [],
4977
+ additionalProperties: {
4978
+ type: "string"
4979
+ }
4980
+ },
4981
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IObject": {
4982
+ description: "Object type info.",
4983
+ type: "object",
4984
+ properties: {
4985
+ "x-autobe-prisma-schema": {
4986
+ description: "Related Prisma schema.\n\nIf the type is directly related to a specific Prisma schema model,\ninclude the exact model name here to establish a clear link between the\nOpenAPI schema and the Prisma model.\n\nThis field is optional and should only be included when there is a\ndirect correspondence to a Prisma model. If there's not any Prisma\nmodel association, this field can be omitted.",
4987
+ anyOf: [
4988
+ {
4989
+ type: "null"
4990
+ },
4991
+ {
4992
+ type: "string"
4993
+ }
4994
+ ]
4995
+ },
4996
+ properties: {
4997
+ description: "Properties of the object.\n\nThe `properties` means a list of key-value pairs of the object's\nregular properties. The key is the name of the regular property, and\nthe value is the type schema info.\n\nIMPORTANT: Each property in this object MUST have a detailed\ndescription that references and aligns with the description comments\nfrom the corresponding Prisma DB schema column.\n\nIf you need additional properties that is represented by dynamic key,\nyou can use the {@link additionalProperties} instead.",
4998
+ $ref: "#/$defs/RecordstringAutoBeOpenApi.IJsonSchemaDescriptive"
4999
+ },
5000
+ additionalProperties: {
5001
+ description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nIf the value is `false`, it means that the additional properties are\nnot specified. Otherwise, if the value is {@link IJsonSchema} type, it\nmeans that the additional properties must follow the type schema info.\n\n- `false`: No additional properties\n- `IJsonSchema`: `Record<string, T>`",
5002
+ anyOf: [
5003
+ {
5004
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
5005
+ },
5006
+ {
5007
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
5008
+ },
5009
+ {
5010
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
5011
+ },
5012
+ {
5013
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
5014
+ },
5015
+ {
5016
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
5017
+ },
5018
+ {
5019
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
5020
+ },
5021
+ {
5022
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
5023
+ },
5024
+ {
5025
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
5026
+ },
5027
+ {
5028
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
5029
+ },
5030
+ {
5031
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf"
5032
+ },
5033
+ {
5034
+ type: "boolean",
5035
+ "enum": [
5036
+ false
5037
+ ]
5038
+ }
5039
+ ]
5040
+ },
5041
+ required: {
5042
+ description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
5043
+ type: "array",
5044
+ items: {
5045
+ type: "string"
5046
+ }
5047
+ },
5048
+ type: {
5049
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
5050
+ type: "string",
5051
+ "enum": [
5052
+ "object"
5053
+ ]
5054
+ },
5055
+ description: {
5056
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
5057
+ type: "string"
5058
+ }
5059
+ },
5060
+ required: [
5061
+ "properties",
5062
+ "required",
5063
+ "type",
5064
+ "description"
5065
+ ]
5066
+ },
5067
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IReference": {
5068
+ description: "Reference type directing named schema.",
5069
+ type: "object",
5070
+ properties: {
5071
+ $ref: {
5072
+ description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/components/schemas/` which means the type is stored in\nthe {@link AutoBeOpenApi.IComponents.schemas} object.\n\n- `#/components/schemas/SomeObject`\n- `#/components/schemas/AnotherObject`",
5073
+ type: "string"
5074
+ },
5075
+ description: {
5076
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
5077
+ type: "string"
5078
+ }
5079
+ },
5080
+ required: [
5081
+ "$ref",
5082
+ "description"
5083
+ ]
5084
+ },
5085
+ "AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf": {
5086
+ description: "Union type.\n\n`IOneOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link AutoBeOpenApi} forcibly converts it\nto `oneOf` type.",
5087
+ type: "object",
5088
+ properties: {
5089
+ oneOf: {
5090
+ description: "List of the union types.",
5091
+ type: "array",
5092
+ items: {
5093
+ anyOf: [
5094
+ {
5095
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INumber"
5096
+ },
5097
+ {
5098
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IInteger"
5099
+ },
5100
+ {
5101
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IString"
5102
+ },
5103
+ {
5104
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IConstant"
5105
+ },
5106
+ {
5107
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.INull"
5108
+ },
5109
+ {
5110
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IBoolean"
5111
+ },
5112
+ {
5113
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IArray"
5114
+ },
5115
+ {
5116
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IObject"
5117
+ },
5118
+ {
5119
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IReference"
5120
+ }
5121
+ ]
5122
+ }
5123
+ },
5124
+ discriminator: {
5125
+ description: "Discriminator info of the union type.",
5126
+ $ref: "#/$defs/AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator"
5127
+ },
5128
+ description: {
5129
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
5130
+ type: "string"
5131
+ }
5132
+ },
5133
+ required: [
5134
+ "oneOf",
5135
+ "description"
5136
+ ]
5137
+ },
5138
+ "AutoBeOpenApi.IJsonSchemaDescriptive.INull": {
5139
+ description: "Null type.",
5140
+ type: "object",
5141
+ properties: {
5142
+ type: {
5143
+ description: "Discriminator value of the type.\n\nCRITICAL: This MUST be a SINGLE string value, NOT an array. The type\nfield identifies the JSON Schema type and must be exactly one of:\n\"boolean\", \"integer\", \"number\", \"string\", \"array\", \"object\", or\n\"null\".\n\n\u274C INCORRECT: type: [\"string\", \"null\"] // This is WRONG! \u2705 CORRECT:\ntype: \"string\" // For nullable string, use oneOf instead\n\nIf you need to express a nullable type (e.g., string | null), you MUST\nuse the `IOneOf` structure:\n\n```typescript\n{\n \"oneOf\": [{ \"type\": \"string\" }, { \"type\": \"null\" }]\n}\n```\n\nNEVER use array notation in the type field. The type field is a\ndiscriminator that accepts only a single string value.",
5144
+ type: "string",
5145
+ "enum": [
5146
+ "null"
5147
+ ]
5148
+ },
5149
+ description: {
5150
+ description: "Description about the type.\n\nCRITICAL: This description MUST be extensively detailed and MUST\nreference and align with the description comments from the\ncorresponding Prisma DB schema tables and columns.\n\nThe description MUST be organized into MULTIPLE PARAGRAPHS (separated\nby line breaks) based on different aspects of the type:\n\n- The purpose and business meaning of the type\n- Relationships to other entities in the system\n- Validation rules, constraints, and edge cases\n- Usage context and examples when helpful\n\nThis structured approach improves readability and helps readers better\nunderstand the type's various characteristics and use cases. The\ndescription should be so comprehensive that anyone reading it can fully\nunderstand the type without needing to reference other documentation.\n\n> MUST be written in English. Never use other languages.",
5151
+ type: "string"
5152
+ }
5153
+ },
5154
+ required: [
5155
+ "type",
5156
+ "description"
5157
+ ]
5158
+ }
5159
+ }
5160
+ },
5161
+ description: "Reviews and validates DTO content completeness and consistency in OpenAPI\nschemas.\n\nThis specialized content review function focuses exclusively on ensuring\nDTOs accurately and completely represent their business entities. It\nvalidates field completeness, type accuracy, required field settings, and\ndocumentation quality.\n\nThe review process validates and corrects:\n\n- Field completeness against Prisma schema\n- Data type accuracy (Prisma to OpenAPI type mappings)\n- Required field arrays matching Prisma nullability\n- Description quality and comprehensiveness\n- Consistency across DTO variants (IEntity, ICreate, IUpdate, ISummary)\n- Missing variant detection and creation",
5162
+ validate: (() => { const _iv1 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _iv2 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv7 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _vv8 = new Set(["date-time", "password", "regex", "uuid", "email", "hostname", "idn-email", "idn-hostname", "iri", "iri-reference", "ipv4", "ipv6", "uri", "uri-reference", "uri-template", "url", "date", "time", "duration", "json-pointer", "relative-json-pointer"]); const _io0 = input => "object" === typeof input.think && null !== input.think && _io1(input.think) && ("object" === typeof input.content && null !== input.content && false === Array.isArray(input.content) && _io2(input.content)); const _io1 = input => "string" === typeof input.review && "string" === typeof input.plan; const _io2 = input => Object.keys(input).every(key => {
5163
+ const value = input[key];
5164
+ if (undefined === value)
5165
+ return true;
5166
+ return "object" === typeof value && null !== value && _iu1(value);
5167
+ }); const _io3 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && "string" === typeof input.description; const _io4 = input => "boolean" === input.type && "string" === typeof input.description; const _io5 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && "string" === typeof input.description; const _io6 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && "string" === typeof input.description; const _io7 = input => (undefined === input.format || true === _iv1.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && "string" === typeof input.description; const _io8 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && "string" === typeof input.description; const _io9 = input => (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type; const _io10 = input => (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type; const _io11 = input => (undefined === input.format || true === _iv2.has(input.format)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type; const _io12 = input => "string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]; const _io13 = input => "boolean" === input.type; const _io14 = input => "object" === typeof input.items && null !== input.items && _iu2(input.items) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type; const _io15 = input => (null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io2(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type; const _io16 = input => "string" === typeof input.$ref; const _io17 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io19(input.discriminator)); const _io18 = input => "null" === input.type; const _io19 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io20(input.mapping)); const _io20 = input => Object.keys(input).every(key => {
5168
+ const value = input[key];
5169
+ if (undefined === value)
5170
+ return true;
5171
+ return "string" === typeof value;
5172
+ }); const _io21 = input => (null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"]) && ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io2(input.properties)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || false === input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && _iu2(input.additionalProperties))) && (Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && "object" === input.type && "string" === typeof input.description; const _io22 = input => "string" === typeof input.$ref && "string" === typeof input.description; const _io23 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io19(input.discriminator)) && "string" === typeof input.description; const _io24 = input => "null" === input.type && "string" === typeof input.description; const _iu0 = input => (() => {
5173
+ if ("number" === input.type)
5174
+ return _io10(input);
5175
+ else if ("integer" === input.type)
5176
+ return _io9(input);
5177
+ else if ("string" === input.type)
5178
+ return _io11(input);
5179
+ else if (undefined !== input["const"])
5180
+ return _io12(input);
5181
+ else if ("null" === input.type)
5182
+ return _io18(input);
5183
+ else if ("boolean" === input.type)
5184
+ return _io13(input);
5185
+ else if ("array" === input.type)
5186
+ return _io14(input);
5187
+ else if ("object" === input.type)
5188
+ return _io15(input);
5189
+ else if (undefined !== input.$ref)
5190
+ return _io16(input);
5191
+ else
5192
+ return false;
5193
+ })(); const _iu1 = input => (() => {
5194
+ if (undefined !== input["const"])
5195
+ return _io3(input);
5196
+ else if ("boolean" === input.type)
5197
+ return _io4(input);
5198
+ else if ("number" === input.type)
5199
+ return _io6(input);
5200
+ else if ("integer" === input.type)
5201
+ return _io5(input);
5202
+ else if ("string" === input.type)
5203
+ return _io7(input);
5204
+ else if ("array" === input.type)
5205
+ return _io8(input);
5206
+ else if ("object" === input.type)
5207
+ return _io21(input);
5208
+ else if (undefined !== input.$ref)
5209
+ return _io22(input);
5210
+ else if (undefined !== input.oneOf)
5211
+ return _io23(input);
5212
+ else if ("null" === input.type)
5213
+ return _io24(input);
5214
+ else
5215
+ return false;
5216
+ })(); const _iu2 = input => (() => {
5217
+ if ("number" === input.type)
5218
+ return _io10(input);
5219
+ else if ("integer" === input.type)
5220
+ return _io9(input);
5221
+ else if ("string" === input.type)
5222
+ return _io11(input);
5223
+ else if (undefined !== input["const"])
5224
+ return _io12(input);
5225
+ else if ("null" === input.type)
5226
+ return _io18(input);
5227
+ else if ("boolean" === input.type)
5228
+ return _io13(input);
5229
+ else if ("array" === input.type)
5230
+ return _io14(input);
5231
+ else if ("object" === input.type)
5232
+ return _io15(input);
5233
+ else if (undefined !== input.$ref)
5234
+ return _io16(input);
5235
+ else if (undefined !== input.oneOf)
5236
+ return _io17(input);
5237
+ else
5238
+ return false;
5239
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.think && null !== input.think || _report(_exceptionable, {
5240
+ path: _path + ".think",
5241
+ expected: "IAutoBeInterfaceSchemaContentReviewApplication.IThink",
5242
+ value: input.think
5243
+ })) && _vo1(input.think, _path + ".think", true && _exceptionable) || _report(_exceptionable, {
5244
+ path: _path + ".think",
5245
+ expected: "IAutoBeInterfaceSchemaContentReviewApplication.IThink",
5246
+ value: input.think
5247
+ }), ("object" === typeof input.content && null !== input.content && false === Array.isArray(input.content) || _report(_exceptionable, {
5248
+ path: _path + ".content",
5249
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
5250
+ value: input.content
5251
+ })) && _vo2(input.content, _path + ".content", true && _exceptionable) || _report(_exceptionable, {
5252
+ path: _path + ".content",
5253
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
5254
+ value: input.content
5255
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.review || _report(_exceptionable, {
5256
+ path: _path + ".review",
5257
+ expected: "string",
5258
+ value: input.review
5259
+ }), "string" === typeof input.plan || _report(_exceptionable, {
5260
+ path: _path + ".plan",
5261
+ expected: "string",
5262
+ value: input.plan
5263
+ })].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
5264
+ const value = input[key];
5265
+ if (undefined === value)
5266
+ return true;
5267
+ return ("object" === typeof value && null !== value || _report(_exceptionable, {
5268
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
5269
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
5270
+ value: value
5271
+ })) && _vu1(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
5272
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
5273
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.INull | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IString)",
5274
+ value: value
5275
+ });
5276
+ }).every(flag => flag)].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
5277
+ path: _path + "[\"const\"]",
5278
+ expected: "(boolean | number | string)",
5279
+ value: input["const"]
5280
+ }), "string" === typeof input.description || _report(_exceptionable, {
5281
+ path: _path + ".description",
5282
+ expected: "string",
5283
+ value: input.description
5284
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
5285
+ path: _path + ".type",
5286
+ expected: "\"boolean\"",
5287
+ value: input.type
5288
+ }), "string" === typeof input.description || _report(_exceptionable, {
5289
+ path: _path + ".description",
5290
+ expected: "string",
5291
+ value: input.description
5292
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
5293
+ path: _path + ".minimum",
5294
+ expected: "number & Type<\"int64\">",
5295
+ value: input.minimum
5296
+ })) || _report(_exceptionable, {
5297
+ path: _path + ".minimum",
5298
+ expected: "((number & Type<\"int64\">) | undefined)",
5299
+ value: input.minimum
5300
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
5301
+ path: _path + ".maximum",
5302
+ expected: "number & Type<\"int64\">",
5303
+ value: input.maximum
5304
+ })) || _report(_exceptionable, {
5305
+ path: _path + ".maximum",
5306
+ expected: "((number & Type<\"int64\">) | undefined)",
5307
+ value: input.maximum
5308
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
5309
+ path: _path + ".exclusiveMinimum",
5310
+ expected: "(number | undefined)",
5311
+ value: input.exclusiveMinimum
5312
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
5313
+ path: _path + ".exclusiveMaximum",
5314
+ expected: "(number | undefined)",
5315
+ value: input.exclusiveMaximum
5316
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
5317
+ path: _path + ".multipleOf",
5318
+ expected: "number & Type<\"uint64\">",
5319
+ value: input.multipleOf
5320
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
5321
+ path: _path + ".multipleOf",
5322
+ expected: "number & ExclusiveMinimum<0>",
5323
+ value: input.multipleOf
5324
+ })) || _report(_exceptionable, {
5325
+ path: _path + ".multipleOf",
5326
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
5327
+ value: input.multipleOf
5328
+ }), "integer" === input.type || _report(_exceptionable, {
5329
+ path: _path + ".type",
5330
+ expected: "\"integer\"",
5331
+ value: input.type
5332
+ }), "string" === typeof input.description || _report(_exceptionable, {
5333
+ path: _path + ".description",
5334
+ expected: "string",
5335
+ value: input.description
5336
+ })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
5337
+ path: _path + ".minimum",
5338
+ expected: "(number | undefined)",
5339
+ value: input.minimum
5340
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
5341
+ path: _path + ".maximum",
5342
+ expected: "(number | undefined)",
5343
+ value: input.maximum
5344
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
5345
+ path: _path + ".exclusiveMinimum",
5346
+ expected: "(number | undefined)",
5347
+ value: input.exclusiveMinimum
5348
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
5349
+ path: _path + ".exclusiveMaximum",
5350
+ expected: "(number | undefined)",
5351
+ value: input.exclusiveMaximum
5352
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
5353
+ path: _path + ".multipleOf",
5354
+ expected: "number & ExclusiveMinimum<0>",
5355
+ value: input.multipleOf
5356
+ })) || _report(_exceptionable, {
5357
+ path: _path + ".multipleOf",
5358
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
5359
+ value: input.multipleOf
5360
+ }), "number" === input.type || _report(_exceptionable, {
5361
+ path: _path + ".type",
5362
+ expected: "\"number\"",
5363
+ value: input.type
5364
+ }), "string" === typeof input.description || _report(_exceptionable, {
5365
+ path: _path + ".description",
5366
+ expected: "string",
5367
+ value: input.description
5368
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv7.has(input.format) || _report(_exceptionable, {
5369
+ path: _path + ".format",
5370
+ expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
5371
+ value: input.format
5372
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
5373
+ path: _path + ".pattern",
5374
+ expected: "(string | undefined)",
5375
+ value: input.pattern
5376
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
5377
+ path: _path + ".contentMediaType",
5378
+ expected: "(string | undefined)",
5379
+ value: input.contentMediaType
5380
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
5381
+ path: _path + ".minLength",
5382
+ expected: "number & Type<\"uint64\">",
5383
+ value: input.minLength
5384
+ })) || _report(_exceptionable, {
5385
+ path: _path + ".minLength",
5386
+ expected: "((number & Type<\"uint64\">) | undefined)",
5387
+ value: input.minLength
5388
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
5389
+ path: _path + ".maxLength",
5390
+ expected: "number & Type<\"uint64\">",
5391
+ value: input.maxLength
5392
+ })) || _report(_exceptionable, {
5393
+ path: _path + ".maxLength",
5394
+ expected: "((number & Type<\"uint64\">) | undefined)",
5395
+ value: input.maxLength
5396
+ }), "string" === input.type || _report(_exceptionable, {
5397
+ path: _path + ".type",
5398
+ expected: "\"string\"",
5399
+ value: input.type
5400
+ }), "string" === typeof input.description || _report(_exceptionable, {
5401
+ path: _path + ".description",
5402
+ expected: "string",
5403
+ value: input.description
5404
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
5405
+ path: _path + ".items",
5406
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5407
+ value: input.items
5408
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
5409
+ path: _path + ".items",
5410
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5411
+ value: input.items
5412
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
5413
+ path: _path + ".uniqueItems",
5414
+ expected: "(boolean | undefined)",
5415
+ value: input.uniqueItems
5416
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
5417
+ path: _path + ".minItems",
5418
+ expected: "number & Type<\"uint64\">",
5419
+ value: input.minItems
5420
+ })) || _report(_exceptionable, {
5421
+ path: _path + ".minItems",
5422
+ expected: "((number & Type<\"uint64\">) | undefined)",
5423
+ value: input.minItems
5424
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
5425
+ path: _path + ".maxItems",
5426
+ expected: "number & Type<\"uint64\">",
5427
+ value: input.maxItems
5428
+ })) || _report(_exceptionable, {
5429
+ path: _path + ".maxItems",
5430
+ expected: "((number & Type<\"uint64\">) | undefined)",
5431
+ value: input.maxItems
5432
+ }), "array" === input.type || _report(_exceptionable, {
5433
+ path: _path + ".type",
5434
+ expected: "\"array\"",
5435
+ value: input.type
5436
+ }), "string" === typeof input.description || _report(_exceptionable, {
5437
+ path: _path + ".description",
5438
+ expected: "string",
5439
+ value: input.description
5440
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000 || _report(_exceptionable, {
5441
+ path: _path + ".minimum",
5442
+ expected: "number & Type<\"int64\">",
5443
+ value: input.minimum
5444
+ })) || _report(_exceptionable, {
5445
+ path: _path + ".minimum",
5446
+ expected: "((number & Type<\"int64\">) | undefined)",
5447
+ value: input.minimum
5448
+ }), undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000 || _report(_exceptionable, {
5449
+ path: _path + ".maximum",
5450
+ expected: "number & Type<\"int64\">",
5451
+ value: input.maximum
5452
+ })) || _report(_exceptionable, {
5453
+ path: _path + ".maximum",
5454
+ expected: "((number & Type<\"int64\">) | undefined)",
5455
+ value: input.maximum
5456
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
5457
+ path: _path + ".exclusiveMinimum",
5458
+ expected: "(number | undefined)",
5459
+ value: input.exclusiveMinimum
5460
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
5461
+ path: _path + ".exclusiveMaximum",
5462
+ expected: "(number | undefined)",
5463
+ value: input.exclusiveMaximum
5464
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 || _report(_exceptionable, {
5465
+ path: _path + ".multipleOf",
5466
+ expected: "number & Type<\"uint64\">",
5467
+ value: input.multipleOf
5468
+ })) && (0 < input.multipleOf || _report(_exceptionable, {
5469
+ path: _path + ".multipleOf",
5470
+ expected: "number & ExclusiveMinimum<0>",
5471
+ value: input.multipleOf
5472
+ })) || _report(_exceptionable, {
5473
+ path: _path + ".multipleOf",
5474
+ expected: "((number & Type<\"uint64\"> & ExclusiveMinimum<0>) | undefined)",
5475
+ value: input.multipleOf
5476
+ }), "integer" === input.type || _report(_exceptionable, {
5477
+ path: _path + ".type",
5478
+ expected: "\"integer\"",
5479
+ value: input.type
5480
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.minimum || "number" === typeof input.minimum || _report(_exceptionable, {
5481
+ path: _path + ".minimum",
5482
+ expected: "(number | undefined)",
5483
+ value: input.minimum
5484
+ }), undefined === input.maximum || "number" === typeof input.maximum || _report(_exceptionable, {
5485
+ path: _path + ".maximum",
5486
+ expected: "(number | undefined)",
5487
+ value: input.maximum
5488
+ }), undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || _report(_exceptionable, {
5489
+ path: _path + ".exclusiveMinimum",
5490
+ expected: "(number | undefined)",
5491
+ value: input.exclusiveMinimum
5492
+ }), undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || _report(_exceptionable, {
5493
+ path: _path + ".exclusiveMaximum",
5494
+ expected: "(number | undefined)",
5495
+ value: input.exclusiveMaximum
5496
+ }), undefined === input.multipleOf || "number" === typeof input.multipleOf && (0 < input.multipleOf || _report(_exceptionable, {
5497
+ path: _path + ".multipleOf",
5498
+ expected: "number & ExclusiveMinimum<0>",
5499
+ value: input.multipleOf
5500
+ })) || _report(_exceptionable, {
5501
+ path: _path + ".multipleOf",
5502
+ expected: "((number & ExclusiveMinimum<0>) | undefined)",
5503
+ value: input.multipleOf
5504
+ }), "number" === input.type || _report(_exceptionable, {
5505
+ path: _path + ".type",
5506
+ expected: "\"number\"",
5507
+ value: input.type
5508
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => [undefined === input.format || true === _vv8.has(input.format) || _report(_exceptionable, {
5509
+ path: _path + ".format",
5510
+ expected: "(\"date\" | \"date-time\" | \"duration\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"ipv4\" | \"ipv6\" | \"iri\" | \"iri-reference\" | \"json-pointer\" | \"password\" | \"regex\" | \"relative-json-pointer\" | \"time\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"uuid\" | undefined)",
5511
+ value: input.format
5512
+ }), undefined === input.pattern || "string" === typeof input.pattern || _report(_exceptionable, {
5513
+ path: _path + ".pattern",
5514
+ expected: "(string | undefined)",
5515
+ value: input.pattern
5516
+ }), undefined === input.contentMediaType || "string" === typeof input.contentMediaType || _report(_exceptionable, {
5517
+ path: _path + ".contentMediaType",
5518
+ expected: "(string | undefined)",
5519
+ value: input.contentMediaType
5520
+ }), undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000 || _report(_exceptionable, {
5521
+ path: _path + ".minLength",
5522
+ expected: "number & Type<\"uint64\">",
5523
+ value: input.minLength
5524
+ })) || _report(_exceptionable, {
5525
+ path: _path + ".minLength",
5526
+ expected: "((number & Type<\"uint64\">) | undefined)",
5527
+ value: input.minLength
5528
+ }), undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000 || _report(_exceptionable, {
5529
+ path: _path + ".maxLength",
5530
+ expected: "number & Type<\"uint64\">",
5531
+ value: input.maxLength
5532
+ })) || _report(_exceptionable, {
5533
+ path: _path + ".maxLength",
5534
+ expected: "((number & Type<\"uint64\">) | undefined)",
5535
+ value: input.maxLength
5536
+ }), "string" === input.type || _report(_exceptionable, {
5537
+ path: _path + ".type",
5538
+ expected: "\"string\"",
5539
+ value: input.type
5540
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => ["string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"] || _report(_exceptionable, {
5541
+ path: _path + "[\"const\"]",
5542
+ expected: "(boolean | number | string)",
5543
+ value: input["const"]
5544
+ })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => ["boolean" === input.type || _report(_exceptionable, {
5545
+ path: _path + ".type",
5546
+ expected: "\"boolean\"",
5547
+ value: input.type
5548
+ })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [("object" === typeof input.items && null !== input.items || _report(_exceptionable, {
5549
+ path: _path + ".items",
5550
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5551
+ value: input.items
5552
+ })) && _vu2(input.items, _path + ".items", true && _exceptionable) || _report(_exceptionable, {
5553
+ path: _path + ".items",
5554
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5555
+ value: input.items
5556
+ }), undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems || _report(_exceptionable, {
5557
+ path: _path + ".uniqueItems",
5558
+ expected: "(boolean | undefined)",
5559
+ value: input.uniqueItems
5560
+ }), undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000 || _report(_exceptionable, {
5561
+ path: _path + ".minItems",
5562
+ expected: "number & Type<\"uint64\">",
5563
+ value: input.minItems
5564
+ })) || _report(_exceptionable, {
5565
+ path: _path + ".minItems",
5566
+ expected: "((number & Type<\"uint64\">) | undefined)",
5567
+ value: input.minItems
5568
+ }), undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000 || _report(_exceptionable, {
5569
+ path: _path + ".maxItems",
5570
+ expected: "number & Type<\"uint64\">",
5571
+ value: input.maxItems
5572
+ })) || _report(_exceptionable, {
5573
+ path: _path + ".maxItems",
5574
+ expected: "((number & Type<\"uint64\">) | undefined)",
5575
+ value: input.maxItems
5576
+ }), "array" === input.type || _report(_exceptionable, {
5577
+ path: _path + ".type",
5578
+ expected: "\"array\"",
5579
+ value: input.type
5580
+ })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => [null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"] || _report(_exceptionable, {
5581
+ path: _path + "[\"x-autobe-prisma-schema\"]",
5582
+ expected: "(null | string | undefined)",
5583
+ value: input["x-autobe-prisma-schema"]
5584
+ }), ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
5585
+ path: _path + ".properties",
5586
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
5587
+ value: input.properties
5588
+ })) && _vo2(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
5589
+ path: _path + ".properties",
5590
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
5591
+ value: input.properties
5592
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
5593
+ path: _path + ".additionalProperties",
5594
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
5595
+ value: input.additionalProperties
5596
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
5597
+ path: _path + ".additionalProperties",
5598
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
5599
+ value: input.additionalProperties
5600
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
5601
+ path: _path + ".additionalProperties",
5602
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
5603
+ value: input.additionalProperties
5604
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
5605
+ path: _path + ".required",
5606
+ expected: "Array<string>",
5607
+ value: input.required
5608
+ })) && input.required.map((elem, _index9) => "string" === typeof elem || _report(_exceptionable, {
5609
+ path: _path + ".required[" + _index9 + "]",
5610
+ expected: "string",
5611
+ value: elem
5612
+ })).every(flag => flag) || _report(_exceptionable, {
5613
+ path: _path + ".required",
5614
+ expected: "Array<string>",
5615
+ value: input.required
5616
+ }), "object" === input.type || _report(_exceptionable, {
5617
+ path: _path + ".type",
5618
+ expected: "\"object\"",
5619
+ value: input.type
5620
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
5621
+ path: _path + ".$ref",
5622
+ expected: "string",
5623
+ value: input.$ref
5624
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
5625
+ path: _path + ".oneOf",
5626
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
5627
+ value: input.oneOf
5628
+ })) && input.oneOf.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
5629
+ path: _path + ".oneOf[" + _index10 + "]",
5630
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5631
+ value: elem
5632
+ })) && _vu0(elem, _path + ".oneOf[" + _index10 + "]", true && _exceptionable) || _report(_exceptionable, {
5633
+ path: _path + ".oneOf[" + _index10 + "]",
5634
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5635
+ value: elem
5636
+ })).every(flag => flag) || _report(_exceptionable, {
5637
+ path: _path + ".oneOf",
5638
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
5639
+ value: input.oneOf
5640
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
5641
+ path: _path + ".discriminator",
5642
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
5643
+ value: input.discriminator
5644
+ })) && _vo19(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
5645
+ path: _path + ".discriminator",
5646
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
5647
+ value: input.discriminator
5648
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
5649
+ path: _path + ".type",
5650
+ expected: "\"null\"",
5651
+ value: input.type
5652
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => ["string" === typeof input.propertyName || _report(_exceptionable, {
5653
+ path: _path + ".propertyName",
5654
+ expected: "string",
5655
+ value: input.propertyName
5656
+ }), undefined === input.mapping || ("object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) || _report(_exceptionable, {
5657
+ path: _path + ".mapping",
5658
+ expected: "(Record<string, string> | undefined)",
5659
+ value: input.mapping
5660
+ })) && _vo20(input.mapping, _path + ".mapping", true && _exceptionable) || _report(_exceptionable, {
5661
+ path: _path + ".mapping",
5662
+ expected: "(Record<string, string> | undefined)",
5663
+ value: input.mapping
5664
+ })].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
5665
+ const value = input[key];
5666
+ if (undefined === value)
5667
+ return true;
5668
+ return "string" === typeof value || _report(_exceptionable, {
5669
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
5670
+ expected: "string",
5671
+ value: value
5672
+ });
5673
+ }).every(flag => flag)].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [null === input["x-autobe-prisma-schema"] || undefined === input["x-autobe-prisma-schema"] || "string" === typeof input["x-autobe-prisma-schema"] || _report(_exceptionable, {
5674
+ path: _path + "[\"x-autobe-prisma-schema\"]",
5675
+ expected: "(null | string | undefined)",
5676
+ value: input["x-autobe-prisma-schema"]
5677
+ }), ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || _report(_exceptionable, {
5678
+ path: _path + ".properties",
5679
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
5680
+ value: input.properties
5681
+ })) && _vo2(input.properties, _path + ".properties", true && _exceptionable) || _report(_exceptionable, {
5682
+ path: _path + ".properties",
5683
+ expected: "Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>",
5684
+ value: input.properties
5685
+ }), (null !== input.additionalProperties || _report(_exceptionable, {
5686
+ path: _path + ".additionalProperties",
5687
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
5688
+ value: input.additionalProperties
5689
+ })) && (undefined === input.additionalProperties || false === input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties || _report(_exceptionable, {
5690
+ path: _path + ".additionalProperties",
5691
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
5692
+ value: input.additionalProperties
5693
+ })) && _vu2(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || _report(_exceptionable, {
5694
+ path: _path + ".additionalProperties",
5695
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IOneOf | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString | false | undefined)",
5696
+ value: input.additionalProperties
5697
+ })), (Array.isArray(input.required) || _report(_exceptionable, {
5698
+ path: _path + ".required",
5699
+ expected: "Array<string>",
5700
+ value: input.required
5701
+ })) && input.required.map((elem, _index11) => "string" === typeof elem || _report(_exceptionable, {
5702
+ path: _path + ".required[" + _index11 + "]",
5703
+ expected: "string",
5704
+ value: elem
5705
+ })).every(flag => flag) || _report(_exceptionable, {
5706
+ path: _path + ".required",
5707
+ expected: "Array<string>",
5708
+ value: input.required
5709
+ }), "object" === input.type || _report(_exceptionable, {
5710
+ path: _path + ".type",
5711
+ expected: "\"object\"",
5712
+ value: input.type
5713
+ }), "string" === typeof input.description || _report(_exceptionable, {
5714
+ path: _path + ".description",
5715
+ expected: "string",
5716
+ value: input.description
5717
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => ["string" === typeof input.$ref || _report(_exceptionable, {
5718
+ path: _path + ".$ref",
5719
+ expected: "string",
5720
+ value: input.$ref
5721
+ }), "string" === typeof input.description || _report(_exceptionable, {
5722
+ path: _path + ".description",
5723
+ expected: "string",
5724
+ value: input.description
5725
+ })].every(flag => flag); const _vo23 = (input, _path, _exceptionable = true) => [(Array.isArray(input.oneOf) || _report(_exceptionable, {
5726
+ path: _path + ".oneOf",
5727
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
5728
+ value: input.oneOf
5729
+ })) && input.oneOf.map((elem, _index12) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
5730
+ path: _path + ".oneOf[" + _index12 + "]",
5731
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5732
+ value: elem
5733
+ })) && _vu0(elem, _path + ".oneOf[" + _index12 + "]", true && _exceptionable) || _report(_exceptionable, {
5734
+ path: _path + ".oneOf[" + _index12 + "]",
5735
+ expected: "(AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IString)",
5736
+ value: elem
5737
+ })).every(flag => flag) || _report(_exceptionable, {
5738
+ path: _path + ".oneOf",
5739
+ expected: "Array<IInteger | INumber | IString | IConstant | IBoolean | IArray | IObject | IReference | INull>",
5740
+ value: input.oneOf
5741
+ }), undefined === input.discriminator || ("object" === typeof input.discriminator && null !== input.discriminator || _report(_exceptionable, {
5742
+ path: _path + ".discriminator",
5743
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
5744
+ value: input.discriminator
5745
+ })) && _vo19(input.discriminator, _path + ".discriminator", true && _exceptionable) || _report(_exceptionable, {
5746
+ path: _path + ".discriminator",
5747
+ expected: "(AutoBeOpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined)",
5748
+ value: input.discriminator
5749
+ }), "string" === typeof input.description || _report(_exceptionable, {
5750
+ path: _path + ".description",
5751
+ expected: "string",
5752
+ value: input.description
5753
+ })].every(flag => flag); const _vo24 = (input, _path, _exceptionable = true) => ["null" === input.type || _report(_exceptionable, {
5754
+ path: _path + ".type",
5755
+ expected: "\"null\"",
5756
+ value: input.type
5757
+ }), "string" === typeof input.description || _report(_exceptionable, {
5758
+ path: _path + ".description",
5759
+ expected: "string",
5760
+ value: input.description
5761
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
5762
+ if ("number" === input.type)
5763
+ return _vo10(input, _path, true && _exceptionable);
5764
+ else if ("integer" === input.type)
5765
+ return _vo9(input, _path, true && _exceptionable);
5766
+ else if ("string" === input.type)
5767
+ return _vo11(input, _path, true && _exceptionable);
5768
+ else if (undefined !== input["const"])
5769
+ return _vo12(input, _path, true && _exceptionable);
5770
+ else if ("null" === input.type)
5771
+ return _vo18(input, _path, true && _exceptionable);
5772
+ else if ("boolean" === input.type)
5773
+ return _vo13(input, _path, true && _exceptionable);
5774
+ else if ("array" === input.type)
5775
+ return _vo14(input, _path, true && _exceptionable);
5776
+ else if ("object" === input.type)
5777
+ return _vo15(input, _path, true && _exceptionable);
5778
+ else if (undefined !== input.$ref)
5779
+ return _vo16(input, _path, true && _exceptionable);
5780
+ else
5781
+ return _report(_exceptionable, {
5782
+ path: _path,
5783
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference)",
5784
+ value: input
5785
+ });
5786
+ })(); const _vu1 = (input, _path, _exceptionable = true) => (() => {
5787
+ if (undefined !== input["const"])
5788
+ return _vo3(input, _path, true && _exceptionable);
5789
+ else if ("boolean" === input.type)
5790
+ return _vo4(input, _path, true && _exceptionable);
5791
+ else if ("number" === input.type)
5792
+ return _vo6(input, _path, true && _exceptionable);
5793
+ else if ("integer" === input.type)
5794
+ return _vo5(input, _path, true && _exceptionable);
5795
+ else if ("string" === input.type)
5796
+ return _vo7(input, _path, true && _exceptionable);
5797
+ else if ("array" === input.type)
5798
+ return _vo8(input, _path, true && _exceptionable);
5799
+ else if ("object" === input.type)
5800
+ return _vo21(input, _path, true && _exceptionable);
5801
+ else if (undefined !== input.$ref)
5802
+ return _vo22(input, _path, true && _exceptionable);
5803
+ else if (undefined !== input.oneOf)
5804
+ return _vo23(input, _path, true && _exceptionable);
5805
+ else if ("null" === input.type)
5806
+ return _vo24(input, _path, true && _exceptionable);
5807
+ else
5808
+ return _report(_exceptionable, {
5809
+ path: _path,
5810
+ expected: "(AutoBeOpenApi.IJsonSchemaDescriptive.IConstant | AutoBeOpenApi.IJsonSchemaDescriptive.IBoolean | AutoBeOpenApi.IJsonSchemaDescriptive.INumber | AutoBeOpenApi.IJsonSchemaDescriptive.IInteger | AutoBeOpenApi.IJsonSchemaDescriptive.IString | AutoBeOpenApi.IJsonSchemaDescriptive.IArray | AutoBeOpenApi.IJsonSchemaDescriptive.IObject | AutoBeOpenApi.IJsonSchemaDescriptive.IReference | AutoBeOpenApi.IJsonSchemaDescriptive.IOneOf | AutoBeOpenApi.IJsonSchemaDescriptive.INull)",
5811
+ value: input
5812
+ });
5813
+ })(); const _vu2 = (input, _path, _exceptionable = true) => (() => {
5814
+ if ("number" === input.type)
5815
+ return _vo10(input, _path, true && _exceptionable);
5816
+ else if ("integer" === input.type)
5817
+ return _vo9(input, _path, true && _exceptionable);
5818
+ else if ("string" === input.type)
5819
+ return _vo11(input, _path, true && _exceptionable);
5820
+ else if (undefined !== input["const"])
5821
+ return _vo12(input, _path, true && _exceptionable);
5822
+ else if ("null" === input.type)
5823
+ return _vo18(input, _path, true && _exceptionable);
5824
+ else if ("boolean" === input.type)
5825
+ return _vo13(input, _path, true && _exceptionable);
5826
+ else if ("array" === input.type)
5827
+ return _vo14(input, _path, true && _exceptionable);
5828
+ else if ("object" === input.type)
5829
+ return _vo15(input, _path, true && _exceptionable);
5830
+ else if (undefined !== input.$ref)
5831
+ return _vo16(input, _path, true && _exceptionable);
5832
+ else if (undefined !== input.oneOf)
5833
+ return _vo17(input, _path, true && _exceptionable);
5834
+ else
5835
+ return _report(_exceptionable, {
5836
+ path: _path,
5837
+ expected: "(AutoBeOpenApi.IJsonSchema.INumber | AutoBeOpenApi.IJsonSchema.IInteger | AutoBeOpenApi.IJsonSchema.IString | AutoBeOpenApi.IJsonSchema.IConstant | AutoBeOpenApi.IJsonSchema.INull | AutoBeOpenApi.IJsonSchema.IBoolean | AutoBeOpenApi.IJsonSchema.IArray | AutoBeOpenApi.IJsonSchema.IObject | AutoBeOpenApi.IJsonSchema.IReference | AutoBeOpenApi.IJsonSchema.IOneOf)",
5838
+ value: input
5839
+ });
5840
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
5841
+ if (false === __is(input)) {
5842
+ errors = [];
5843
+ _report = __typia_transform__validateReport._validateReport(errors);
5844
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
5845
+ path: _path + "",
5846
+ expected: "IAutoBeInterfaceSchemaContentReviewApplication.IProps",
5847
+ value: input
5848
+ })) && _vo0(input, _path + "", true) || _report(true, {
5849
+ path: _path + "",
5850
+ expected: "IAutoBeInterfaceSchemaContentReviewApplication.IProps",
5851
+ value: input
5852
+ }))(input, "$input", true);
5853
+ const success = 0 === errors.length;
5854
+ return success ? {
5855
+ success,
5856
+ data: input
5857
+ } : {
5858
+ success,
5859
+ errors,
5860
+ data: input
5861
+ };
5862
+ }
5863
+ return {
5864
+ success: true,
5865
+ data: input
5866
+ };
5867
+ }; })()
5868
+ }
5869
+ ]
5870
+ };
5871
+ __typia_transform__llmApplicationFinalize._llmApplicationFinalize(application, Object.assign(Object.assign({}, {
5872
+ validate: {
5873
+ review: validate,
5874
+ },
5875
+ }), { equals: false }));
5876
+ return application;
5877
+ })(),
4211
5878
  };
4212
5879
  //# sourceMappingURL=orchestrateInterfaceSchemaReview.js.map