@api-client/core 0.19.19 → 0.19.20

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 (124) hide show
  1. package/build/src/authorization/Utils.js +3 -3
  2. package/build/src/authorization/Utils.js.map +1 -1
  3. package/build/src/modeling/ApiModel.d.ts +16 -5
  4. package/build/src/modeling/ApiModel.d.ts.map +1 -1
  5. package/build/src/modeling/ApiModel.js +17 -2
  6. package/build/src/modeling/ApiModel.js.map +1 -1
  7. package/build/src/modeling/ApiValidation.d.ts.map +1 -1
  8. package/build/src/modeling/ApiValidation.js +2 -1
  9. package/build/src/modeling/ApiValidation.js.map +1 -1
  10. package/build/src/modeling/DomainProperty.d.ts +12 -0
  11. package/build/src/modeling/DomainProperty.d.ts.map +1 -1
  12. package/build/src/modeling/DomainProperty.js +23 -28
  13. package/build/src/modeling/DomainProperty.js.map +1 -1
  14. package/build/src/modeling/DomainSerialization.js +1 -1
  15. package/build/src/modeling/DomainSerialization.js.map +1 -1
  16. package/build/src/modeling/ExposedEntity.d.ts +15 -1
  17. package/build/src/modeling/ExposedEntity.d.ts.map +1 -1
  18. package/build/src/modeling/ExposedEntity.js +42 -4
  19. package/build/src/modeling/ExposedEntity.js.map +1 -1
  20. package/build/src/modeling/actions/Action.d.ts.map +1 -1
  21. package/build/src/modeling/actions/Action.js +1 -0
  22. package/build/src/modeling/actions/Action.js.map +1 -1
  23. package/build/src/modeling/actions/ListAction.d.ts +3 -17
  24. package/build/src/modeling/actions/ListAction.d.ts.map +1 -1
  25. package/build/src/modeling/actions/ListAction.js +18 -38
  26. package/build/src/modeling/actions/ListAction.js.map +1 -1
  27. package/build/src/modeling/actions/SearchAction.d.ts +4 -4
  28. package/build/src/modeling/actions/SearchAction.d.ts.map +1 -1
  29. package/build/src/modeling/actions/SearchAction.js +16 -13
  30. package/build/src/modeling/actions/SearchAction.js.map +1 -1
  31. package/build/src/modeling/generators/oas_312/OasGenerator.d.ts +32 -0
  32. package/build/src/modeling/generators/oas_312/OasGenerator.d.ts.map +1 -0
  33. package/build/src/modeling/generators/oas_312/OasGenerator.js +1452 -0
  34. package/build/src/modeling/generators/oas_312/OasGenerator.js.map +1 -0
  35. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.d.ts +27 -0
  36. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.d.ts.map +1 -0
  37. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.js +295 -0
  38. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.js.map +1 -0
  39. package/build/src/modeling/generators/oas_312/types.d.ts +1010 -0
  40. package/build/src/modeling/generators/oas_312/types.d.ts.map +1 -0
  41. package/build/src/modeling/generators/oas_312/types.js +2 -0
  42. package/build/src/modeling/generators/oas_312/types.js.map +1 -0
  43. package/build/src/modeling/generators/oas_320/OasGenerator.d.ts +16 -0
  44. package/build/src/modeling/generators/oas_320/OasGenerator.d.ts.map +1 -0
  45. package/build/src/modeling/generators/oas_320/OasGenerator.js +306 -0
  46. package/build/src/modeling/generators/oas_320/OasGenerator.js.map +1 -0
  47. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.d.ts +25 -0
  48. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.d.ts.map +1 -0
  49. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.js +237 -0
  50. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.js.map +1 -0
  51. package/build/src/modeling/generators/oas_320/types.d.ts +1219 -0
  52. package/build/src/modeling/generators/oas_320/types.d.ts.map +1 -0
  53. package/build/src/modeling/generators/oas_320/types.js +2 -0
  54. package/build/src/modeling/generators/oas_320/types.js.map +1 -0
  55. package/build/src/modeling/types.d.ts +50 -13
  56. package/build/src/modeling/types.d.ts.map +1 -1
  57. package/build/src/modeling/types.js.map +1 -1
  58. package/build/src/modeling/validation/api_model_rules.d.ts +1 -0
  59. package/build/src/modeling/validation/api_model_rules.d.ts.map +1 -1
  60. package/build/src/modeling/validation/api_model_rules.js +105 -29
  61. package/build/src/modeling/validation/api_model_rules.js.map +1 -1
  62. package/build/src/models/ProjectRequest.d.ts.map +1 -1
  63. package/build/src/models/ProjectRequest.js +0 -4
  64. package/build/src/models/ProjectRequest.js.map +1 -1
  65. package/build/src/models/transformers/ArcDexieTransformer.d.ts.map +1 -1
  66. package/build/src/models/transformers/ArcDexieTransformer.js +0 -4
  67. package/build/src/models/transformers/ArcDexieTransformer.js.map +1 -1
  68. package/build/src/models/transformers/ImportUtils.js +1 -1
  69. package/build/src/models/transformers/ImportUtils.js.map +1 -1
  70. package/build/src/models/transformers/PostmanBackupTransformer.d.ts.map +1 -1
  71. package/build/src/models/transformers/PostmanBackupTransformer.js +0 -4
  72. package/build/src/models/transformers/PostmanBackupTransformer.js.map +1 -1
  73. package/build/src/runtime/constants.d.ts +7 -0
  74. package/build/src/runtime/constants.d.ts.map +1 -0
  75. package/build/src/runtime/constants.js +8 -0
  76. package/build/src/runtime/constants.js.map +1 -0
  77. package/build/src/runtime/http-engine/ntlm/Des.d.ts.map +1 -1
  78. package/build/src/runtime/http-engine/ntlm/Des.js +1 -0
  79. package/build/src/runtime/http-engine/ntlm/Des.js.map +1 -1
  80. package/build/src/runtime/variables/EvalFunctions.d.ts.map +1 -1
  81. package/build/src/runtime/variables/EvalFunctions.js +0 -1
  82. package/build/src/runtime/variables/EvalFunctions.js.map +1 -1
  83. package/build/tsconfig.tsbuildinfo +1 -1
  84. package/eslint.config.js +6 -0
  85. package/package.json +3 -1
  86. package/src/authorization/Utils.ts +3 -3
  87. package/src/modeling/ApiModel.ts +23 -8
  88. package/src/modeling/ApiValidation.ts +2 -0
  89. package/src/modeling/DomainProperty.ts +22 -18
  90. package/src/modeling/DomainSerialization.ts +1 -1
  91. package/src/modeling/ExposedEntity.ts +44 -4
  92. package/src/modeling/actions/Action.ts +1 -0
  93. package/src/modeling/actions/ListAction.ts +12 -30
  94. package/src/modeling/actions/SearchAction.ts +11 -8
  95. package/src/modeling/generators/oas_312/OasGenerator.ts +1685 -0
  96. package/src/modeling/generators/oas_312/OasSchemaGenerator.ts +322 -0
  97. package/src/modeling/generators/oas_312/types.ts +1052 -0
  98. package/src/modeling/generators/oas_320/OasGenerator.ts +359 -0
  99. package/src/modeling/generators/oas_320/OasSchemaGenerator.ts +255 -0
  100. package/src/modeling/generators/oas_320/types.ts +1259 -0
  101. package/src/modeling/types.ts +55 -22
  102. package/src/modeling/validation/api_model_rules.ts +103 -32
  103. package/src/models/ProjectRequest.ts +0 -4
  104. package/src/models/transformers/ArcDexieTransformer.ts +0 -4
  105. package/src/models/transformers/ImportUtils.ts +1 -1
  106. package/src/models/transformers/PostmanBackupTransformer.ts +0 -5
  107. package/src/runtime/constants.ts +9 -0
  108. package/src/runtime/http-engine/ntlm/Des.ts +1 -0
  109. package/src/runtime/variables/EvalFunctions.ts +0 -1
  110. package/tests/test-utils.ts +6 -2
  111. package/tests/unit/decorators/observed.spec.ts +8 -24
  112. package/tests/unit/decorators/observed_recursive.spec.ts +0 -1
  113. package/tests/unit/events/EventsTestHelpers.ts +0 -1
  114. package/tests/unit/events/events_polyfills.ts +0 -1
  115. package/tests/unit/legacy-transformers/DataTestHelper.ts +0 -2
  116. package/tests/unit/legacy-transformers/LegacyExportProcessor.spec.ts +0 -1
  117. package/tests/unit/modeling/actions/ListAction.spec.ts +9 -69
  118. package/tests/unit/modeling/actions/SearchAction.spec.ts +9 -35
  119. package/tests/unit/modeling/api_model.spec.ts +28 -0
  120. package/tests/unit/modeling/definitions/sku.spec.ts +0 -2
  121. package/tests/unit/modeling/domain_property.spec.ts +20 -1
  122. package/tests/unit/modeling/exposed_entity.spec.ts +71 -0
  123. package/tests/unit/modeling/generators/OasGenerator.spec.ts +302 -0
  124. package/tests/unit/modeling/validation/api_model_rules.spec.ts +113 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/modeling/generators/oas_320/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/modeling/generators/oas_320/types.ts"],"names":[],"mappings":"","sourcesContent":["import { type JSONSchema } from 'json-schema-typed/draft-2020-12'\n/**\n * This is the root object of the [OpenAPI Description](#openapi-description-structure).\n */\nexport interface OpenApi320 {\n /**\n * This string MUST be the [version number](#versions-and-deprecation) of the OpenAPI Specification that the OpenAPI\n * document uses. The `openapi` field SHOULD be used by tooling to interpret the OpenAPI document. This is _not_\n * related to the [`info.version`](#info-version) string, which describes the OpenAPI document's version.\n */\n openapi: '3.2.0'\n /**\n * This string MUST be in the form of a URI reference as defined by [[RFC3986]] [Section\n * 4.1](https://www.rfc-editor.org/rfc/rfc3986#section-4.1). The `$self` field provides the self-assigned URI of this\n * document, which also serves as its base URI in accordance with [[RFC3986]] [Section\n * 5.1.1](https://www.rfc-editor.org/rfc/rfc3986#section-5.1.1). Implementations MUST support identifying the targets\n * of [API description URIs](#relative-references-in-api-description-uris) using the URI defined by this field when it\n * is present. See [Establishing the Base URI](#establishing-the-base-uri) for the base URI behavior when `$self` is\n * absent or relative, and see [Appendix F](#appendix-f-examples-of-base-uri-determination-and-reference-resolution)\n * for examples of using `$self` to resolve references.\n */\n $self?: string\n /**\n * Provides metadata about the API. The metadata MAY be used by tooling as required.\n */\n info: InfoObject\n /**\n * The default value for the `$schema` keyword within [Schema Objects](#schema-object) contained within this OAS\n * document. This MUST be in the form of a URI.\n */\n jsonSchemaDialect?: string\n /**\n * An array of Server Objects, which provide connectivity information to a target server. If the `servers` field is\n * not provided, or is an empty array, the default value would be an array consisting of a single [Server\n * Object](#server-object) with a [url](#server-url) value of `/`.\n */\n servers?: ServerObject[]\n /**\n * The available paths and operations for the API.\n */\n paths?: PathsObject\n /**\n * The incoming webhooks that MAY be received as part of this API and that the API consumer MAY choose to implement.\n * Closely related to the `callbacks` feature, this section describes requests initiated other than by an API call,\n * for example by an out of band registration. The key name is a unique string to refer to each webhook, while the\n * (optionally referenced) Path Item Object describes a request that may be initiated by the API provider and the\n * expected responses. An [example](https://learn.openapis.org/examples/v3.1/webhook-example.html) is available.\n */\n webhooks?: Record<string, PathItemObject>\n /**\n * An element to hold various Objects for the OpenAPI Description.\n */\n components?: ComponentsObject\n /**\n * A declaration of which security mechanisms can be used across the API. The list of values includes alternative\n * Security Requirement Objects that can be used. Only one of the Security Requirement Objects need to be satisfied to\n * authorize a request. Individual operations can override this definition. The list can be incomplete, up to being\n * empty or absent. To make security explicitly optional, an empty security requirement (`{}`) can be included in the\n * array.\n */\n security?: SecurityRequirementObject[]\n /**\n * A list of tags used by the OpenAPI Description with additional metadata. The order of the tags can be used to\n * reflect on their order by the parsing tools. Not all tags that are used by the [Operation\n * Object](#operation-object) must be declared. The tags that are not declared MAY be organized randomly or based on\n * the tools' logic. Each tag name in the list MUST be unique.\n */\n tags?: TagObject[]\n /**\n * Additional external documentation.\n */\n externalDocs?: ExternalDocumentationObject\n}\n\n/**\n * The object provides metadata about the API. The metadata MAY be used by the clients if needed, and MAY be presented\n * in editing or documentation generation tools for convenience.\n */\nexport interface InfoObject {\n /**\n * The title of the API.\n */\n title: string\n /**\n * A short summary of the API.\n */\n summary?: string\n /**\n * A description of the API. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text\n * representation.\n */\n description?: string\n /**\n * A URI for the Terms of Service for the API. This MUST be in the form of a URI.\n */\n termsOfService?: string\n /**\n * The contact information for the exposed API.\n */\n contact?: ContactObject\n /**\n * The license information for the exposed API.\n */\n license?: LicenseObject\n /**\n * The version of the OpenAPI document (which is distinct from the [OpenAPI Specification version](#oas-version) or\n * the version of the API being described or the version of the OpenAPI Description).\n */\n version: string\n}\n\n/**\n * Contact information for the exposed API.\n */\nexport interface ContactObject {\n /**\n * The identifying name of the contact person/organization.\n */\n name?: string\n /**\n * The URI for the contact information. This MUST be in the form of a URI.\n */\n url?: string\n /**\n * The email address of the contact person/organization. This MUST be in the form of an email address.\n */\n email?: string\n}\n\n/**\n * License information for the exposed API.\n */\nexport interface LicenseObject {\n /**\n * The license name used for the API.\n */\n name: string\n /**\n * An [SPDX](https://spdx.org/licenses/) license expression for the API. The `identifier` field is mutually exclusive\n * of the `url` field.\n */\n identifier?: string\n /**\n * A URI for the license used for the API. This MUST be in the form of a URI. The `url` field is mutually exclusive of\n * the `identifier` field.\n */\n url?: string\n}\n\n/**\n * An object representing a Server.\n */\nexport interface ServerObject {\n /**\n * A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host\n * location is relative to the location where the document containing the Server Object is being served. Query and\n * fragment MUST NOT be part of this URL. Variable substitutions will be made when a variable is named in\n * `{`braces`}`.\n */\n url: string\n /**\n * An optional string describing the host designated by the URL. [CommonMark syntax](https://spec.commonmark.org/) MAY\n * be used for rich text representation.\n */\n description?: string\n /**\n * An optional unique string to refer to the host designated by the URL.\n */\n name?: string\n /**\n * A map between a variable name and its value. The value is used for substitution in the server's URL template.\n */\n variables?: Record<string, ServerVariableObject>\n}\n\n/**\n * An object representing a Server Variable for server URL template substitution. The server URL templating is defined\n * by the following [ABNF](https://tools.ietf.org/html/rfc5234) syntax.\n *\n * ```abnf\n * server-url-template = 1*( literals / server-variable )\n * server-variable = \"{\" server-variable-name \"}\"\n * server-variable-name = 1*( %x00-7A / %x7C / %x7E-10FFFF ) ; every Unicode character except { and }\n * literals = 1*( %x21 / %x23-24 / %x26-3B / %x3D / %x3F-5B\n * / %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate\n * / pct-encoded)\n * ; any Unicode character except: CTL, SP,\n * ; DQUOTE, \"%\" (aside from pct-encoded),\n * ; \"<\", \">\", \"\\\", \"^\", \"`\", \"{\", \"|\", \"}\"\n * pct-encoded = \"%\" HEXDIG HEXDIG\n * ucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF\n * / %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD\n * / %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD\n * / %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD\n * / %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD\n * / %xD0000-DFFFD / %xE1000-EFFFD\n * iprivate = %xE000-F8FF / %xF0000-FFFFD / %x100000-10FFFD\n * ```\n *\n * Here, `literals`, `pct-encoded`, `ucschar` and `iprivate` definitions are taken from [RFC\n * 6570](https://www.rfc-editor.org/rfc/rfc6570), incorporating the corrections specified in [Errata\n * 6937](https://www.rfc-editor.org/errata/eid6937) for `literals`. Each server variable MUST NOT appear more than once\n * in the URL template. See the [Paths Object](#paths-object) for guidance on constructing full request URLs.\n *\n * ```abnf\n * server-url-template = 1*( literals / server-variable )\n * server-variable = \"{\" server-variable-name \"}\"\n * server-variable-name = 1*( %x00-7A / %x7C / %x7E-10FFFF ) ; every Unicode character except { and }\n * literals = 1*( %x21 / %x23-24 / %x26-3B / %x3D / %x3F-5B\n * / %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate\n * / pct-encoded)\n * ; any Unicode character except: CTL, SP,\n * ; DQUOTE, \"%\" (aside from pct-encoded),\n * ; \"<\", \">\", \"\\\", \"^\", \"`\", \"{\", \"|\", \"}\"\n * pct-encoded = \"%\" HEXDIG HEXDIG\n * ucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF\n * / %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD\n * / %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD\n * / %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD\n * / %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD\n * / %xD0000-DFFFD / %xE1000-EFFFD\n * iprivate = %xE000-F8FF / %xF0000-FFFFD / %x100000-10FFFD\n * ```\n */\nexport interface ServerVariableObject {\n /**\n * An enumeration of string values to be used if the substitution options are from a limited set. The array MUST NOT\n * be empty.\n */\n enum?: string[]\n /**\n * The default value to use for substitution, which SHALL be sent if an alternate value is not_supplied. If the\n * [`enum`](#server-variable-enum) is defined, the value MUST exist in the enum's values. Note that this behavior is\n * different from the [Schema Object](#schema-object)'s `default` keyword, which documents the receiver's behavior\n * rather than inserting the value into the data.\n */\n default: string\n /**\n * An optional description for the server variable. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for\n * rich text representation.\n */\n description?: string\n}\n\n/**\n * Holds a set of reusable objects for different aspects of the OAS. All objects defined within the Components Object\n * will have no effect on the API unless they are explicitly referenced from outside the Components Object.\n */\nexport interface ComponentsObject {\n /**\n * An object to hold reusable [Schema Objects](#schema-object).\n */\n schemas?: Record<string, SchemaObject>\n /**\n * [Reference Object](#reference-object)]\n */\n responses?: Record<string, ResponseObject>\n /**\n * [Reference Object](#reference-object)]\n */\n parameters?: Record<string, ParameterObject>\n /**\n * [Reference Object](#reference-object)]\n */\n examples?: Record<string, ExampleObject>\n /**\n * [Reference Object](#reference-object)]\n */\n requestBodies?: Record<string, RequestBodyObject>\n /**\n * [Reference Object](#reference-object)]\n */\n headers?: Record<string, HeaderObject>\n /**\n * [Reference Object](#reference-object)]\n */\n securitySchemes?: Record<string, SecuritySchemeObject | ReferenceObject>\n /**\n * [Reference Object](#reference-object)]\n */\n links?: Record<string, LinkObject>\n /**\n * [Reference Object](#reference-object)]\n */\n callbacks?: Record<string, CallbackObject>\n /**\n * An object to hold reusable [Path Item Objects](#path-item-object).\n */\n pathItems?: Record<string, PathItemObject>\n /**\n * [Reference Object](#reference-object)]\n */\n mediaTypes?: Record<string, MediaTypeObject>\n}\n\n/**\n * Holds the relative paths to the individual endpoints and their operations. The path is appended to the URL from the\n * [Server Object](#server-object) in order to construct the full URL. The Paths Object MAY be empty, due to [Access\n * Control List (ACL) constraints](#security-filtering). The key has a pattern: `/{path}`. A relative path to an\n * individual endpoint. The field name MUST begin with a forward slash (`/`). The URL from the [Server\n * Object](#server-object)'s `url` field, resolved and with template variables substituted, has the path **appended**\n * (no relative URL resolution) to it in order to construct the full URL. [Path templating](#path-templating) is\n * allowed. When matching URLs, concrete (non-templated) paths would be matched before their templated counterparts.\n * Templated paths with the same hierarchy but different templated names MUST NOT exist as they are identical. In case\n * of ambiguous matching, it's up to the tooling to decide which one to use.\n */\nexport type PathsObject = Record<string, PathItemObject>\n\n/**\n * Describes the operations available on a single path. A Path Item MAY be empty, due to [ACL\n * constraints](#security-filtering). The path itself is still exposed to the documentation viewer but they will not\n * know which operations and parameters are available.\n */\nexport interface PathItemObject {\n /**\n * Allows for a referenced definition of this path item. The value MUST be in the form of a URI, and the referenced\n * structure MUST be in the form of a [Path Item Object](#path-item-object). In case a Path Item Object field appears\n * both in the defined object and the referenced object, the behavior is undefined. See the rules for resolving\n * [Relative References](#relative-references-in-api-description-uris). _**Note:** The behavior of `$ref` with\n * adjacent properties is likely to change in future versions of this specification to bring it into closer alignment\n * with the behavior of the [Reference Object](#reference-object)._\n */\n $ref?: string\n /**\n * An optional string summary, intended to apply to all operations in this path.\n */\n summary?: string\n /**\n * An optional string description, intended to apply to all operations in this path. [CommonMark\n * syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\n */\n description?: string\n /**\n * A definition of a GET operation on this path.\n */\n get?: OperationObject\n /**\n * A definition of a PUT operation on this path.\n */\n put?: OperationObject\n /**\n * A definition of a POST operation on this path.\n */\n post?: OperationObject\n /**\n * A definition of a DELETE operation on this path.\n */\n delete?: OperationObject\n /**\n * A definition of a OPTIONS operation on this path.\n */\n options?: OperationObject\n /**\n * A definition of a HEAD operation on this path.\n */\n head?: OperationObject\n /**\n * A definition of a PATCH operation on this path.\n */\n patch?: OperationObject\n /**\n * A definition of a TRACE operation on this path.\n */\n trace?: OperationObject\n /**\n * A definition of a QUERY operation, as defined in the most recent IETF draft\n * ([draft-ietf-httpbis-safe-method-w-body-08](https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-11.html)\n * as of this writing) or its RFC successor, on this path.\n */\n query?: OperationObject\n /**\n * A map of additional operations on this path. The map key is the HTTP method with the same capitalization that is to\n * be sent in the request. This map MUST NOT contain any entry for the methods that can be defined by other fixed\n * fields with Operation Object values (e.g. no `POST` entry, as the `post` field is used for this method).\n */\n additionalOperations?: Record<string, OperationObject>\n /**\n * An alternative `servers` array to service all operations in this path. If a `servers` array is specified at the\n * [OpenAPI Object](#oas-servers) level, it will be overridden by this value.\n */\n servers?: ServerObject[]\n /**\n * [Reference Object](#reference-object)]\n */\n parameters?: (ParameterObject | ReferenceObject)[]\n}\n\n/**\n * Describes a single API operation on a path.\n */\nexport interface OperationObject {\n /**\n * A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or\n * any other qualifier.\n */\n tags?: string[]\n /**\n * A short summary of what the operation does.\n */\n summary?: string\n /**\n * A verbose explanation of the operation behavior. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for\n * rich text representation.\n */\n description?: string\n /**\n * Additional external documentation for this operation.\n */\n externalDocs?: ExternalDocumentationObject\n /**\n * Unique string used to identify the operation. The id MUST be unique among all operations described in the API. The\n * operationId value is **case-sensitive**. Tools and libraries MAY use the operationId to uniquely identify an\n * operation, therefore, it is RECOMMENDED to follow common programming naming conventions.\n */\n operationId?: string\n /**\n * A list of parameters that are applicable for this operation. If a parameter is already defined at the Path Item,\n * the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A\n * unique parameter is defined by a combination of a name and location. The list can use the Reference Object to link\n * to parameters that are defined in the OpenAPI Object’s components.parameters.\n */\n parameters?: (ParameterObject | ReferenceObject)[]\n /**\n * The request body applicable for this operation. The `requestBody` is fully supported in HTTP methods where the HTTP\n * specification [[RFC9110](https://spec.openapis.org/oas/v3.2.0.html#bib-rfc9110)] [Section\n * 9.3](https://datatracker.ietf.org/doc/html/rfc9110#section-9.3) has explicitly defined semantics for request\n * bodies. In other cases where the HTTP spec discourages message content (such as GET and DELETE), `requestBody` is\n * permitted but does not have well-defined semantics and SHOULD be avoided if possible.\n */\n requestBody?: RequestBodyObject | ReferenceObject\n /**\n * The list of possible responses as they are returned from executing this operation.\n */\n responses?: ResponsesObject\n /**\n * A map of possible out-of band callbacks related to the parent operation. The key is a unique identifier for the\n * Callback Object. Each value in the map is a Callback Object that describes a request that may be initiated by the\n * API provider and the expected responses.\n */\n callbacks?: Record<string, CallbackObject | ReferenceObject>\n /**\n * Declares this operation to be deprecated. Consumers SHOULD refrain from usage of the declared operation. Default\n * value is `false`.\n */\n deprecated?: boolean\n /**\n * A declaration of which security mechanisms can be used for this operation. The list of values includes alternative\n * Security Requirement Objects that can be used. Only one of the Security Requirement Objects need to be satisfied to\n * authorize a request. To make security optional, an empty security requirement (`{}`) can be included in the array.\n * This definition overrides any declared top-level [`security`](#oas-security). To remove a top-level security\n * declaration, an empty array can be used.\n */\n security?: SecurityRequirementObject[]\n /**\n * An alternative `servers` array to service this operation. If a `servers` array is specified at the [Path Item\n * Object](#path-item-servers) or [OpenAPI Object](#oas-servers) level, it will be overridden by this value.\n */\n servers?: ServerObject[]\n}\n\n/**\n * Allows referencing an external resource for extended documentation.\n */\nexport interface ExternalDocumentationObject {\n /**\n * A description of the target documentation. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich\n * text representation.\n */\n description?: string\n /**\n * The URI for the target documentation. This MUST be in the form of a URI.\n */\n url: string\n}\n\n/**\n * An object grouping an internal or external example value with basic `summary` and `description` metadata. The\n * examples can show either data suitable for schema validation, or serialized data as required by the containing [Media\n * Type Object](#media-type-object), [Parameter Object](#parameter-object), or [Header Object](#header-object). This\n * object is typically used in fields named `examples` (plural), and is a [referenceable](#reference-object) alternative\n * to older `example` (singular) fields that do not support referencing or metadata. The various fields and types of\n * examples are explained in more detail under [Working With Examples](#working-with-examples).\n */\nexport interface ExampleObject {\n /**\n * Short description for the example.\n */\n summary?: string\n /**\n * Long description for the example. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text\n * representation.\n */\n description?: string\n /**\n * An example of the data structure that MUST be valid according to the relevant [Schema Object](#schema-object). If\n * this field is present, `value` MUST be absent.\n */\n dataValue?: unknown\n /**\n * An example of the serialized form of the value, including encoding and escaping as described under [Validating\n * Examples](#validating-examples). If `dataValue` is present, then this field SHOULD contain the serialization of the\n * given data. Otherwise, it SHOULD be the valid serialization of a data value that itself MUST be valid as described\n * for `dataValue`. This field SHOULD NOT be used if the serialization format is JSON, as the data form is easier to\n * work with. If this field is present, `value`, and `externalValue` MUST be absent.\n */\n serializedValue?: string\n /**\n * A URI that identifies the serialized example in a separate document, allowing for values not easily or readably\n * expressed as a Unicode string. If `dataValue` is present, then this field SHOULD identify a serialization of the\n * given data. Otherwise, the value SHOULD be the valid serialization of a data value that itself MUST be valid as\n * described for `dataValue`. If this field is present, `serializedValue` and `value` MUST be absent. See also the\n * rules for resolving [Relative References](#relative-references-in-api-description-uris).\n */\n externalValue?: string\n /**\n * Embedded literal example. The `value` field and `externalValue` field are mutually exclusive. To represent examples\n * of media types that cannot naturally be represented in JSON or YAML, use a string value to contain the example,\n * escaping where necessary. **Deprecated for non-JSON serialization targets:** Use `dataValue` and/or\n * `serializedValue`, which both have unambiguous syntax and semantics, instead.\n */\n value?: unknown\n}\n/**\n * Describes a single operation parameter. A unique parameter is defined by a combination of a [name](#parameter-name)\n * and [location](#parameter-in). See [Appendix E](#appendix-e-percent-encoding-and-form-media-types) for a detailed\n * examination of percent-encoding concerns, including interactions with the `application/x-www-form-urlencoded` query\n * string format.\n */\nexport interface ParameterObject {\n /**\n * The name of the parameter. Parameter names are _case-sensitive_. If [`in`](#parameter-in) is `\"path\"`, the `name`\n * field MUST correspond to a single template expression occurring within the [path](#paths-path) field in the [Paths\n * Object](#paths-object). See [Path Templating](#path-templating) for further information. If [`in`](#parameter-in)\n * is `\"header\"` and the `name` field is `\"Accept\"`, `\"Content-Type\"` or `\"Authorization\"`, the parameter definition\n * SHALL be ignored. If `in` is `\"querystring\"`, or for [certain combinations](#style-examples) of\n * [`style`](#parameter-style) and [`explode`](#parameter-explode), the value of `name` is not used in the parameter\n * serialization. For all other cases, the `name` corresponds to the parameter name used by the [`in`](#parameter-in)\n * field.\n */\n name: string\n /**\n * The location of the parameter.\n */\n in: 'query' | 'querystring' | 'header' | 'path' | 'cookie'\n /**\n * A brief description of the parameter. This could contain examples of use. [CommonMark\n * syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\n */\n description?: string\n /**\n * Determines whether this parameter is mandatory. If the [parameter location](#parameter-in) is `\"path\"`, this field\n * is **REQUIRED** and its value MUST be `true`. Otherwise, the field MAY be included and its default value is\n * `false`.\n */\n required: boolean\n /**\n * Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is `false`.\n */\n deprecated?: boolean\n /**\n * If `true`, clients MAY pass a zero-length string value in place of parameters that would otherwise be omitted\n * entirely, which the server SHOULD interpret as the parameter being unused. Default value is `false`. If\n * [`style`](#parameter-style) is used, and if [behavior is _n/a_ (cannot be serialized)](#style-examples), the value\n * of `allowEmptyValue` SHALL be ignored. Interactions between this field and the parameter's [Schema\n * Object](#schema-object) are implementation-defined. This field is valid only for `query` parameters.\n * **Deprecated:** Use of this field is NOT RECOMMENDED, and it is likely to be removed in a later revision.\n */\n allowEmptyValue?: boolean\n /**\n * Example of the parameter's potential value; see [Working With Examples](#working-with-examples).\n */\n example?: unknown\n /**\n * [Reference Object](#reference-object)]\n */\n examples?: Record<string, ExampleObject>\n /**\n * Describes how the parameter value will be serialized depending on the type of the parameter value. Default values\n * (based on value of `in`):\n *\n * - For `\"query\"` - `\"form\"`\n * - For `\"path\"` - `\"simple\"`\n * - For `\"header\"` - `\"simple\"`\n * - For `\"cookie\"` - `\"form\"` (for compatibility reasons; note that `style: \"cookie\"` SHOULD be used with `in:\n * \"cookie\"`; see [Appendix D](#appendix-d-serializing-headers-and-cookies) for details).\n */\n style?: string\n /**\n * When this is true, parameter values of type `array` or `object` generate separate parameters for each value of the\n * array or key-value pair of the map. For other types of parameters, or when [`style`](#parameter-style) is\n * `\"deepObject\"`, this field has no effect. When `style` is `\"form\"` or `\"cookie\"`, the default value is `true`. For\n * all other styles, the default value is `false`.\n */\n explode?: boolean\n /**\n * When this is true, parameter values are serialized using reserved expansion, as defined by\n * [RFC6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3), which allows [RFC3986's reserved character\n * set](https://datatracker.ietf.org/doc/html/rfc3986#section-2.2), as well as percent-encoded triples, to pass\n * through unchanged, while still percent-encoding all other disallowed characters (including `%` outside of\n * percent-encoded triples). Applications are still responsible for percent-encoding reserved characters that are not\n * allowed by the rules of the `in` destination or media type, or are [not allowed in the path by this\n * specification](#path-templating); see [URL Percent-Encoding](#url-percent-encoding) for details. The default value\n * is `false`. This field only applies to `in` and `style` values that automatically percent-encode.\n */\n allowReserved?: boolean\n /**\n * The schema defining the type used for the parameter.\n */\n schema?: SchemaObject\n /**\n * [Reference Object](#reference-object)]\n */\n content?: Record<string, MediaTypeObject>\n}\n\n/**\n * Describes a single request body.\n */\nexport interface RequestBodyObject {\n /**\n * A brief description of the request body. This could contain examples of use. [CommonMark\n * syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\n */\n description?: string\n /**\n * The content of the request body. The key is a media type or media type range and the value describes it. The map\n * SHOULD have at least one entry; if it does not, the behavior is implementation-defined. For requests that match\n * multiple keys, only the most specific key is applicable. e.g. \"text/plain\" overrides \"text/*\"\n */\n content?: Record<string, MediaTypeObject | ReferenceObject>\n /**\n * Determines if the request body is required in the request. Defaults to `false`.\n */\n required?: boolean\n}\n\n/**\n * Each Media Type Object describes content structured in accordance with the media type identified by its key. Multiple\n * Media Type Objects can be used to describe content that can appear in any of several different media types. When\n * `example` or `examples` are provided, the example SHOULD match the specified schema and be in the correct format as\n * specified by the media type and its encoding. The `example` and `examples` fields are mutually exclusive. See\n * [Working With Examples](#working-with-examples) for further guidance regarding the different ways of specifying\n * examples, including non-JSON/YAML values.\n */\nexport interface MediaTypeObject {\n /**\n * A schema describing the complete content of the request, response, parameter, or header.\n */\n schema?: SchemaObject\n /**\n * A schema describing each item within a [sequential media type](#sequential-media-types).\n */\n itemSchema?: SchemaObject\n /**\n * Example of the media type; see [Working With Examples](#working-with-examples).\n */\n example?: unknown\n /**\n * [Reference Object](#reference-object)]\n */\n examples?: Record<string, ExampleObject>\n /**\n * A map between a property name and its encoding information, as defined under [Encoding By Name](#encoding-by-name).\n * The `encoding` field SHALL only apply when the media type is `multipart` or `application/x-www-form-urlencoded`. If\n * no Encoding Object is provided for a property, the behavior is determined by the default values documented for the\n * Encoding Object. This field MUST NOT be present if `prefixEncoding` or `itemEncoding` are present.\n */\n encoding?: Record<string, EncodingObject>\n /**\n * An array of positional encoding information, as defined under [Encoding By Position](#encoding-by-position). The\n * `prefixEncoding` field SHALL only apply when the media type is `multipart`. If no Encoding Object is provided for a\n * property, the behavior is determined by the default values documented for the Encoding Object. This field MUST NOT\n * be present if `encoding` is present.\n */\n prefixEncoding?: EncodingObject[]\n /**\n * A single Encoding Object that provides encoding information for multiple array items, as defined under [Encoding By\n * Position](#encoding-by-position). The `itemEncoding` field SHALL only apply when the media type is `multipart`. If\n * no Encoding Object is provided for a property, the behavior is determined by the default values documented for the\n * Encoding Object. This field MUST NOT be present if `encoding` is present.\n */\n itemEncoding?: EncodingObject\n}\n\n/**\n * A single encoding definition applied to a single value, with the mapping of Encoding Objects to values determined by\n * the [Media Type Object](#media-type-object) as described under [Encoding Usage and\n * Restrictions](#encoding-usage-and-restrictions). See [Appendix B](#appendix-b-data-type-conversion) for a discussion\n * of converting values of various types to string representations. See [Appendix\n * E](#appendix-e-percent-encoding-and-form-media-types) for a detailed examination of percent-encoding concerns for\n * form media types.\n */\nexport interface EncodingObject {\n /**\n * The `Content-Type` for encoding a specific property. The value is a comma-separated list, each element of which is\n * either a specific media type (e.g. `image/png`) or a wildcard media type (e.g. `image/*`). The default value\n * depends on the type as shown in the table below.\n */\n contentType?: string\n /**\n * [Reference Object](#reference-object)]\n */\n headers?: Record<string, HeaderObject>\n /**\n * Applies nested Encoding Objects in the same manner as the [Media Type Object](#media-type-object)'s `encoding`\n * field.\n */\n encoding?: Record<string, EncodingObject>\n /**\n * Applies nested Encoding Objects in the same manner as the [Media Type Object](#media-type-object)'s\n * `prefixEncoding` field.\n */\n prefixEncoding?: EncodingObject[]\n /**\n * Applies nested Encoding Objects in the same manner as the [Media Type Object](#media-type-object)'s `itemEncoding`\n * field.\n */\n itemEncoding?: EncodingObject\n /**\n * Describes how a specific property value will be serialized depending on its type. See [Parameter\n * Object](#parameter-object) for details on the [`style`](#parameter-style) field. The behavior follows the same\n * values as `query` parameters, including the default value of `\"form\"` which applies only when `contentType` is\n * _not_ being used due to one or both of `explode` or `allowReserved` being explicitly specified. Note that the\n * initial `?` used in query strings is not used in `application/x-www-form-urlencoded` message bodies, and MUST be\n * removed (if using an RFC6570 implementation) or simply not added (if constructing the string manually). This field\n * SHALL be ignored if the media type is not `application/x-www-form-urlencoded` or `multipart/form-data`. If a value\n * is explicitly defined, then the value of [`contentType`](#encoding-content-type) (implicit or explicit) SHALL be\n * ignored.\n */\n style?: string\n /**\n * When this is true, property values of type `array` or `object` generate separate parameters for each value of the\n * array, or key-value-pair of the map. For other types of properties, or when [`style`](#encoding-style) is\n * `\"deepObject\"`, this field has no effect. When `style` is `\"form\"`, the default value is `true`. For all other\n * styles, the default value is `false`. This field SHALL be ignored if the media type is not\n * `application/x-www-form-urlencoded` or `multipart/form-data`. If a value is explicitly defined, then the value of\n * [`contentType`](#encoding-content-type) (implicit or explicit) SHALL be ignored.\n */\n explode?: boolean\n /**\n * When this is true, parameter values are serialized using reserved expansion, as defined by\n * [RFC6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3), which allows [RFC3986's reserved character\n * set](https://datatracker.ietf.org/doc/html/rfc3986#section-2.2), as well as percent-encoded triples, to pass\n * through unchanged, while still percent-encoding all other disallowed characters (including `%` outside of\n * percent-encoded triples). Applications are still responsible for percent-encoding reserved characters that are not\n * allowed in the target media type; see [URL Percent-Encoding](#url-percent-encoding) for details. The default value\n * is `false`. This field SHALL be ignored if the media type is not `application/x-www-form-urlencoded` or\n * `multipart/form-data`. If a value is explicitly defined, then the value of [`contentType`](#encoding-content-type)\n * (implicit or explicit) SHALL be ignored.\n */\n allowReserved?: boolean\n}\n\n/**\n * A container for the expected responses of an operation. The container maps a HTTP response code to the expected\n * response. The documentation is not necessarily expected to cover all possible HTTP response codes because they may\n * not be known in advance. However, documentation is expected to cover a successful operation response and any known\n * errors. The `default` MAY be used as a default Response Object for all HTTP codes that are not covered individually\n * by the Responses Object. The Responses Object MUST contain at least one response code, and if only one response code\n * is provided it SHOULD be the response for a successful operation call.\n */\nexport interface ResponsesObject {\n /**\n * The documentation of responses other than the ones declared for specific HTTP response codes. Use this field to\n * cover undeclared responses.\n */\n default?: ResponseObject | ReferenceObject\n /**\n * Pattern: [HTTP Status Code](#http-status-codes) Any HTTP status code can be used as the property name, but only one\n * property per code, to describe the expected response for that HTTP status code. This field MUST be enclosed in\n * quotation marks (for example, “200”) for compatibility between JSON and YAML. To define a range of response codes,\n * this field MAY contain the uppercase wildcard character X. For example, 2XX represents all response codes between\n * 200 and 299. Only the following range definitions are allowed: 1XX, 2XX, 3XX, 4XX, and 5XX. If a response is\n * defined using an explicit code, the explicit code definition takes precedence over the range definition for that\n * code.\n */\n [pattern: string]: ResponseObject | ReferenceObject | undefined\n}\n\n/**\n * Describes a single response from an API operation, including design-time, static `links` to operations based on the\n * response.\n */\nexport interface ResponseObject {\n /**\n * A short summary of the meaning of the response.\n */\n summary?: string\n /**\n * A description of the response. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text\n * representation.\n */\n description?: string\n /**\n * [Reference Object](#reference-object)]\n */\n headers?: Record<string, HeaderObject>\n /**\n * [Reference Object](#reference-object)]\n */\n content?: Record<string, MediaTypeObject>\n /**\n * [Reference Object](#reference-object)]\n */\n links?: Record<string, LinkObject>\n}\n\n/**\n * A map of possible out-of band callbacks related to the parent operation. Each value in the map is a [Path Item\n * Object](#path-item-object) that describes a set of requests that may be initiated by the API provider and the\n * expected responses. The key value used to identify the Path Item Object is an expression, evaluated at runtime, that\n * identifies a URL to use for the callback operation. To describe incoming requests from the API provider independent\n * from another API call, use the [`webhooks`](#oas-webhooks) field. Pattern: {expression} A Path Item Object used to\n * define a callback request and expected responses. A [complete\n * example](https://learn.openapis.org/examples/v3.0/callback-example.html) is available.\n */\nexport type CallbackObject = Record<string, PathItemObject>\n\n/**\n * The Link Object represents a possible design-time link for a response. The presence of a link does not guarantee the\n * caller's ability to successfully invoke it, rather it provides a known relationship and traversal mechanism between\n * responses and other operations. Unlike _dynamic_ links (i.e. links provided **in** the response payload), the OAS\n * linking mechanism does not require link information in the runtime response. For computing links and providing\n * instructions to execute them, a [runtime expression](#runtime-expressions) is used for accessing values in an\n * operation and using them as parameters while invoking the linked operation.\n */\nexport interface LinkObject {\n /**\n * A URI reference to an OAS operation. This field is mutually exclusive of the `operationId` field, and MUST point to\n * an [Operation Object](#operation-object). Relative `operationRef` values MAY be used to locate an existing\n * [Operation Object](#operation-object) in the OpenAPI Description.\n */\n operationRef?: string\n /**\n * The name of an _existing_, resolvable OAS operation, as defined with a unique `operationId`. This field is mutually\n * exclusive of the `operationRef` field.\n */\n operationId?: string\n /**\n * A map representing parameters to pass to an operation as specified with operationId or identified via\n * `operationRef`. The key is the parameter name to be used (optionally qualified with the parameter location, e.g.\n * path.id for an id parameter in the path), whereas the value can be a constant or an expression to be evaluated and\n * passed to the linked operation.\n */\n parameters?: Record<string, unknown>\n /**\n * [{expression}](#runtime-expressions)\n */\n requestBody?: unknown\n /**\n * A description of the link. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text\n * representation.\n */\n description?: string\n /**\n * A server object to be used by the target operation.\n */\n server?: ServerObject\n}\n\n/**\n * Describes a single header for [HTTP responses](#response-headers) and for [individual parts in `multipart`\n * representations](#encoding-headers); see the relevant [Response Object](#response-object) and [Encoding\n * Object](#encoding-object) documentation for restrictions on which headers can be described. The Header Object follows\n * the structure of the [Parameter Object](#parameter-object), including determining its serialization strategy based on\n * whether `schema` or `content` is present, with the following changes:\n *\n * 1. `name` MUST NOT be specified, it is given in the corresponding `headers` map.\n * 2. `in` MUST NOT be specified, it is implicitly in `header`.\n * 3. All traits that are affected by the location MUST be applicable to a location of `header` (for example,\n * [`style`](#parameter-style)). This means that `allowEmptyValue` MUST NOT be used, and `style`, if used, MUST be\n * limited to `\"simple\"`.\n * 4. `name` MUST NOT be specified, it is given in the corresponding `headers` map.\n * 5. `in` MUST NOT be specified, it is implicitly in `header`.\n * 6. All traits that are affected by the location MUST be applicable to a location of `header` (for example,\n * [`style`](#parameter-style)). This means that `allowEmptyValue` MUST NOT be used, and `style`, if used, MUST be\n * limited to `\"simple\"`.\n */\nexport interface HeaderObject {\n /**\n * A brief description of the header. This could contain examples of use. [CommonMark\n * syntax](https://spec.commonmark.org/) MAY be used for rich text representation.\n */\n description?: string\n /**\n * Determines whether this header is mandatory. The default value is `false`.\n */\n required?: boolean\n /**\n * Specifies that the header is deprecated and SHOULD be transitioned out of usage. Default value is `false`.\n */\n deprecated?: boolean\n /**\n * Example of the header's potential value; see [Working With Examples](#working-with-examples).\n */\n example?: unknown\n /**\n * [Reference Object](#reference-object)]\n */\n examples?: Record<string, ExampleObject>\n /**\n * Describes how the header value will be serialized. The default (and only legal value for headers) is `\"simple\"`.\n */\n style?: string\n /**\n * When this is true, header values of type `array` or `object` generate a single header whose value is a\n * comma-separated list of the array items or key-value pairs of the map, see [Style Examples](#style-examples). For\n * other data types this field has no effect. The default value is `false`.\n */\n explode?: boolean\n /**\n * The schema defining the type used for the header.\n */\n schema?: SchemaObject\n /**\n * [Reference Object](#reference-object)]\n */\n content?: Record<string, MediaTypeObject>\n}\n\n/**\n * Adds metadata to a single tag that is used by the [Operation Object](#operation-object). It is not mandatory to have\n * a Tag Object per tag defined in the Operation Object instances.\n */\nexport interface TagObject {\n /**\n * The name of the tag. Use this value in the `tags` array of an Operation.\n */\n name: string\n /**\n * A short summary of the tag, used for display purposes.\n */\n summary?: string\n /**\n * A description for the tag. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text\n * representation.\n */\n description?: string\n /**\n * Additional external documentation for this tag.\n */\n externalDocs?: ExternalDocumentationObject\n /**\n * The `name` of a tag that this tag is nested under. The named tag MUST exist in the API description, and circular\n * references between parent and child tags MUST NOT be used.\n */\n parent?: string\n /**\n * A machine-readable string to categorize what sort of tag it is. Any string value can be used; common uses are `nav`\n * for Navigation, `badge` for visible badges, `audience` for APIs used by different groups. A [registry of the most\n * commonly used values](https://spec.openapis.org/registry/tag-kind/) is available.\n */\n kind?: string\n}\n\n/**\n * A simple object to allow referencing other components in the OpenAPI Description, internally and externally. The\n * `$ref` string value contains a URI [RFC3986](https://tools.ietf.org/html/rfc3986), which identifies the value being\n * referenced. See the rules for resolving [Relative References](#relative-references-in-api-description-uris).\n */\nexport interface ReferenceObject {\n /**\n * The reference identifier. This MUST be in the form of a URI.\n */\n $ref: string\n /**\n * A short summary which by default SHOULD override that of the referenced component. If the referenced object-type\n * does not allow a `summary` field, then this field has no effect.\n */\n summary?: string\n /**\n * A description which by default SHOULD override that of the referenced component. [CommonMark\n * syntax](https://spec.commonmark.org/) MAY be used for rich text representation. If the referenced object-type does\n * not allow a `description` field, then this field has no effect.\n */\n description?: string\n}\n\n/**\n * The Schema Object allows the definition of input and output data types. These types can be objects, but also\n * primitives and arrays. This object is a superset of the [JSON Schema Specification Draft\n * 2020-12](https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html). The empty schema (which allows any\n * instance to validate) MAY be represented by the boolean value `true` and a schema which allows no instance to\n * validate MAY be represented by the boolean value `false`. For more information about the keywords, see [JSON Schema\n * Core](https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.html) and [JSON Schema\n * Validation](https://www.ietf.org/archive/id/draft-bhutton-json-schema-validation-01.html). Unless stated otherwise,\n * the keyword definitions follow those of JSON Schema and do not add any additional semantics; this includes keywords\n * such as `$schema`, `$id`, `$ref`, and `$dynamicRef` being URIs rather than URLs. Where JSON Schema indicates that\n * behavior is defined by the application (e.g. for annotations), OAS also defers the definition of semantics to the\n * application consuming the OpenAPI document.\n */\nexport type SchemaObject = JSONSchema & {\n /**\n * The discriminator provides a \"hint\" for which of a set of schemas a payload is expected to satisfy. See\n * [Composition and Inheritance](#composition-and-inheritance-polymorphism) for more details.\n */\n discriminator?: DiscriminatorObject\n /**\n * Adds additional metadata to describe the XML representation of this schema.\n */\n xml?: XMLObject\n /**\n * Additional external documentation for this schema.\n */\n externalDocs?: ExternalDocumentationObject\n /**\n * A free-form field to include an example of an instance for this schema. To represent examples that cannot be\n * naturally represented in JSON or YAML, a string value can be used to contain the example with escaping where\n * necessary. **Deprecated:** The `example` field has been deprecated in favor of the JSON Schema `examples` keyword.\n * Use of `example` is discouraged, and later versions of this specification may remove it.\n */\n example?: unknown\n}\n\n/**\n * When request bodies or response payloads may be one of a number of different schemas, these should use the JSON\n * Schema `anyOf` or `oneOf` keywords to describe the possible schemas (see [Composition and\n * Inheritance](#composition-and-inheritance-polymorphism)). A polymorphic schema MAY include a Discriminator Object,\n * which defines the name of the property that may be used as a hint for which schema of the `anyOf` or `oneOf`, or\n * which schema that references the current schema in an `allOf`, is expected to validate the structure of the model.\n * This hint can be used to aid in serialization, deserialization, and validation. The Discriminator Object does this by\n * implicitly or explicitly associating the possible values of a named property with alternative schemas. Note that\n * `discriminator` MUST NOT change the validation outcome of the schema.\n */\nexport interface DiscriminatorObject {\n /**\n * The name of the discriminating property in the payload that will hold the discriminating value. The discriminating\n * property MAY be defined as required or optional, but when defined as optional the Discriminator Object MUST include\n * a `defaultMapping` field that specifies which schema is expected to validate the structure of the model when the\n * discriminating property is not present.\n */\n propertyName: string\n /**\n * An object to hold mappings between payload values and schema names or URI references.\n */\n mapping?: Record<string, string>\n /**\n * The schema name or URI reference to a schema that is expected to validate the structure of the model when the\n * discriminating property is not present in the payload or contains a value for which there is no explicit or\n * implicit mapping.\n */\n defaultMapping?: string\n}\n\n/**\n * A metadata object that allows for more fine-tuned XML model definitions. When using a Schema Object with XML, if no\n * XML Object is present, the behavior is determined by the XML Object's default field values.\n */\nexport interface XMLObject {\n /**\n * One of `element`, `attribute`, `text`, `cdata`, or `none`, as explained under [XML Node Types](#xml-node-types).\n * The default value is `none` if `$ref`, `$dynamicRef`, or `type: \"array\"` is present in the [Schema\n * Object](#schema-object) containing the XML Object, and `element` otherwise.\n */\n nodeType?: string\n /**\n * Sets the name of the element/attribute corresponding to the schema, replacing the name that was inferred as\n * described under [XML Node Names](#xml-node-names). This field SHALL be ignored if the `nodeType` is `text`,\n * `cdata`, or `none`.\n */\n name?: string\n /**\n * The IRI ([[RFC3987]]) of the namespace definition. Value MUST be in the form of a non-relative IRI.\n */\n namespace?: string\n /**\n * The prefix to be used for the [name](#xml-name).\n */\n prefix?: string\n /**\n * Declares whether the property definition translates to an attribute instead of an element. Default value is\n * `false`. If `nodeType` is present, this field MUST NOT be present. **Deprecated:** Use `nodeType: \"attribute\"`\n * instead of `attribute: true`\n */\n attribute?: boolean\n /**\n * MAY be used only for an array definition. Signifies whether the array is wrapped (for example, `) or unwrapped (`).\n *\n * - Default value is `false`. The definition takes effect only when defined alongside `type` being `\"array\"` (outside\n * the `items`). If `nodeType` is present, this field MUST NOT be present. **Deprecated:** Use `nodeType: \"element\"`\n * instead of `wrapped: true`\n * - Default value is `false`. The definition takes effect only when defined alongside `type` being `\"array\"` (outside\n * the `items`). If `nodeType` is present, this field MUST NOT be present. **Deprecated:** Use `nodeType: \"element\"`\n * instead of `wrapped: true`\n */\n wrapped?: boolean\n}\n\n/**\n * Defines a security scheme that can be used by the operations. Supported schemes are HTTP authentication, an API key\n * (either as a header, a cookie parameter or as a query parameter), mutual TLS (use of a client certificate), OAuth2's\n * common flows (implicit, password, client credentials and authorization code) as defined in\n * [RFC6749](https://tools.ietf.org/html/rfc6749), OAuth2 device authorization flow as defined in\n * [RFC8628](https://tools.ietf.org/html/rfc8628), and [[OpenID-Connect-Core]]. Please note that as of 2020, the\n * implicit flow is about to be deprecated by [OAuth 2.0 Security Best Current\n * Practice](https://tools.ietf.org/html/draft-ietf-oauth-security-topics). Recommended for most use cases is\n * Authorization Code Grant flow with PKCE.\n */\nexport type SecuritySchemeObject =\n | HttpSecurityScheme\n | ApiKeySecurityScheme\n | OAuth2SecurityScheme\n | OpenIdSecurityScheme\n\ninterface SecuritySchemeBase {\n description?: string\n deprecated?: boolean\n}\n\nexport interface HttpSecurityScheme extends SecuritySchemeBase {\n type: 'http'\n /**\n * The name of the HTTP Authentication scheme to be used in the Authorization header as defined in [RFC9110] Section\n * 16.4.1. The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is\n * case-insensitive, as defined in [RFC9110] Section 11.1.\n */\n scheme: 'Basic' | 'Bearer' | string\n /**\n * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an\n * authorization server, so this information is primarily for documentation purposes.\n */\n bearerFormat?: string\n}\n\nexport interface ApiKeySecurityScheme extends SecuritySchemeBase {\n type: 'apiKey'\n /**\n * The name of the header, query or cookie parameter to be used.\n */\n name: string\n /**\n * The location of the API key.\n */\n in: 'query' | 'header' | 'cookie'\n}\n\nexport interface OAuth2SecurityScheme extends SecuritySchemeBase {\n type: 'oauth2'\n /**\n * An object containing configuration information for the flow types supported.\n */\n flows: OAuthFlowsObject\n}\n\nexport interface OpenIdSecurityScheme extends SecuritySchemeBase {\n type: 'openIdConnect'\n /**\n * OpenID Connect Discovery URL as defined by [OpenID-Connect-Discovery-1.0].\n */\n openIdConnectUrl: string\n}\n\n/**\n * Allows configuration of the supported OAuth Flows.\n */\nexport interface OAuthFlowsObject {\n /**\n * Configuration for the OAuth Implicit flow\n */\n implicit?: ImplicitOAuthFlowObject\n /**\n * Configuration for the OAuth Resource Owner Password flow\n */\n password?: PasswordOAuthFlowObject\n /**\n * Configuration for the OAuth Client Credentials flow. Previously called `application` in OpenAPI 2.0.\n */\n clientCredentials?: ClientCredentialsOAuthFlowObject\n /**\n * Configuration for the OAuth Authorization Code flow. Previously called `accessCode` in OpenAPI 2.0.\n */\n authorizationCode?: AuthorizationCodeOAuthFlowObject\n /**\n * Configuration for the OAuth Device Authorization flow.\n */\n deviceAuthorization?: DeviceAuthorizationOAuthFlowObject\n}\n\n/**\n * Configuration details for a supported OAuth Flow\n */\nexport interface OAuthFlowObject {\n /**\n * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the\n * use of TLS. Applies To:\n *\n * - Implicit\n * - AuthorizationCode\n */\n authorizationUrl?: string\n /**\n * The device authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard\n * requires the use of TLS. Applies To:\n *\n * - DeviceAuthorization\n */\n deviceAuthorizationUrl?: string\n /**\n * The device authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard\n * requires the use of TLS. Applies To:\n *\n * - Password\n * - ClientCredentials\n * - AuthorizationCode\n * - DeviceAuthorization\n */\n tokenUrl?: string\n /**\n * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires\n * the use of TLS.\n */\n refreshUrl?: string\n /**\n * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it.\n * The map MAY be empty.\n */\n scopes: Record<string, string>\n}\n\nexport interface ImplicitOAuthFlowObject extends OAuthFlowObject {\n authorizationUrl: string\n}\n\nexport interface AuthorizationCodeOAuthFlowObject extends OAuthFlowObject {\n authorizationUrl: string\n tokenUrl: string\n}\n\nexport interface PasswordOAuthFlowObject extends OAuthFlowObject {\n tokenUrl: string\n}\n\nexport interface ClientCredentialsOAuthFlowObject extends OAuthFlowObject {\n tokenUrl: string\n}\n\nexport interface DeviceAuthorizationOAuthFlowObject extends OAuthFlowObject {\n deviceAuthorizationUrl: string\n tokenUrl: string\n}\n\n/**\n * Lists the required security schemes to execute this operation. The name used for each property MUST either correspond\n * to a security scheme declared in the [Security Schemes](#components-security-schemes) under the [Components\n * Object](#components-object), or be the URI of a Security Scheme Object. Property names that are identical to a\n * component name under the Components Object MUST be treated as a component name. To reference a Security Scheme with a\n * single-segment relative URI reference (e.g. `foo`) that collides with a component name (e.g.\n * `#/components/securitySchemes/foo`), use the `.` path segment (e.g. `./foo`). Using a Security Scheme component name\n * that appears to be a URI is NOT RECOMMENDED, as the precedence of component-name-matching over URI resolution, which\n * is necessary to maintain compatibility with prior OAS versions, is counter-intuitive. See also [Security\n * Considerations](#security-considerations). A Security Requirement Object MAY refer to multiple security schemes in\n * which case all schemes MUST be satisfied for a request to be authorized. This enables support for scenarios where\n * multiple query parameters or HTTP headers are required to convey security information. When the `security` field is\n * defined on the [OpenAPI Object](#openapi-object) or [Operation Object](#operation-object) and contains multiple\n * Security Requirement Objects, only one of the entries in the list needs to be satisfied to authorize the request.\n * This enables support for scenarios where the API allows multiple, independent security schemes. An empty Security\n * Requirement Object (`{}`) indicates anonymous access is supported.\n */\nexport type SecurityRequirementObject = Record<string, string[]>\n"]}
@@ -201,26 +201,24 @@ export interface ProblemDetails {
201
201
  instance: string;
202
202
  }
203
203
  /**
204
- * The set of supported filter operators for the List action.
204
+ * The set of supported filter operators for the List and search action.
205
205
  * These are used in query parameters, e.g., ?price[gte]=100
206
206
  *
207
207
  * - eq: Equal
208
- * - nq: Not Equal
208
+ * - neq: Not Equal
209
+ * - in: Value is one of the elements in the provided array
210
+ * - nin: Value is not one of the elements in the provided array
209
211
  * - lt: Less Than
210
212
  * - lte: Less Than or Equal
211
213
  * - gt: Greater Than
212
214
  * - gte: Greater Than or Equal
213
- * - ex: Checks if the field exists
214
- * - re: Regular expression match
215
- * - bf: Date before a specific value
216
- * - af: Date after a specific value
217
- * - cn: String contains substring / Array contains element
218
- * - st: String starts with
219
- * - end: String ends with
220
- * - in: Value is one of the elements in the provided array
221
- * - nin: Value is not one of the elements in the provided array
215
+ * - exists: Checks if the field exists
216
+ *
217
+ * Search filters only:
218
+ * - contains: String contains substring / Array contains element (Substring Match)
219
+ * - match: Lexical Match, multi-word queries against long text.
222
220
  */
223
- export type ResourceFilterOperator = 'eq' | 'nq' | 'lt' | 'lte' | 'gt' | 'gte' | 'ex' | 're' | 'bf' | 'af' | 'cn' | 'st' | 'end' | 'in' | 'nin';
221
+ export type ResourceFilterOperator = 'eq' | 'neq' | 'in' | 'nin' | 'lt' | 'lte' | 'gt' | 'gte' | 'exists' | 'contains' | 'match';
224
222
  /**
225
223
  * The session transport configuration interface.
226
224
  * This defines the properties that are common to all session transports.
@@ -339,6 +337,7 @@ export interface RolesBasedAccessControl extends AuthorizationConfiguration {
339
337
  */
340
338
  roleKey: string;
341
339
  }
340
+ export type AuthorizationStrategy = RolesBasedAccessControl;
342
341
  /**
343
342
  * Configures the strategy for authenticating end-users.
344
343
  * An API can only support one authentication strategy at a time.
@@ -365,6 +364,7 @@ export interface UsernamePasswordConfiguration extends AuthenticationConfigurati
365
364
  */
366
365
  passwordKey?: string;
367
366
  }
367
+ export type AuthenticationStrategy = UsernamePasswordConfiguration;
368
368
  /**
369
369
  * Represents a Data Entity from the Data Domain that the API will expose and operate upon.
370
370
  */
@@ -437,6 +437,10 @@ export interface ExposedEntitySchema {
437
437
  * When true, generation for this exposure hit configured limits
438
438
  */
439
439
  truncated?: boolean;
440
+ /**
441
+ * Pagination contract for this exposure.
442
+ */
443
+ paginationContract?: PaginationContract;
440
444
  }
441
445
  /**
442
446
  * Parent reference stored on a nested exposure
@@ -484,7 +488,13 @@ export interface PaginationStrategy {
484
488
  * The default page size for the pagination strategy.
485
489
  * This is the number of items returned per page when no specific page size is requested.
486
490
  */
487
- pageSize?: number;
491
+ defaultLimit?: number;
492
+ /**
493
+ * The maximum page size for the pagination strategy.
494
+ * This is the maximum number of items that can be returned per page.
495
+ * The API runtime defined the upper limit to prevent abuse.
496
+ */
497
+ maxLimit?: number;
488
498
  }
489
499
  /**
490
500
  * Represents the cursor-based pagination strategy.
@@ -498,6 +508,33 @@ export interface CursorPaginationStrategy extends PaginationStrategy {
498
508
  export interface OffsetPaginationStrategy extends PaginationStrategy {
499
509
  kind: 'offset';
500
510
  }
511
+ /**
512
+ * Represents the contract for pagination. Defines which fields can be used for filtering, sorting,
513
+ * and searching.
514
+ */
515
+ export interface PaginationContract {
516
+ /**
517
+ * The list of fields (property keys) that can be used for filtering.
518
+ */
519
+ filterableFields: string[];
520
+ /**
521
+ * The list of fields (property keys) that can be used for sorting.
522
+ */
523
+ sortableFields: string[];
524
+ /**
525
+ * The list of fields (property keys) that can be used for searching.
526
+ * Note that these properties must be of type string or array of strings.
527
+ */
528
+ searchableFields: string[];
529
+ /**
530
+ * The default sort order for the pagination strategy.
531
+ * This is the sort order that will be used when no sort order is specified.
532
+ */
533
+ defaultSort?: {
534
+ field: string;
535
+ direction: 'asc' | 'desc';
536
+ }[];
537
+ }
501
538
  export type DomainImpactKinds = typeof DomainNamespaceKind | typeof DomainEntityKind | typeof DomainModelKind | typeof DomainPropertyKind | typeof DomainAssociationKind | typeof DataDomainKind;
502
539
  /**
503
540
  * The impact analysis report
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modeling/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modeling/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;OAYG;IACH,IAAI,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAA;CAC5C;AAED,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,iBAAiB,CAAA;AAEnH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;IAC5B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAA;AAClF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;AAEzE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,sBAAsB,GAC9B,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,QAAQ,GACR,UAAU,GACV,OAAO,CAAA;AAEX;;;GAGG;AACH,UAAU,gBAAgB;IACxB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,QAAQ,CAAA;IACd;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAA;IACxB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,KAAK,CAAA;IACX;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAE5B;;OAEG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE3D;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,QAAQ,EAAE,kBAAkB,CAAA;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,iBAAiB,CAAA;IAC9B;;;;;;;;;;;;;;;OAeG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,MAAM,EAAE,iBAAiB,CAAA;IACzB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAA;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAE/B;;OAEG;IACH,YAAY,CAAC,EAAE,+BAA+B,CAAA;IAE9C;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,WAAW,EAAE,iBAAiB,CAAA;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,IAAI,EAAE,QAAQ,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,IAAI,EAAE,QAAQ,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,EAAE,CAAA;CAC7D;AAED,MAAM,MAAM,iBAAiB,GACzB,OAAO,mBAAmB,GAC1B,OAAO,gBAAgB,GACvB,OAAO,eAAe,GACtB,OAAO,kBAAkB,GACzB,OAAO,qBAAqB,GAC5B,OAAO,cAAc,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,IAAI,EAAE,iBAAiB,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACtC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,cAAc,CAAA;IACpH;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IACtC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,EAAE,eAAe,CAAA;IACtB;;OAEG;IACH,MAAM,EAAE,oBAAoB,EAAE,CAAA;IAC9B;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,OAAO,mBAAmB,GAC1B,OAAO,eAAe,GACtB,OAAO,gBAAgB,GACvB,OAAO,kBAAkB,GACzB,OAAO,qBAAqB,CAAA;AAEhC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAEhC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAA;IAEzB;;OAEG;IACH,aAAa,EAAE,CAAC,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC,EAAE,CAAA;IAEzD;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IACtC;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,MAAM,EAAE,sBAAsB,EAAE,CAAA;CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/modeling/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { GraphJson } from '@api-client/graph/graph/types.js'\nimport type { Graph } from '@api-client/graph/graph/Graph.js'\nimport type { DomainAssociation } from './DomainAssociation.js'\nimport type { DomainEntity } from './DomainEntity.js'\nimport type { DomainModel } from './DomainModel.js'\nimport type { DomainNamespace } from './DomainNamespace.js'\nimport type { DomainProperty } from './DomainProperty.js'\nimport type {\n DomainNamespaceKind,\n DomainEntityKind,\n DomainModelKind,\n DomainPropertyKind,\n DomainAssociationKind,\n DataDomainKind,\n ExposedEntityKind,\n} from '../models/kinds.js'\nimport type { DataDomain } from './DataDomain.js'\nimport { AccessRuleSchema } from './rules/AccessRule.js'\nimport { RateLimitingConfigurationSchema } from './rules/RateLimitingConfiguration.js'\nimport { ActionSchema } from './actions/Action.js'\n\nexport interface DataDomainRemoveOptions {\n /**\n * When true, the object will be forcibly removed.\n * The resolution defined in the `ImpactResolution` class will be applied.\n *\n * For example, when removing an entity that is a parent to another entity, it will\n * removed itself as a parent from the child entity.\n *\n * Note, this option should only be used when the DomainImpactAnalysis has been performed\n * and the user was informed of the impact.\n */\n force?: boolean\n}\n\nexport interface DomainGraphEdge {\n /**\n * Indicates that the edge is to or from a foreign domain.\n */\n foreign?: boolean\n /**\n * The key of the foreign domain. Always set with the `foreign` property.\n */\n domain?: string\n /**\n * The type of the edge.\n * - `association` The edge is to an association object.\n * - When coming **from** an entity (the `v` property), that entity owns the association.\n * - When coming **to** an entity (the `w` property), that entity is the target of the association.\n * An association can have multiple targets.\n * - `property` The edge is to a property object. Can only be created between an entity and a property.\n * - The **from** (`v`) is the entity.\n * - The **to** (`w`) is the property.\n * - `parent` The edge is to a parent object.\n * - The **from** (`v`) is the child entity.\n * - The **to** (`w`) is the parent entity.\n */\n type: 'association' | 'property' | 'parent'\n}\n\nexport type DomainGraphNodeType = DomainNamespace | DomainModel | DomainEntity | DomainProperty | DomainAssociation\n\n/**\n * An interface that describes the data domain dependency.\n */\nexport interface ForeignDomainDependency {\n /**\n * The system registered key of the foreign domain.\n */\n key: string\n /**\n * The version of the foreign domain used in this domain.\n */\n version: string\n}\n\nexport interface AssociationTarget {\n /**\n * The key of the target entity.\n */\n key: string\n /**\n * The key of the target data domain.\n * This is only set when the target is in a different data domain.\n */\n domain?: string\n}\n\n/**\n * Describes the default value set on a property schema.\n */\nexport interface SchemaDefaultValue {\n /**\n * The type of the default value.\n *\n * - `literal` The `value` should be used as-is.\n * - `function` The value represents the name of the function to be used.\n */\n type: 'literal' | 'function'\n /**\n * The actual value type depends on the `type`.\n * It is always a string and it has to be casted to the property's data type.\n */\n value: string\n}\n\n/**\n * A general schema definition for a property.\n * This is propagated to all bindings (when they support these properties).\n */\nexport interface PropertySchema {\n /**\n * The minimum value of the property.\n *\n * By default it is inclusive value. Use the `exclusiveMinimum` property to make it exclusive.\n *\n * Used with:\n * - string\n * - number\n * - date\n * - time\n * - datetime\n */\n minimum?: number\n /**\n * The maximum value of the property.\n *\n * By default it is inclusive value. Use the `exclusiveMaximum` property to make it exclusive.\n *\n * Used with:\n * - string\n * - number\n * - date\n * - time\n * - datetime\n */\n maximum?: number\n /**\n * When set, the minimum value is exclusive.\n *\n * - When `false`: value ≥ minimum.\n * - When `true`: value > minimum.\n */\n exclusiveMinimum?: boolean\n /**\n * When set, the exclusiveMaximum value is exclusive.\n *\n * - When `false`: value ≤ maximum.\n * - When `true`: value < minimum.\n */\n exclusiveMaximum?: boolean\n /**\n * The multiplier value for a number scalar.\n *\n * Examples:\n * - if `1` then every integer is allowed\n * - if `2` than every even number is allowed\n * - if `0.5` than every number dividable by `0.5` is allowed\n */\n multipleOf?: number\n /**\n * The enum values for the property.\n * They are always encoded as strings. The actual type is defined in the `dataType` property.\n */\n enum?: string[]\n /**\n * The default value for the property.\n * This is always encoded as a string. The actual type is defined in the `dataType` property.\n */\n defaultValue?: SchemaDefaultValue\n /**\n * The example values for the property.\n * They are always encoded as strings. The actual type is defined in the `dataType` property.\n */\n examples?: string[]\n /**\n * The pattern to use with a string scalar.\n */\n pattern?: string\n}\n\n/**\n * The shortcut type for the data domain graph.\n */\nexport type DataDomainGraph = Graph<unknown, DomainGraphNodeType, DomainGraphEdge>\n/**\n * The serialized version of the data domain graph.\n */\nexport type SerializedGraph = GraphJson<unknown, object, DomainGraphEdge>\n\n/**\n * Represents a standardized, machine-readable error response body\n * as defined by RFC 7807 for HTTP APIs.\n */\nexport interface ProblemDetails {\n /**\n * A URI that identifies the specific problem type. Should resolve to human-readable docs.\n * e.g., \"https://docs.apinow.app/errors/validation-failed\"\n */\n type: string\n\n /**\n * A short, human-readable summary of the problem type.\n * e.g., \"Validation Error\"\n */\n title: string\n\n /**\n * The HTTP status code generated by the origin server for this problem.\n */\n status?: number\n\n /**\n * A human-readable explanation specific to this occurrence of the problem.\n */\n detail?: string\n\n /**\n * A URI that identifies the specific occurrence of the problem.\n * Can be the API request path that caused the error.\n */\n instance: string\n}\n\n/**\n * The set of supported filter operators for the List action.\n * These are used in query parameters, e.g., ?price[gte]=100\n *\n * - eq: Equal\n * - nq: Not Equal\n * - lt: Less Than\n * - lte: Less Than or Equal\n * - gt: Greater Than\n * - gte: Greater Than or Equal\n * - ex: Checks if the field exists\n * - re: Regular expression match\n * - bf: Date before a specific value\n * - af: Date after a specific value\n * - cn: String contains substring / Array contains element\n * - st: String starts with\n * - end: String ends with\n * - in: Value is one of the elements in the provided array\n * - nin: Value is not one of the elements in the provided array\n */\nexport type ResourceFilterOperator =\n | 'eq' // Equal\n | 'nq' // Not equal\n | 'lt' // Less than\n | 'lte' // Less than or equal\n | 'gt' // Greater than\n | 'gte' // Greater than or equal\n | 'ex' // Checks if the field exists\n | 're' // Regular expression match\n | 'bf' // Date before a specific value\n | 'af' // Date after a specific value\n | 'cn' // String contains substring / Array contains element\n | 'st' // String starts with\n | 'end' // String ends with\n | 'in' // Value is one of the elements in the provided array\n | 'nin' // Value is not one of the elements in the provided array\n\n/**\n * The session transport configuration interface.\n * This defines the properties that are common to all session transports.\n */\ninterface SessionTransport {\n /**\n * Whether the session transport is enabled.\n */\n enabled: boolean\n /**\n * The kind of session transport. Each interface defines its own kind.\n */\n kind: string\n}\n\n/**\n * Configuration for cookie-based session transport.\n */\nexport interface CookieConfiguration extends SessionTransport {\n kind: 'cookie'\n /**\n * The lifetime of the cookie session.\n * This is a string representing the duration, e.g., \"7d\" for 7 days or \"24h\" for 24 hours.\n *\n * @default \"7d\"\n */\n lifetime: string\n /**\n * Whether the cookie can only be accessed by the server.\n * This is a security feature to prevent client-side scripts from accessing the cookie.\n * If set to false, the cookie can be accessed by client-side scripts.\n * @default true\n */\n httpOnly: boolean // Defaults to true\n /**\n * Whether the cookie should only be sent over secure connections (HTTPS).\n * This is a security feature to prevent the cookie from being sent over unencrypted connections.\n * @default true\n */\n secure: boolean\n /**\n * The SameSite attribute of the cookie.\n * This attribute controls whether the cookie is sent with cross-site requests.\n * - 'none' means the cookie is sent with cross-site requests.\n * - 'lax' means the cookie is sent with top-level navigations and will be sent along with GET\n * requests initiated by third-party websites.\n * @default 'none'\n */\n sameSite: 'none' | 'lax'\n /**\n * The name of the cookie.\n * This is the key under which the session data will be stored in the cookie.\n * @default 'as' - 'as' stands for \"api session\"\n */\n name: string\n}\n\n/**\n * Configuration for JWT-based session transport.\n */\nexport interface JwtConfiguration extends SessionTransport {\n kind: 'jwt'\n /**\n * The lifetime of the JWT token.\n * This is a string representing the duration, e.g., \"7d\" for 7 days or \"15m\" for 15 minutes.\n *\n * @default \"7d\"\n */\n lifetime: string\n}\n\nexport interface SessionConfiguration {\n /**\n * The secret used to sign the JWT and cookies. Should be handled securely.\n * Not visible in the UI after being set.\n */\n secret: string\n /**\n * The properties from the `User` entity to be encoded into the session payload (JWT/cookie).\n * These properties become available in the `request.auth` object at runtime.\n *\n * In practice, these are the ids of the properties in the `User` entity.\n */\n properties: string[]\n /**\n * The cookie-based session transport configuration.\n */\n cookie?: CookieConfiguration\n\n /**\n * The JWT-based session transport configuration.\n */\n jwt?: JwtConfiguration\n}\n\n/**\n * Defines the authorization strategy for the API.\n * It is a base interface that can be extended for different strategies.\n * For MVP, we will start with Roles-Based Access Control (RBAC).\n */\nexport interface AuthorizationConfiguration {\n /**\n * The authorization strategy. For MVP, we will start with RBAC.\n * Post-MVP will include Permission-Based Access Control (PBAC).\n * The strategy determines how users are granted access to resources.\n *\n * - RBAC (Roles-Based Access Control): Users are assigned roles, and permissions are granted to those roles.\n * - PBAC (Permission-Based Access Control): Users are granted permissions directly, allowing for more\n * granular control.\n */\n strategy: string\n}\n\nexport interface RolesBasedAccessControl extends AuthorizationConfiguration {\n strategy: 'RBAC'\n /**\n * The property within the designated \"User\" entity that defines the user's role.\n * This field is used in access rules to grant permissions.\n *\n * This property must be marked with the \"Role\" data semantic in the Data Modeler.\n * It is required to publish the API.\n */\n roleKey: string\n}\n\n/**\n * Configures the strategy for authenticating end-users.\n * An API can only support one authentication strategy at a time.\n * This is a base interface that can be extended for different strategies.\n */\nexport interface AuthenticationConfiguration {\n /**\n * The authentication method. For MVP, this is focused on username/password.\n * This can be extended in the future to include 'SSO'.\n */\n strategy: string\n}\n\n/**\n * Configuration for username/password authentication.\n * This is the primary authentication method for the API (MVP).\n */\nexport interface UsernamePasswordConfiguration extends AuthenticationConfiguration {\n strategy: 'UsernamePassword'\n /**\n * The specific property within the User entity that holds the password.\n * This property must be marked with the \"Password\" data semantic in the Data Modeler.\n *\n * This property is required to publish the API.\n */\n passwordKey?: string\n}\n\n/**\n * Represents a Data Entity from the Data Domain that the API will expose and operate upon.\n */\nexport interface ExposedEntitySchema {\n kind: typeof ExposedEntityKind\n /**\n * The unique identifier for this exposure instance.\n * In the exposure model, we need to uniquely identify each exposure instance, because\n * an entity can be exposed multiple times in different contexts. Consider the following structure:\n *\n * ```\n * /categories/{categoryId}\n * /products/{productId}/categories\n * /products/{productId}/categories/{categoryId}\n * /promotions/{promotionId}/categories\n * /promotions/{promotionId}/categories/{categoryId}\n * ```\n *\n * The `category` entity would be exposed multiple times (as root and nested under products and promotions).\n * We need a way to distinguish between these different exposure instances.\n */\n key: string\n /**\n * A pointer to a Data Entity from the Data Domain.\n */\n entity: AssociationTarget\n /**\n * Indicates whether this exposure has a collection endpoint.\n * A collection endpoint is optional for nested exposures where the association is 1:1\n * and the schema is embedded directly under the parent resource.\n */\n hasCollection: boolean\n /**\n * A path to the collection endpoint for this exposure.\n * Starts with '/'. Not set for 1:1 nested exposures where collection does not exist.\n */\n collectionPath?: string\n\n /**\n * A path to the resource endpoint for this exposure.\n * Starts with '/'. For 1:1 nested exposures the resource path typically does not include an id segment.\n */\n resourcePath: string\n\n /**\n * Whether this exposure is a root exposure (top-level collection).\n * If this is set then the `parent` reference must be populated.\n */\n isRoot?: boolean\n\n /**\n * Parent reference when this exposure was created via following an association.\n */\n parent?: ExposeParentRef\n\n /**\n * Expose-time config used to create this exposure (persisted for auditing/UI).\n * This is only populated for the root exposure. All children exposures inherit this config.\n */\n exposeOptions?: ExposeOptions\n\n /**\n * The list of enabled API actions for this exposure (List/Read/Create/etc.)\n */\n actions: ActionSchema[]\n\n /**\n * Optional array of access rules that define the access control policies for this exposure.\n */\n accessRule?: AccessRuleSchema[]\n\n /**\n * Optional configuration for rate limiting for this exposure.\n */\n rateLimiting?: RateLimitingConfigurationSchema\n\n /**\n * When true, generation for this exposure hit configured limits\n */\n truncated?: boolean\n}\n\n/**\n * Parent reference stored on a nested exposure\n */\nexport interface ExposeParentRef {\n /**\n * The key of the parent exposed entity. This references the `ExposedEntity.key` property.\n */\n key: string\n /**\n * The association from the parent that produced this exposure.\n * A sub-entity must always have a parent association.\n */\n association: AssociationTarget\n /**\n * The numeric depth from the root exposure (root = 0)\n */\n depth?: number\n}\n\n/**\n * Options passed when creating a new exposure\n */\nexport interface ExposeOptions {\n /**\n * Whether to follow associations when creating the exposure.\n * When not set, it only exposes the passed entity.\n */\n followAssociations?: boolean\n /**\n * The maximum depth to follow associations when creating the exposure.\n */\n maxDepth?: number\n}\n\n/**\n * Represents a pagination strategy for API actions that return collections of resources.\n * This is a base interface that can be extended for different pagination strategies.\n */\nexport interface PaginationStrategy {\n /**\n * The kind of pagination strategy. This is used to identify the specific pagination method.\n * For example, 'cursor' for cursor-based pagination or 'offset' for offset-based pagination.\n */\n kind: string\n /**\n * The default page size for the pagination strategy.\n * This is the number of items returned per page when no specific page size is requested.\n */\n pageSize?: number\n}\n\n/**\n * Represents the cursor-based pagination strategy.\n */\nexport interface CursorPaginationStrategy extends PaginationStrategy {\n kind: 'cursor'\n}\n\n/**\n * Represents the offset-based pagination strategy.\n */\nexport interface OffsetPaginationStrategy extends PaginationStrategy {\n kind: 'offset'\n}\n\nexport type DomainImpactKinds =\n | typeof DomainNamespaceKind\n | typeof DomainEntityKind\n | typeof DomainModelKind\n | typeof DomainPropertyKind\n | typeof DomainAssociationKind\n | typeof DataDomainKind\n\n/**\n * The impact analysis report\n */\nexport interface DomainImpactReport {\n /**\n * The key of the impacted data object.\n * This is the key of the object that is being changed.\n */\n key: string\n /**\n * The kind of the impacted data object.\n * This is the kind of the object that is being changed.\n */\n kind: DomainImpactKinds\n /**\n * The list of impacted data objects.\n */\n impact: DomainImpactItem[]\n /**\n * Whether it is possible to proceed with the change.\n * If the change is not possible, the reason will be in the impact list.\n */\n canProceed: boolean\n}\n\nexport interface DomainImpactItem {\n /**\n * The key of the impacted data object.\n */\n key: string\n /**\n * The kind of the impacted data object.\n */\n kind: string\n /**\n * The type of the impact.\n *\n * - `delete` - The data object would be deleted.\n */\n type: 'delete' | 'publish'\n /**\n * The impact description.\n * Explains what will happen to the impacted data object.\n * This is a human-readable description of the impact.\n * It should be clear and concise.\n */\n impact: string\n /**\n * The severity of the impact.\n *\n * - `info` - The impact is informational.\n * - `warning` - The impact can potentially cause problems but is not a blocker.\n * - `error` - The impact is a blocker and needs to be resolved before proceeding.\n */\n severity: 'info' | 'warning' | 'error'\n /**\n * The type of the relationship between two impacted objects.\n */\n relationship?: 'child'\n /**\n * The resolution of the conflict if the change will be forced.\n */\n resolution?: string\n /**\n * The optional parent of the impacted data object.\n * For example, if the impacted item is a property, this will be the entity it belongs to.\n */\n parent?: string\n}\n\nexport interface DeserializeOptions {\n /**\n * The mode to use for deserialization.\n */\n mode?: DeserializationMode\n /**\n * The serialized graph to deserialize.\n * This is the JSON representation of the graph.\n */\n json?: SerializedGraph\n /**\n * The list of foreign domains that this domain depends on.\n */\n dependencies?: DataDomain[]\n}\n\n/**\n * Describes the mode for deserializing a domain graph.\n */\nexport type DeserializationMode = 'strict' | 'lenient'\n\n/**\n * Describes an issue found during deserialization.\n */\nexport interface DeserializationIssue {\n /**\n * The type of issue encountered.\n */\n type: 'missing_node' | 'missing_edge' | 'invalid_parent' | 'missing_dependency' | 'malformed_entry' | 'unknown_kind'\n /**\n * The severity of the issue.\n */\n severity: 'error' | 'warning' | 'info'\n /**\n * A human-readable description of the issue.\n */\n message: string\n /**\n * The key of the affected node, edge, or entity if applicable.\n */\n affectedKey?: string\n /**\n * Additional context about the issue.\n */\n context?: Record<string, unknown>\n /**\n * The action taken to handle this issue in lenient mode.\n */\n resolution?: string\n}\n\n/**\n * The result of a deserialization operation.\n */\nexport interface DeserializationResult {\n /**\n * The deserialized graph.\n */\n graph: DataDomainGraph\n /**\n * Issues encountered during deserialization.\n */\n issues: DeserializationIssue[]\n /**\n * Whether the deserialization was successful.\n * This is set to true when a critical failures occurred.\n */\n success: boolean\n}\n\n/**\n * Available node types for search filtering.\n */\nexport type SearchableNodeType =\n | typeof DomainNamespaceKind\n | typeof DomainModelKind\n | typeof DomainEntityKind\n | typeof DomainPropertyKind\n | typeof DomainAssociationKind\n\n/**\n * Search criteria for filtering domain nodes.\n */\nexport interface DomainSearchCriteria {\n /**\n * Text query to search for in name, displayName, and description fields.\n * Can be a string for exact match or RegExp for pattern matching.\n */\n query?: string | RegExp\n\n /**\n * Filter by specific node types. If not provided, all node types are included.\n */\n nodeTypes?: SearchableNodeType[]\n\n /**\n * Whether to include nodes from foreign domains in the search results.\n * Defaults to false.\n */\n includeForeignDomains?: boolean\n\n /**\n * Case-sensitive search when using string query.\n * Defaults to false (case-insensitive).\n */\n caseSensitive?: boolean\n}\n\n/**\n * A search result containing a matching domain node and metadata.\n */\nexport interface DomainSearchResult {\n /**\n * The matching domain node.\n */\n node: DomainGraphNodeType\n\n /**\n * The field(s) that matched the search query.\n */\n matchedFields: ('name' | 'displayName' | 'description')[]\n\n /**\n * The key used to identify this node in the graph.\n */\n key: string\n\n /**\n * Whether this node belongs to a foreign domain.\n */\n isForeign: boolean\n}\n\n/**\n * Contextual information about where the API Model validation issue occurred.\n * This allows the UI to trace back a validation error to a specific module or component.\n */\nexport interface ApiModelValidationContext {\n /**\n * The key of the ApiModel itself.\n */\n apiModelKey: string\n /**\n * The kind of the affected component (e.g., 'ApiModel', 'ExposedEntity', 'Action').\n */\n kind: string\n /**\n * The key of the specific entity or action where the issue occurred.\n * If the error is at the root API model, this might be the ApiModel's key.\n */\n key: string\n /**\n * The specific property being validated, if applicable.\n */\n property?: string\n /**\n * The key of the parent ExposedEntity, if this issue occurred on a nested entity or an action.\n */\n parentExposedEntityKey?: string\n}\n\n/**\n * Represents a single validation issue found within an ApiModel.\n */\nexport interface ApiModelValidationItem {\n /**\n * A unique code identifying the type of validation error. This enables\n * programmatic handling or auto-fixing in the UI (e.g., 'API_MISSING_NAME', 'LIST_ACTION_MISSING_PAGINATION').\n */\n code: string\n /**\n * A human-readable description of the problem.\n */\n message: string\n /**\n * A human-readable suggestion on how to fix the issue.\n */\n suggestion: string\n /**\n * The severity of the validation issue.\n */\n severity: 'error' | 'warning' | 'info'\n /**\n * Contextual information to trace the issue back to its source component.\n */\n context: ApiModelValidationContext\n}\n\n/**\n * The consolidated result of validating an entire ApiModel or a subset of it.\n */\nexport interface ApiModelValidationResult {\n /**\n * A boolean indicating whether the model is structurally sound and ready for publication.\n * Typically true if there are no 'error' severity issues.\n */\n isValid: boolean\n /**\n * The aggregated list of all validation issues found.\n */\n issues: ApiModelValidationItem[]\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/modeling/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { GraphJson } from '@api-client/graph/graph/types.js'\nimport type { Graph } from '@api-client/graph/graph/Graph.js'\nimport type { DomainAssociation } from './DomainAssociation.js'\nimport type { DomainEntity } from './DomainEntity.js'\nimport type { DomainModel } from './DomainModel.js'\nimport type { DomainNamespace } from './DomainNamespace.js'\nimport type { DomainProperty } from './DomainProperty.js'\nimport type {\n DomainNamespaceKind,\n DomainEntityKind,\n DomainModelKind,\n DomainPropertyKind,\n DomainAssociationKind,\n DataDomainKind,\n ExposedEntityKind,\n} from '../models/kinds.js'\nimport type { DataDomain } from './DataDomain.js'\nimport { AccessRuleSchema } from './rules/AccessRule.js'\nimport { RateLimitingConfigurationSchema } from './rules/RateLimitingConfiguration.js'\nimport { ActionSchema } from './actions/Action.js'\n\nexport interface DataDomainRemoveOptions {\n /**\n * When true, the object will be forcibly removed.\n * The resolution defined in the `ImpactResolution` class will be applied.\n *\n * For example, when removing an entity that is a parent to another entity, it will\n * removed itself as a parent from the child entity.\n *\n * Note, this option should only be used when the DomainImpactAnalysis has been performed\n * and the user was informed of the impact.\n */\n force?: boolean\n}\n\nexport interface DomainGraphEdge {\n /**\n * Indicates that the edge is to or from a foreign domain.\n */\n foreign?: boolean\n /**\n * The key of the foreign domain. Always set with the `foreign` property.\n */\n domain?: string\n /**\n * The type of the edge.\n * - `association` The edge is to an association object.\n * - When coming **from** an entity (the `v` property), that entity owns the association.\n * - When coming **to** an entity (the `w` property), that entity is the target of the association.\n * An association can have multiple targets.\n * - `property` The edge is to a property object. Can only be created between an entity and a property.\n * - The **from** (`v`) is the entity.\n * - The **to** (`w`) is the property.\n * - `parent` The edge is to a parent object.\n * - The **from** (`v`) is the child entity.\n * - The **to** (`w`) is the parent entity.\n */\n type: 'association' | 'property' | 'parent'\n}\n\nexport type DomainGraphNodeType = DomainNamespace | DomainModel | DomainEntity | DomainProperty | DomainAssociation\n\n/**\n * An interface that describes the data domain dependency.\n */\nexport interface ForeignDomainDependency {\n /**\n * The system registered key of the foreign domain.\n */\n key: string\n /**\n * The version of the foreign domain used in this domain.\n */\n version: string\n}\n\nexport interface AssociationTarget {\n /**\n * The key of the target entity.\n */\n key: string\n /**\n * The key of the target data domain.\n * This is only set when the target is in a different data domain.\n */\n domain?: string\n}\n\n/**\n * Describes the default value set on a property schema.\n */\nexport interface SchemaDefaultValue {\n /**\n * The type of the default value.\n *\n * - `literal` The `value` should be used as-is.\n * - `function` The value represents the name of the function to be used.\n */\n type: 'literal' | 'function'\n /**\n * The actual value type depends on the `type`.\n * It is always a string and it has to be casted to the property's data type.\n */\n value: string\n}\n\n/**\n * A general schema definition for a property.\n * This is propagated to all bindings (when they support these properties).\n */\nexport interface PropertySchema {\n /**\n * The minimum value of the property.\n *\n * By default it is inclusive value. Use the `exclusiveMinimum` property to make it exclusive.\n *\n * Used with:\n * - string\n * - number\n * - date\n * - time\n * - datetime\n */\n minimum?: number\n /**\n * The maximum value of the property.\n *\n * By default it is inclusive value. Use the `exclusiveMaximum` property to make it exclusive.\n *\n * Used with:\n * - string\n * - number\n * - date\n * - time\n * - datetime\n */\n maximum?: number\n /**\n * When set, the minimum value is exclusive.\n *\n * - When `false`: value ≥ minimum.\n * - When `true`: value > minimum.\n */\n exclusiveMinimum?: boolean\n /**\n * When set, the exclusiveMaximum value is exclusive.\n *\n * - When `false`: value ≤ maximum.\n * - When `true`: value < minimum.\n */\n exclusiveMaximum?: boolean\n /**\n * The multiplier value for a number scalar.\n *\n * Examples:\n * - if `1` then every integer is allowed\n * - if `2` than every even number is allowed\n * - if `0.5` than every number dividable by `0.5` is allowed\n */\n multipleOf?: number\n /**\n * The enum values for the property.\n * They are always encoded as strings. The actual type is defined in the `dataType` property.\n */\n enum?: string[]\n /**\n * The default value for the property.\n * This is always encoded as a string. The actual type is defined in the `dataType` property.\n */\n defaultValue?: SchemaDefaultValue\n /**\n * The example values for the property.\n * They are always encoded as strings. The actual type is defined in the `dataType` property.\n */\n examples?: string[]\n /**\n * The pattern to use with a string scalar.\n */\n pattern?: string\n}\n\n/**\n * The shortcut type for the data domain graph.\n */\nexport type DataDomainGraph = Graph<unknown, DomainGraphNodeType, DomainGraphEdge>\n/**\n * The serialized version of the data domain graph.\n */\nexport type SerializedGraph = GraphJson<unknown, object, DomainGraphEdge>\n\n/**\n * Represents a standardized, machine-readable error response body\n * as defined by RFC 7807 for HTTP APIs.\n */\nexport interface ProblemDetails {\n /**\n * A URI that identifies the specific problem type. Should resolve to human-readable docs.\n * e.g., \"https://docs.apinow.app/errors/validation-failed\"\n */\n type: string\n\n /**\n * A short, human-readable summary of the problem type.\n * e.g., \"Validation Error\"\n */\n title: string\n\n /**\n * The HTTP status code generated by the origin server for this problem.\n */\n status?: number\n\n /**\n * A human-readable explanation specific to this occurrence of the problem.\n */\n detail?: string\n\n /**\n * A URI that identifies the specific occurrence of the problem.\n * Can be the API request path that caused the error.\n */\n instance: string\n}\n\n/**\n * The set of supported filter operators for the List and search action.\n * These are used in query parameters, e.g., ?price[gte]=100\n *\n * - eq: Equal\n * - neq: Not Equal\n * - in: Value is one of the elements in the provided array\n * - nin: Value is not one of the elements in the provided array\n * - lt: Less Than\n * - lte: Less Than or Equal\n * - gt: Greater Than\n * - gte: Greater Than or Equal\n * - exists: Checks if the field exists\n *\n * Search filters only:\n * - contains: String contains substring / Array contains element (Substring Match)\n * - match: Lexical Match, multi-word queries against long text.\n */\nexport type ResourceFilterOperator =\n | 'eq' // Equal\n | 'neq' // Not equal\n | 'in' // Value is one of the elements in the provided array\n | 'nin' // Value is not one of the elements in the provided array\n | 'lt' // Less than\n | 'lte' // Less than or equal\n | 'gt' // Greater than\n | 'gte' // Greater than or equal\n | 'exists' // Checks if the field exists\n | 'contains' // String contains substring / Array contains element (Substring Match)\n | 'match' // Lexical Match, multi-word queries against long text.\n\n/**\n * The session transport configuration interface.\n * This defines the properties that are common to all session transports.\n */\ninterface SessionTransport {\n /**\n * Whether the session transport is enabled.\n */\n enabled: boolean\n /**\n * The kind of session transport. Each interface defines its own kind.\n */\n kind: string\n}\n\n/**\n * Configuration for cookie-based session transport.\n */\nexport interface CookieConfiguration extends SessionTransport {\n kind: 'cookie'\n /**\n * The lifetime of the cookie session.\n * This is a string representing the duration, e.g., \"7d\" for 7 days or \"24h\" for 24 hours.\n *\n * @default \"7d\"\n */\n lifetime: string\n /**\n * Whether the cookie can only be accessed by the server.\n * This is a security feature to prevent client-side scripts from accessing the cookie.\n * If set to false, the cookie can be accessed by client-side scripts.\n * @default true\n */\n httpOnly: boolean // Defaults to true\n /**\n * Whether the cookie should only be sent over secure connections (HTTPS).\n * This is a security feature to prevent the cookie from being sent over unencrypted connections.\n * @default true\n */\n secure: boolean\n /**\n * The SameSite attribute of the cookie.\n * This attribute controls whether the cookie is sent with cross-site requests.\n * - 'none' means the cookie is sent with cross-site requests.\n * - 'lax' means the cookie is sent with top-level navigations and will be sent along with GET\n * requests initiated by third-party websites.\n * @default 'none'\n */\n sameSite: 'none' | 'lax'\n /**\n * The name of the cookie.\n * This is the key under which the session data will be stored in the cookie.\n * @default 'as' - 'as' stands for \"api session\"\n */\n name: string\n}\n\n/**\n * Configuration for JWT-based session transport.\n */\nexport interface JwtConfiguration extends SessionTransport {\n kind: 'jwt'\n /**\n * The lifetime of the JWT token.\n * This is a string representing the duration, e.g., \"7d\" for 7 days or \"15m\" for 15 minutes.\n *\n * @default \"7d\"\n */\n lifetime: string\n}\n\nexport interface SessionConfiguration {\n /**\n * The secret used to sign the JWT and cookies. Should be handled securely.\n * Not visible in the UI after being set.\n */\n secret: string\n /**\n * The properties from the `User` entity to be encoded into the session payload (JWT/cookie).\n * These properties become available in the `request.auth` object at runtime.\n *\n * In practice, these are the ids of the properties in the `User` entity.\n */\n properties: string[]\n /**\n * The cookie-based session transport configuration.\n */\n cookie?: CookieConfiguration\n\n /**\n * The JWT-based session transport configuration.\n */\n jwt?: JwtConfiguration\n}\n\n/**\n * Defines the authorization strategy for the API.\n * It is a base interface that can be extended for different strategies.\n * For MVP, we will start with Roles-Based Access Control (RBAC).\n */\nexport interface AuthorizationConfiguration {\n /**\n * The authorization strategy. For MVP, we will start with RBAC.\n * Post-MVP will include Permission-Based Access Control (PBAC).\n * The strategy determines how users are granted access to resources.\n *\n * - RBAC (Roles-Based Access Control): Users are assigned roles, and permissions are granted to those roles.\n * - PBAC (Permission-Based Access Control): Users are granted permissions directly, allowing for more\n * granular control.\n */\n strategy: string\n}\n\nexport interface RolesBasedAccessControl extends AuthorizationConfiguration {\n strategy: 'RBAC'\n /**\n * The property within the designated \"User\" entity that defines the user's role.\n * This field is used in access rules to grant permissions.\n *\n * This property must be marked with the \"Role\" data semantic in the Data Modeler.\n * It is required to publish the API.\n */\n roleKey: string\n}\n\nexport type AuthorizationStrategy = RolesBasedAccessControl\n\n/**\n * Configures the strategy for authenticating end-users.\n * An API can only support one authentication strategy at a time.\n * This is a base interface that can be extended for different strategies.\n */\nexport interface AuthenticationConfiguration {\n /**\n * The authentication method. For MVP, this is focused on username/password.\n * This can be extended in the future to include 'SSO'.\n */\n strategy: string\n}\n\n/**\n * Configuration for username/password authentication.\n * This is the primary authentication method for the API (MVP).\n */\nexport interface UsernamePasswordConfiguration extends AuthenticationConfiguration {\n strategy: 'UsernamePassword'\n /**\n * The specific property within the User entity that holds the password.\n * This property must be marked with the \"Password\" data semantic in the Data Modeler.\n *\n * This property is required to publish the API.\n */\n passwordKey?: string\n}\n\nexport type AuthenticationStrategy = UsernamePasswordConfiguration\n\n/**\n * Represents a Data Entity from the Data Domain that the API will expose and operate upon.\n */\nexport interface ExposedEntitySchema {\n kind: typeof ExposedEntityKind\n /**\n * The unique identifier for this exposure instance.\n * In the exposure model, we need to uniquely identify each exposure instance, because\n * an entity can be exposed multiple times in different contexts. Consider the following structure:\n *\n * ```\n * /categories/{categoryId}\n * /products/{productId}/categories\n * /products/{productId}/categories/{categoryId}\n * /promotions/{promotionId}/categories\n * /promotions/{promotionId}/categories/{categoryId}\n * ```\n *\n * The `category` entity would be exposed multiple times (as root and nested under products and promotions).\n * We need a way to distinguish between these different exposure instances.\n */\n key: string\n /**\n * A pointer to a Data Entity from the Data Domain.\n */\n entity: AssociationTarget\n /**\n * Indicates whether this exposure has a collection endpoint.\n * A collection endpoint is optional for nested exposures where the association is 1:1\n * and the schema is embedded directly under the parent resource.\n */\n hasCollection: boolean\n /**\n * A path to the collection endpoint for this exposure.\n * Starts with '/'. Not set for 1:1 nested exposures where collection does not exist.\n */\n collectionPath?: string\n\n /**\n * A path to the resource endpoint for this exposure.\n * Starts with '/'. For 1:1 nested exposures the resource path typically does not include an id segment.\n */\n resourcePath: string\n\n /**\n * Whether this exposure is a root exposure (top-level collection).\n * If this is set then the `parent` reference must be populated.\n */\n isRoot?: boolean\n\n /**\n * Parent reference when this exposure was created via following an association.\n */\n parent?: ExposeParentRef\n\n /**\n * Expose-time config used to create this exposure (persisted for auditing/UI).\n * This is only populated for the root exposure. All children exposures inherit this config.\n */\n exposeOptions?: ExposeOptions\n\n /**\n * The list of enabled API actions for this exposure (List/Read/Create/etc.)\n */\n actions: ActionSchema[]\n\n /**\n * Optional array of access rules that define the access control policies for this exposure.\n */\n accessRule?: AccessRuleSchema[]\n\n /**\n * Optional configuration for rate limiting for this exposure.\n */\n rateLimiting?: RateLimitingConfigurationSchema\n\n /**\n * When true, generation for this exposure hit configured limits\n */\n truncated?: boolean\n /**\n * Pagination contract for this exposure.\n */\n paginationContract?: PaginationContract\n}\n\n/**\n * Parent reference stored on a nested exposure\n */\nexport interface ExposeParentRef {\n /**\n * The key of the parent exposed entity. This references the `ExposedEntity.key` property.\n */\n key: string\n /**\n * The association from the parent that produced this exposure.\n * A sub-entity must always have a parent association.\n */\n association: AssociationTarget\n /**\n * The numeric depth from the root exposure (root = 0)\n */\n depth?: number\n}\n\n/**\n * Options passed when creating a new exposure\n */\nexport interface ExposeOptions {\n /**\n * Whether to follow associations when creating the exposure.\n * When not set, it only exposes the passed entity.\n */\n followAssociations?: boolean\n /**\n * The maximum depth to follow associations when creating the exposure.\n */\n maxDepth?: number\n}\n\n/**\n * Represents a pagination strategy for API actions that return collections of resources.\n * This is a base interface that can be extended for different pagination strategies.\n */\nexport interface PaginationStrategy {\n /**\n * The kind of pagination strategy. This is used to identify the specific pagination method.\n * For example, 'cursor' for cursor-based pagination or 'offset' for offset-based pagination.\n */\n kind: string\n /**\n * The default page size for the pagination strategy.\n * This is the number of items returned per page when no specific page size is requested.\n */\n defaultLimit?: number\n /**\n * The maximum page size for the pagination strategy.\n * This is the maximum number of items that can be returned per page.\n * The API runtime defined the upper limit to prevent abuse.\n */\n maxLimit?: number\n}\n\n/**\n * Represents the cursor-based pagination strategy.\n */\nexport interface CursorPaginationStrategy extends PaginationStrategy {\n kind: 'cursor'\n}\n\n/**\n * Represents the offset-based pagination strategy.\n */\nexport interface OffsetPaginationStrategy extends PaginationStrategy {\n kind: 'offset'\n}\n\n/**\n * Represents the contract for pagination. Defines which fields can be used for filtering, sorting,\n * and searching.\n */\nexport interface PaginationContract {\n /**\n * The list of fields (property keys) that can be used for filtering.\n */\n filterableFields: string[]\n /**\n * The list of fields (property keys) that can be used for sorting.\n */\n sortableFields: string[]\n /**\n * The list of fields (property keys) that can be used for searching.\n * Note that these properties must be of type string or array of strings.\n */\n searchableFields: string[]\n /**\n * The default sort order for the pagination strategy.\n * This is the sort order that will be used when no sort order is specified.\n */\n defaultSort?: { field: string; direction: 'asc' | 'desc' }[]\n}\n\nexport type DomainImpactKinds =\n | typeof DomainNamespaceKind\n | typeof DomainEntityKind\n | typeof DomainModelKind\n | typeof DomainPropertyKind\n | typeof DomainAssociationKind\n | typeof DataDomainKind\n\n/**\n * The impact analysis report\n */\nexport interface DomainImpactReport {\n /**\n * The key of the impacted data object.\n * This is the key of the object that is being changed.\n */\n key: string\n /**\n * The kind of the impacted data object.\n * This is the kind of the object that is being changed.\n */\n kind: DomainImpactKinds\n /**\n * The list of impacted data objects.\n */\n impact: DomainImpactItem[]\n /**\n * Whether it is possible to proceed with the change.\n * If the change is not possible, the reason will be in the impact list.\n */\n canProceed: boolean\n}\n\nexport interface DomainImpactItem {\n /**\n * The key of the impacted data object.\n */\n key: string\n /**\n * The kind of the impacted data object.\n */\n kind: string\n /**\n * The type of the impact.\n *\n * - `delete` - The data object would be deleted.\n */\n type: 'delete' | 'publish'\n /**\n * The impact description.\n * Explains what will happen to the impacted data object.\n * This is a human-readable description of the impact.\n * It should be clear and concise.\n */\n impact: string\n /**\n * The severity of the impact.\n *\n * - `info` - The impact is informational.\n * - `warning` - The impact can potentially cause problems but is not a blocker.\n * - `error` - The impact is a blocker and needs to be resolved before proceeding.\n */\n severity: 'info' | 'warning' | 'error'\n /**\n * The type of the relationship between two impacted objects.\n */\n relationship?: 'child'\n /**\n * The resolution of the conflict if the change will be forced.\n */\n resolution?: string\n /**\n * The optional parent of the impacted data object.\n * For example, if the impacted item is a property, this will be the entity it belongs to.\n */\n parent?: string\n}\n\nexport interface DeserializeOptions {\n /**\n * The mode to use for deserialization.\n */\n mode?: DeserializationMode\n /**\n * The serialized graph to deserialize.\n * This is the JSON representation of the graph.\n */\n json?: SerializedGraph\n /**\n * The list of foreign domains that this domain depends on.\n */\n dependencies?: DataDomain[]\n}\n\n/**\n * Describes the mode for deserializing a domain graph.\n */\nexport type DeserializationMode = 'strict' | 'lenient'\n\n/**\n * Describes an issue found during deserialization.\n */\nexport interface DeserializationIssue {\n /**\n * The type of issue encountered.\n */\n type: 'missing_node' | 'missing_edge' | 'invalid_parent' | 'missing_dependency' | 'malformed_entry' | 'unknown_kind'\n /**\n * The severity of the issue.\n */\n severity: 'error' | 'warning' | 'info'\n /**\n * A human-readable description of the issue.\n */\n message: string\n /**\n * The key of the affected node, edge, or entity if applicable.\n */\n affectedKey?: string\n /**\n * Additional context about the issue.\n */\n context?: Record<string, unknown>\n /**\n * The action taken to handle this issue in lenient mode.\n */\n resolution?: string\n}\n\n/**\n * The result of a deserialization operation.\n */\nexport interface DeserializationResult {\n /**\n * The deserialized graph.\n */\n graph: DataDomainGraph\n /**\n * Issues encountered during deserialization.\n */\n issues: DeserializationIssue[]\n /**\n * Whether the deserialization was successful.\n * This is set to true when a critical failures occurred.\n */\n success: boolean\n}\n\n/**\n * Available node types for search filtering.\n */\nexport type SearchableNodeType =\n | typeof DomainNamespaceKind\n | typeof DomainModelKind\n | typeof DomainEntityKind\n | typeof DomainPropertyKind\n | typeof DomainAssociationKind\n\n/**\n * Search criteria for filtering domain nodes.\n */\nexport interface DomainSearchCriteria {\n /**\n * Text query to search for in name, displayName, and description fields.\n * Can be a string for exact match or RegExp for pattern matching.\n */\n query?: string | RegExp\n\n /**\n * Filter by specific node types. If not provided, all node types are included.\n */\n nodeTypes?: SearchableNodeType[]\n\n /**\n * Whether to include nodes from foreign domains in the search results.\n * Defaults to false.\n */\n includeForeignDomains?: boolean\n\n /**\n * Case-sensitive search when using string query.\n * Defaults to false (case-insensitive).\n */\n caseSensitive?: boolean\n}\n\n/**\n * A search result containing a matching domain node and metadata.\n */\nexport interface DomainSearchResult {\n /**\n * The matching domain node.\n */\n node: DomainGraphNodeType\n\n /**\n * The field(s) that matched the search query.\n */\n matchedFields: ('name' | 'displayName' | 'description')[]\n\n /**\n * The key used to identify this node in the graph.\n */\n key: string\n\n /**\n * Whether this node belongs to a foreign domain.\n */\n isForeign: boolean\n}\n\n/**\n * Contextual information about where the API Model validation issue occurred.\n * This allows the UI to trace back a validation error to a specific module or component.\n */\nexport interface ApiModelValidationContext {\n /**\n * The key of the ApiModel itself.\n */\n apiModelKey: string\n /**\n * The kind of the affected component (e.g., 'ApiModel', 'ExposedEntity', 'Action').\n */\n kind: string\n /**\n * The key of the specific entity or action where the issue occurred.\n * If the error is at the root API model, this might be the ApiModel's key.\n */\n key: string\n /**\n * The specific property being validated, if applicable.\n */\n property?: string\n /**\n * The key of the parent ExposedEntity, if this issue occurred on a nested entity or an action.\n */\n parentExposedEntityKey?: string\n}\n\n/**\n * Represents a single validation issue found within an ApiModel.\n */\nexport interface ApiModelValidationItem {\n /**\n * A unique code identifying the type of validation error. This enables\n * programmatic handling or auto-fixing in the UI (e.g., 'API_MISSING_NAME', 'LIST_ACTION_MISSING_PAGINATION').\n */\n code: string\n /**\n * A human-readable description of the problem.\n */\n message: string\n /**\n * A human-readable suggestion on how to fix the issue.\n */\n suggestion: string\n /**\n * The severity of the validation issue.\n */\n severity: 'error' | 'warning' | 'info'\n /**\n * Contextual information to trace the issue back to its source component.\n */\n context: ApiModelValidationContext\n}\n\n/**\n * The consolidated result of validating an entire ApiModel or a subset of it.\n */\nexport interface ApiModelValidationResult {\n /**\n * A boolean indicating whether the model is structurally sound and ready for publication.\n * Typically true if there are no 'error' severity issues.\n */\n isValid: boolean\n /**\n * The aggregated list of all validation issues found.\n */\n issues: ApiModelValidationItem[]\n}\n"]}
@@ -9,6 +9,7 @@ export declare function validateApiModelInfo(model: ApiModel): ApiModelValidatio
9
9
  export declare function validateApiModelDependency(model: ApiModel): ApiModelValidationItem[];
10
10
  export declare function validateApiModelSecurity(model: ApiModel): ApiModelValidationItem[];
11
11
  export declare function validateApiModelMetadata(model: ApiModel): ApiModelValidationItem[];
12
+ export declare function validateApiPagination(model: ApiModel): ApiModelValidationItem[];
12
13
  export declare function validateAction(action: Action, parent: ExposedEntity, apiModelKey: string): ApiModelValidationItem[];
13
14
  export declare function validateExposedEntity(entity: ExposedEntity, apiModel: ApiModel): ApiModelValidationItem[];
14
15
  //# sourceMappingURL=api_model_rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api_model_rules.d.ts","sourceRoot":"","sources":["../../../../src/modeling/validation/api_model_rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAMlD,OAAO,KAAK,EAAE,sBAAsB,EAA6B,MAAM,aAAa,CAAA;AAapF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAiD9E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CA+BpF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAuKlF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAuElF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE,CA2FnH;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAuKzG"}
1
+ {"version":3,"file":"api_model_rules.d.ts","sourceRoot":"","sources":["../../../../src/modeling/validation/api_model_rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAMlD,OAAO,KAAK,EAAE,sBAAsB,EAA6B,MAAM,aAAa,CAAA;AAapF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAiD9E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CA+BpF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAuKlF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAuElF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CA+C/E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAuDnH;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAiOzG"}