@open-resource-discovery/specification 1.14.2 → 1.14.4

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.
@@ -86,7 +86,7 @@
86
86
  },
87
87
  {
88
88
  "const": "system-version",
89
- "description": "Describes the static [system-version](../index.md#system-version) perspective, usually known at deploy-time.\n\nIf chosen, `describedSystemVersion`.`version` MUST be provided, too.\n\nThis perspective describes how a system of a particular type and version generally look like.\nThe latest system-version MAY also be interpreted as the [system-type](../index.md#system-type) perspective."
89
+ "description": "Describes the static [system-version](../index.md#system-version) perspective, usually known at deploy-time.\n\nIf chosen, `describedSystemVersion`.`version` MUST be provided, too.\n\nThis perspective describes how a system of a particular type and version generally look like.\nIf no explicit `system-type` perspective is available, the latest system-version SHOULD be interpreted as the [system-type](../index.md#system-type) perspective (see [static perspective resolution](../concepts/perspectives#static-perspective-resolution))."
90
90
  },
91
91
  {
92
92
  "const": "system-instance",
@@ -94,7 +94,7 @@
94
94
  },
95
95
  {
96
96
  "const": "system-independent",
97
- "description": "Describes content that is independent of [system-versions](../index.md#system-version) or [system-instances](../index.md#system-instance).\nThis content is always static and has independent visibility and lifecycle from the systems in a particular landscape.\nThe \"system-independent\" content MUST NOT be overridden via system-version or system-instance perspective metadata.\n\nExamples are: Vendors, products, globally aligned entity types, groups and group types (taxonomy), which are usually shared by multiple systems."
97
+ "description": "Describes content that is independent of [system-versions](../index.md#system-version) or [system-instances](../index.md#system-instance).\nThis content is always static and has independent visibility and lifecycle from the systems in a particular landscape.\nThe \"system-independent\" content MUST NOT be overridden via system-version or system-instance perspective metadata.\n\nExamples are: Vendors, products, globally aligned entity types, groups and group types (taxonomy), which are usually shared by multiple systems.\nFor the distinction between system-independent content and system-scoped shared publications, see [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources)."
98
98
  }
99
99
  ],
100
100
  "default": "system-instance",
@@ -64,7 +64,7 @@
64
64
  },
65
65
  {
66
66
  "const": "system-version",
67
- "description": "Describes the static [system-version](../index.md#system-version) perspective, usually known at deploy-time.\n\nIf chosen, `describedSystemVersion`.`version` MUST be provided, too.\n\nThis perspective describes how a system of a particular type and version generally look like.\nThe latest system-version MAY also be interpreted as the [system-type](../index.md#system-type) perspective."
67
+ "description": "Describes the static [system-version](../index.md#system-version) perspective, usually known at deploy-time.\n\nIf chosen, `describedSystemVersion`.`version` MUST be provided, too.\n\nThis perspective describes how a system of a particular type and version generally look like.\nIf no explicit `system-type` perspective is available, the latest system-version SHOULD be interpreted as the [system-type](../index.md#system-type) perspective (see [static perspective resolution](../concepts/perspectives#static-perspective-resolution))."
68
68
  },
69
69
  {
70
70
  "const": "system-instance",
@@ -72,7 +72,7 @@
72
72
  },
73
73
  {
74
74
  "const": "system-independent",
75
- "description": "Describes content that is independent of [system-versions](../index.md#system-version) or [system-instances](../index.md#system-instance).\nThis content is always static and has independent visibility and lifecycle from the systems in a particular landscape.\nThe \"system-independent\" content MUST NOT be overridden via system-version or system-instance perspective metadata.\n\nExamples are: Vendors, products, globally aligned entity types, groups and group types (taxonomy), which are usually shared by multiple systems."
75
+ "description": "Describes content that is independent of [system-versions](../index.md#system-version) or [system-instances](../index.md#system-instance).\nThis content is always static and has independent visibility and lifecycle from the systems in a particular landscape.\nThe \"system-independent\" content MUST NOT be overridden via system-version or system-instance perspective metadata.\n\nExamples are: Vendors, products, globally aligned entity types, groups and group types (taxonomy), which are usually shared by multiple systems.\nFor the distinction between system-independent content and system-scoped shared publications, see [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources)."
76
76
  }
77
77
  ],
78
78
  "default": "system-instance",
@@ -264,7 +264,7 @@
264
264
  "type": "object",
265
265
  "title": "Package",
266
266
  "x-ums-type": "root",
267
- "description": "A [**Package**](../concepts/grouping-and-bundling#package) organizes a set of related resources together, by publishing and catalog presentation concerns.\n\nThe Package can also be used to indicate which products or vendors provided the packaged resources.\nFor partner or customer content, the Package can indicate this via the `vendor` and `partOfProducts` assignments.\nIn any case, the Package `ordID` namespace MUST reflect the namespace of the providing application (which hosts the resource), not the resource definition owner, which could be a customer or partner.\n\nA Package SHOULD contain at least one resource. Avoid empty Packages.\n\nThe Package assignment of a resource MAY change, so consumers MUST not rely on this to be stable.\n\nA Package does not have a `visibility` property.\nWhether it is displayed is decided by the fact, whether it contains any visible resources according to the visibility role of the aggregator.\n\nTo learn more about the concept and further guidance, see [Package](../concepts/grouping-and-bundling#package).",
267
+ "description": "A [**Package**](../concepts/grouping-and-bundling#package) organizes a set of related resources together, by publishing and catalog presentation concerns.\n\nThe Package can also be used to indicate which products or vendors provided the packaged resources.\nFor partner or customer content, the Package can indicate this via the `vendor` and `partOfProducts` assignments.\n\nA Package SHOULD contain at least one resource. Avoid empty Packages.\n\nThe Package assignment of a resource MAY change, so consumers MUST not rely on this to be stable.\n\nA Package does not have a `visibility` property.\nWhether it is displayed is decided by the fact, whether it contains any visible resources according to the visibility role of the aggregator.\n\nTo learn more about the concept and further guidance, see [Package](../concepts/grouping-and-bundling#package).",
268
268
  "properties": {
269
269
  "ordId": {
270
270
  "type": "string",
@@ -689,7 +689,7 @@
689
689
  "type": "object",
690
690
  "title": "Consumption Bundle",
691
691
  "x-ums-type": "root",
692
- "description": "A [**Consumption Bundle**](../concepts/grouping-and-bundling#consumption-bundle) groups APIs and Events together that can be consumed with the credentials and auth mechanism.\nIdeally it also includes instructions and details how to request access and credentials for resources.\n\nFor more documentation and guidance how to correctly this correctly, see [Consumption Bundle details](../concepts/grouping-and-bundling#consumption-bundle).\n\nA Consumption Bundle SHOULD have at least one association with a resource (0..n). Avoid empty Consumption Bundles.\nA Consumption Bundle MUST NOT contain APIs and Events that are NOT defined in the ORD document(s) returned\nby the system instance that defines the Consumption Bundle.\n\nPlease note that some ORD consumer use cases MAY depend on Consumption Bundle assignments to work with the resources.\n\nTo learn more about the concept, see [Consumption Bundle](../concepts/grouping-and-bundling#consumption-bundle).",
692
+ "description": "A [**Consumption Bundle**](../concepts/grouping-and-bundling#consumption-bundle) groups APIs and Events together that can be consumed with the same credentials and auth mechanism.\nIdeally it also includes instructions and details on how to request access and credentials for resources.\n\nFor more documentation and guidance on how to use this correctly, see [Consumption Bundle](../concepts/grouping-and-bundling#consumption-bundle).\n\nA Consumption Bundle SHOULD have at least one association with a resource (0..n). Avoid empty Consumption Bundles.\nA Consumption Bundle MUST NOT contain APIs and Events that are NOT defined in the ORD document(s) returned\nby the system instance that defines the Consumption Bundle.\n\nPlease note that some ORD consumer use cases MAY depend on Consumption Bundle assignments to work with the resources.\n\nTo learn more about the concept, see [Consumption Bundle](../concepts/grouping-and-bundling#consumption-bundle).",
693
693
  "properties": {
694
694
  "ordId": {
695
695
  "type": "string",
@@ -1017,7 +1017,7 @@
1017
1017
  "default": false,
1018
1018
  "x-introduced-in-version": "1.13.0",
1019
1019
  "x-feature-status": "beta",
1020
- "description": "Indicates that the resource serves as interface only and cannot be called directly, similar to the abstract keyword in programming languages like Java.\n\nAbstract resources define contracts that other resources can declare compatibility with through the `compatibleWith` property.\n\nMore details can be found on the [Compatibility](../concepts/compatibility) concept page."
1020
+ "description": "Indicates that the resource serves as interface only and cannot be called directly, similar to the abstract keyword in programming languages like Java.\n\nAbstract resources define contracts that other resources can declare compatibility with through the `compatibleWith` property.\nAbstract resources can be system-owned, authority-owned or system-independent, depending on who governs the interface contract.\n\nMore details can be found on the [Compatibility](../concepts/compatibility) concept page.\nSee also [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources#abstract-resources-and-compatiblewith) for how abstract contracts relate to shared ORD IDs."
1021
1021
  },
1022
1022
  "visibility": {
1023
1023
  "type": "string",
@@ -1048,7 +1048,7 @@
1048
1048
  },
1049
1049
  {
1050
1050
  "const": "beta",
1051
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
1051
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
1052
1052
  },
1053
1053
  {
1054
1054
  "const": "active",
@@ -1056,11 +1056,11 @@
1056
1056
  },
1057
1057
  {
1058
1058
  "const": "deprecated",
1059
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
1059
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
1060
1060
  },
1061
1061
  {
1062
1062
  "const": "sunset",
1063
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
1063
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
1064
1064
  }
1065
1065
  ],
1066
1066
  "examples": [
@@ -1082,6 +1082,38 @@
1082
1082
  "2024.8.0"
1083
1083
  ]
1084
1084
  },
1085
+ "relatedApiResources": {
1086
+ "type": "array",
1087
+ "x-introduced-in-version": "1.14.3",
1088
+ "description": "Optional list of related API Resources.\n\nUse this to indicate which APIs implement, expose, or are otherwise related to this entity.",
1089
+ "items": {
1090
+ "$ref": "#/definitions/RelatedApiResource"
1091
+ },
1092
+ "examples": [
1093
+ [
1094
+ {
1095
+ "ordId": "sap.s4:apiResource:API_BUSINESS_PARTNER:v1",
1096
+ "relationType": "foo.bar:relationName"
1097
+ }
1098
+ ]
1099
+ ]
1100
+ },
1101
+ "relatedEventResources": {
1102
+ "type": "array",
1103
+ "x-introduced-in-version": "1.14.3",
1104
+ "description": "Optional list of related Event Resources.\n\nUse this to indicate which events are emitted, consumed, or otherwise related to this entity.",
1105
+ "items": {
1106
+ "$ref": "#/definitions/RelatedEventResource"
1107
+ },
1108
+ "examples": [
1109
+ [
1110
+ {
1111
+ "ordId": "sap.s4:eventResource:BusinessPartnerEvents:v1",
1112
+ "relationType": "foo.bar:relationName"
1113
+ }
1114
+ ]
1115
+ ]
1116
+ },
1085
1117
  "deprecationDate": {
1086
1118
  "type": "string",
1087
1119
  "format": "date-time",
@@ -1862,7 +1894,7 @@
1862
1894
  "default": false,
1863
1895
  "x-introduced-in-version": "1.13.0",
1864
1896
  "x-feature-status": "beta",
1865
- "description": "Indicates that the resource serves as interface only and cannot be called directly, similar to the abstract keyword in programming languages like Java.\n\nAbstract resources define contracts that other resources can declare compatibility with through the `compatibleWith` property.\n\nMore details can be found on the [Compatibility](../concepts/compatibility) concept page."
1897
+ "description": "Indicates that the resource serves as interface only and cannot be called directly, similar to the abstract keyword in programming languages like Java.\n\nAbstract resources define contracts that other resources can declare compatibility with through the `compatibleWith` property.\nAbstract resources can be system-owned, authority-owned or system-independent, depending on who governs the interface contract.\n\nMore details can be found on the [Compatibility](../concepts/compatibility) concept page.\nSee also [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources#abstract-resources-and-compatiblewith) for how abstract contracts relate to shared ORD IDs."
1866
1898
  },
1867
1899
  "visibility": {
1868
1900
  "type": "string",
@@ -1893,7 +1925,7 @@
1893
1925
  },
1894
1926
  {
1895
1927
  "const": "beta",
1896
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
1928
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
1897
1929
  },
1898
1930
  {
1899
1931
  "const": "active",
@@ -1901,11 +1933,11 @@
1901
1933
  },
1902
1934
  {
1903
1935
  "const": "deprecated",
1904
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
1936
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
1905
1937
  },
1906
1938
  {
1907
1939
  "const": "sunset",
1908
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
1940
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
1909
1941
  }
1910
1942
  ],
1911
1943
  "examples": [
@@ -1927,6 +1959,38 @@
1927
1959
  "2024.8.0"
1928
1960
  ]
1929
1961
  },
1962
+ "relatedApiResources": {
1963
+ "type": "array",
1964
+ "x-introduced-in-version": "1.14.3",
1965
+ "description": "Optional list of related API Resources.\n\nUse this to indicate which APIs implement, expose, or are otherwise related to this entity.",
1966
+ "items": {
1967
+ "$ref": "#/definitions/RelatedApiResource"
1968
+ },
1969
+ "examples": [
1970
+ [
1971
+ {
1972
+ "ordId": "sap.s4:apiResource:API_BUSINESS_PARTNER:v1",
1973
+ "relationType": "foo.bar:relationName"
1974
+ }
1975
+ ]
1976
+ ]
1977
+ },
1978
+ "relatedEventResources": {
1979
+ "type": "array",
1980
+ "x-introduced-in-version": "1.14.3",
1981
+ "description": "Optional list of related Event Resources.\n\nUse this to indicate which events are emitted, consumed, or otherwise related to this entity.",
1982
+ "items": {
1983
+ "$ref": "#/definitions/RelatedEventResource"
1984
+ },
1985
+ "examples": [
1986
+ [
1987
+ {
1988
+ "ordId": "sap.s4:eventResource:BusinessPartnerEvents:v1",
1989
+ "relationType": "foo.bar:relationName"
1990
+ }
1991
+ ]
1992
+ ]
1993
+ },
1930
1994
  "deprecationDate": {
1931
1995
  "type": "string",
1932
1996
  "format": "date-time",
@@ -2403,7 +2467,7 @@
2403
2467
  "type": "object",
2404
2468
  "title": "Entity Type",
2405
2469
  "x-ums-type": "root",
2406
- "description": "An [**Entity Type**](../concepts/grouping-and-bundling#entity-type) describes either a business concept / term or an underlying conceptual model.\nThe same entity type can be exposed through one or multiple API and events resources.\n\nTo learn more about the concept, see [Entity Type](../concepts/grouping-and-bundling#entity-type).",
2470
+ "description": "An [**Entity Type**](../concepts/grouping-and-bundling#entity-type) describes either a business concept / term or an underlying conceptual model (e.g. a business object / domain model).\nEntity Types can be related to API & Event resources, Data Products and other Entity Types, connecting exposed resources to business semantics.\n\nTo learn more about the concept, see [Entity Type](../concepts/grouping-and-bundling#entity-type).",
2407
2471
  "x-introduced-in-version": "1.8.0",
2408
2472
  "properties": {
2409
2473
  "ordId": {
@@ -2568,7 +2632,7 @@
2568
2632
  },
2569
2633
  {
2570
2634
  "const": "beta",
2571
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
2635
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
2572
2636
  },
2573
2637
  {
2574
2638
  "const": "active",
@@ -2576,11 +2640,11 @@
2576
2640
  },
2577
2641
  {
2578
2642
  "const": "deprecated",
2579
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
2643
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
2580
2644
  },
2581
2645
  {
2582
2646
  "const": "sunset",
2583
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
2647
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
2584
2648
  }
2585
2649
  ],
2586
2650
  "examples": [
@@ -2932,7 +2996,7 @@
2932
2996
  },
2933
2997
  {
2934
2998
  "const": "beta",
2935
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
2999
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
2936
3000
  },
2937
3001
  {
2938
3002
  "const": "active",
@@ -2940,11 +3004,11 @@
2940
3004
  },
2941
3005
  {
2942
3006
  "const": "deprecated",
2943
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
3007
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
2944
3008
  },
2945
3009
  {
2946
3010
  "const": "sunset",
2947
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
3011
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
2948
3012
  }
2949
3013
  ],
2950
3014
  "examples": [
@@ -3814,7 +3878,7 @@
3814
3878
  "ordId": {
3815
3879
  "type": "string",
3816
3880
  "description": "The ORD ID is a stable, globally unique ID for ORD resources or taxonomy.\n\nIt MUST be a valid [ORD ID](../index.md#ord-id) of the appropriate ORD type.",
3817
- "pattern": "^([a-z0-9-]+(?:[.][a-z0-9-]+)*):(agent):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
3881
+ "pattern": "^([a-z0-9]+(?:[.][a-z0-9]+)*):(agent):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
3818
3882
  "maxLength": 255,
3819
3883
  "examples": [
3820
3884
  "sap.foo.bar:agent:disputeAgent:v1"
@@ -3937,7 +4001,7 @@
3937
4001
  },
3938
4002
  {
3939
4003
  "const": "beta",
3940
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
4004
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
3941
4005
  },
3942
4006
  {
3943
4007
  "const": "active",
@@ -3945,11 +4009,11 @@
3945
4009
  },
3946
4010
  {
3947
4011
  "const": "deprecated",
3948
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
4012
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
3949
4013
  },
3950
4014
  {
3951
4015
  "const": "sunset",
3952
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
4016
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
3953
4017
  }
3954
4018
  ],
3955
4019
  "examples": [
@@ -4289,7 +4353,7 @@
4289
4353
  "description": "Optional list of integration dependencies that the agent relies on.\n\nMUST be a valid reference to an [Integration Dependency](#integration-dependency) ORD ID.",
4290
4354
  "items": {
4291
4355
  "type": "string",
4292
- "pattern": "^([a-z0-9-]+(?:[.][a-z0-9-]+)*):(integrationDependency):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
4356
+ "pattern": "^([a-z0-9]+(?:[.][a-z0-9]+)*):(integrationDependency):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
4293
4357
  "maxLength": 255,
4294
4358
  "x-association-target": [
4295
4359
  "#/definitions/IntegrationDependency/ordId"
@@ -4347,7 +4411,7 @@
4347
4411
  "type": "object",
4348
4412
  "title": "Product",
4349
4413
  "x-ums-type": "root",
4350
- "description": "A **product** in ORD is understood as a commercial product or service.\n\nIt is a high-level entity for structuring the software portfolio from a sales / software logistics perspective.\nWhile **system type** is a technical concept, **product** covers the commercial and marketing view.\n\nPlease note that the ORD concept of a product is very simple on purpose.\nThere is no distinction between products and services and concepts like product versions, variants, etc.\n\nORD assumes that this is handled by specialized systems and that ORD only provides the means to correlate to them.",
4414
+ "description": "A [**Product**](../concepts/grouping-and-bundling#product) in ORD is understood as a software product or service offering (whether commercial or free).\n\nIt is a high-level entity for structuring the software portfolio from a portfolio / software logistics perspective.\nWhile **system type** is a technical concept, **product** covers the portfolio and marketing view.\n\nPlease note that the ORD concept of a product is very simple on purpose.\nThere is no distinction between products and services and concepts like product versions, variants, etc.\n\nORD assumes that this is handled by specialized systems and that ORD only provides the means to correlate to them.\n\nTo learn more about the concept, see [Product](../concepts/grouping-and-bundling#product).",
4351
4415
  "properties": {
4352
4416
  "ordId": {
4353
4417
  "type": "string",
@@ -4615,7 +4679,7 @@
4615
4679
  },
4616
4680
  {
4617
4681
  "const": "beta",
4618
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
4682
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
4619
4683
  },
4620
4684
  {
4621
4685
  "const": "active",
@@ -4623,11 +4687,11 @@
4623
4687
  },
4624
4688
  {
4625
4689
  "const": "deprecated",
4626
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
4690
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
4627
4691
  },
4628
4692
  {
4629
4693
  "const": "sunset",
4630
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
4694
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
4631
4695
  }
4632
4696
  ],
4633
4697
  "examples": [
@@ -4668,7 +4732,7 @@
4668
4732
  "relatedApiResources": {
4669
4733
  "type": "array",
4670
4734
  "x-introduced-in-version": "1.14.2",
4671
- "description": "Optional list of related API Resources.\n\nUse this to indicate which APIs implement, expose, or are otherwise related to this capability.",
4735
+ "description": "Optional list of related API Resources.\n\nUse this to indicate which APIs implement, expose, or are otherwise related to this entity.",
4672
4736
  "items": {
4673
4737
  "$ref": "#/definitions/RelatedApiResource"
4674
4738
  },
@@ -4684,7 +4748,7 @@
4684
4748
  "relatedEventResources": {
4685
4749
  "type": "array",
4686
4750
  "x-introduced-in-version": "1.14.2",
4687
- "description": "Optional list of related Event Resources.\n\nUse this to indicate which events are emitted, consumed, or otherwise related to this capability.",
4751
+ "description": "Optional list of related Event Resources.\n\nUse this to indicate which events are emitted, consumed, or otherwise related to this entity.",
4688
4752
  "items": {
4689
4753
  "$ref": "#/definitions/RelatedEventResource"
4690
4754
  },
@@ -5003,7 +5067,7 @@
5003
5067
  },
5004
5068
  {
5005
5069
  "const": "beta",
5006
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
5070
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
5007
5071
  },
5008
5072
  {
5009
5073
  "const": "active",
@@ -5011,11 +5075,11 @@
5011
5075
  },
5012
5076
  {
5013
5077
  "const": "deprecated",
5014
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
5078
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
5015
5079
  },
5016
5080
  {
5017
5081
  "const": "sunset",
5018
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
5082
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
5019
5083
  }
5020
5084
  ],
5021
5085
  "examples": [
@@ -5429,7 +5493,7 @@
5429
5493
  },
5430
5494
  {
5431
5495
  "const": "beta",
5432
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
5496
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
5433
5497
  },
5434
5498
  {
5435
5499
  "const": "active",
@@ -5437,11 +5501,11 @@
5437
5501
  },
5438
5502
  {
5439
5503
  "const": "deprecated",
5440
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
5504
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
5441
5505
  },
5442
5506
  {
5443
5507
  "const": "sunset",
5444
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
5508
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
5445
5509
  }
5446
5510
  ],
5447
5511
  "examples": [
@@ -5812,7 +5876,7 @@
5812
5876
  "type": "object",
5813
5877
  "title": "System Instance",
5814
5878
  "x-ums-type": "ignore",
5815
- "description": "A [system instance](../index.md#system-instance) is a concrete, running instance of a system type.\nIn a multi-tenant system, it corresponds to a tenant.\nIn a single-tenant system, it corresponds to the [system installation](../index.md#system-deployment) itself.",
5879
+ "description": "A [system instance](../index.md#system-instance) is a concrete, running instance of a system type.\nIn a multi-tenant system, it corresponds to a tenant.\nIn a single-tenant system, it corresponds to the [system deployment](../index.md#system-deployment) itself.",
5816
5880
  "properties": {
5817
5881
  "baseUrl": {
5818
5882
  "type": "string",
@@ -6105,10 +6169,10 @@
6105
6169
  "Labels": {
6106
6170
  "title": "Labels",
6107
6171
  "type": "object",
6108
- "description": "Generic labels that can be applied to most ORD information.\nThey are defined as an object that may have arbitrary keys.\nThe value of a key is an array of strings.\n\nLabels can be used to attach technical information that cannot be expressed natively in ORD.\nAn ORD aggregator should allow to categorize and query information based on the labels provided.\n\nIf multiple parties rely on the existence of certain label information,\nstandardization through ORD SHOULD be preferred.\n\nAll labels attached to a `Package` will be inherited to the resources they contain.\nDuplicate labels will be merged by the ORD aggregator according to the following rules:\n* Values of the same label key will be merged.\n* Duplicate values of the same label key will be removed.",
6172
+ "description": "Generic key-value labels that can be applied to most ORD information.\nThey are defined as an object that may have arbitrary keys.\nThe value of a key is an array of strings.\n\nLabels can be used to attach technical information that cannot be expressed natively in ORD.\nAn ORD aggregator should allow to categorize and query information based on the labels provided.\n\nTo learn more about the concept, see [Labels](../concepts/grouping-and-bundling#labels).\n\nIf multiple parties rely on the existence of certain label information,\nstandardization through ORD SHOULD be preferred.\n\nAll labels attached to a `Package` will be inherited to the resources they contain.\nDuplicate labels will be merged by the ORD aggregator according to the following rules:\n* Values of the same label key will be merged.\n* Duplicate values of the same label key will be removed.\n\n**RECOMMENDATION**: Use a [Concept ID](../index.md#concept-id) as the label key to indicate ownership and avoid naming conflicts.\nThe namespace in the Concept ID clearly identifies who owns and defines the label's semantics.",
6109
6173
  "x-ums-type": "custom",
6110
6174
  "patternProperties": {
6111
- "^[a-zA-Z0-9-_.]*$": {
6175
+ "^[a-zA-Z0-9-_.:/]*$": {
6112
6176
  "type": "array",
6113
6177
  "items": {
6114
6178
  "type": "string",
@@ -6118,9 +6182,14 @@
6118
6182
  },
6119
6183
  "examples": [
6120
6184
  {
6121
- "label-key-1": [
6122
- "label-value-1",
6123
- "label-value-2"
6185
+ "foo.bar:labelKeyName": [
6186
+ "value"
6187
+ ]
6188
+ },
6189
+ {
6190
+ "foo.bar:cost-center": [
6191
+ "CC-12345",
6192
+ "CC-67890"
6124
6193
  ]
6125
6194
  }
6126
6195
  ]
@@ -6129,7 +6198,7 @@
6129
6198
  "title": "Group Type",
6130
6199
  "type": "object",
6131
6200
  "x-ums-type": "root",
6132
- "description": "A Group Type defines the semantics of [group assignments](#group).\nWhat the Group Type means and how it is to be used correctly SHOULD be described in the `description` (which may include markdown links).\n\nGroup Types can be defined centrally (ownership by authority namespace) or decentrally (defined by application / service itself).\n\nTo learn more about the concept, see [Group Concept Documentation](../concepts/grouping-and-bundling#groups).",
6201
+ "description": "A Group Type defines the semantics of [group assignments](#group).\nWhat the Group Type means and how it is to be used correctly SHOULD be described in the `description` (which may include markdown links).\n\nGroup Types can be defined centrally (ownership by an authority namespace or another shared owning namespace) or decentrally (defined by the application / service itself).\n\nTo learn more about the concept, see [Group Concept Documentation](../concepts/grouping-and-bundling#groups).\nFor the distinction between system-scoped and system-independent shared taxonomy, see [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources).",
6133
6202
  "x-introduced-in-version": "1.9.0",
6134
6203
  "properties": {
6135
6204
  "groupTypeId": {
@@ -6988,7 +7057,7 @@
6988
7057
  },
6989
7058
  {
6990
7059
  "const": "beta",
6991
- "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` status MAY be changed or removed at the provider's discretion."
7060
+ "description": "The API contract is released / available to consumers, but has no final stability guarantees.\nBreaking changes may occur at any time without notice or deprecation period.\n\nNot recommended for production use unless you can tolerate breaking changes. Suitable for experimentation, early adopters,\nand feedback gathering. Resources of `beta` `releaseStatus` MAY be changed or removed at the provider's discretion."
6992
7061
  },
6993
7062
  {
6994
7063
  "const": "active",
@@ -6996,11 +7065,11 @@
6996
7065
  },
6997
7066
  {
6998
7067
  "const": "deprecated",
6999
- "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
7068
+ "description": "The resource is still functional but scheduled for removal. No new development should depend on it.\n\nIf the `releaseStatus` is set to `deprecated`, the `deprecationDate` SHOULD be provided.\nIf the `releaseStatus` is set to `deprecated`, and the `sunsetDate` is already known, then the `sunsetDate` SHOULD be provided.\n\nIf successor resources exist, they MUST be referenced through `successors`.\n\nA deprecated resource MAY be sunset (decommissioned/removed) in the future through setting a `Tombstone`.\nOnce the resource is sunset, its description MAY be removed from ORD, but could also be kept with `releaseStatus` set to `sunset`."
7000
7069
  },
7001
7070
  {
7002
7071
  "const": "sunset",
7003
- "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the status is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
7072
+ "description": "The resource has been decommissioned and is no longer available at runtime. This entry exists for historical reference only.\n\nIf the `releaseStatus` is set to `sunset`, a `Tombstone` MUST be set as well and a `sunsetDate` MUST be provided."
7004
7073
  }
7005
7074
  ],
7006
7075
  "examples": [
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Agent Governance is a model extension for ORD that provides governance metadata for AI agents.
3
+ *
4
+ * This is a placeholder schema for future development.
5
+ */
6
+ export interface AgentGovernance {
7
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // AUTO-GENERATED definition files. Do not modify directly.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWdlbnRHb3Zlcm5hbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zcGVjL3YxL3R5cGVzL0FnZW50R292ZXJuYW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMkRBQTJEIn0=
@@ -170,13 +170,15 @@ export interface SystemInstance {
170
170
  tags?: string[];
171
171
  }
172
172
  /**
173
- * Generic labels that can be applied to most ORD information.
173
+ * Generic key-value labels that can be applied to most ORD information.
174
174
  * They are defined as an object that may have arbitrary keys.
175
175
  * The value of a key is an array of strings.
176
176
  *
177
177
  * Labels can be used to attach technical information that cannot be expressed natively in ORD.
178
178
  * An ORD aggregator should allow to categorize and query information based on the labels provided.
179
179
  *
180
+ * To learn more about the concept, see [Labels](../concepts/grouping-and-bundling#labels).
181
+ *
180
182
  * If multiple parties rely on the existence of certain label information,
181
183
  * standardization through ORD SHOULD be preferred.
182
184
  *
@@ -184,11 +186,14 @@ export interface SystemInstance {
184
186
  * Duplicate labels will be merged by the ORD aggregator according to the following rules:
185
187
  * * Values of the same label key will be merged.
186
188
  * * Duplicate values of the same label key will be removed.
189
+ *
190
+ * **RECOMMENDATION**: Use a [Concept ID](../index.md#concept-id) as the label key to indicate ownership and avoid naming conflicts.
191
+ * The namespace in the Concept ID clearly identifies who owns and defines the label's semantics.
187
192
  */
188
193
  export interface Labels {
189
194
  /**
190
195
  * This interface was referenced by `Labels`'s JSON-Schema definition
191
- * via the `patternProperty` "^[a-zA-Z0-9-_.]*$".
196
+ * via the `patternProperty` "^[a-zA-Z0-9-_.:/]*$".
192
197
  */
193
198
  [k: string]: string[];
194
199
  }
@@ -433,8 +438,10 @@ export interface ApiResource {
433
438
  * Indicates that the resource serves as interface only and cannot be called directly, similar to the abstract keyword in programming languages like Java.
434
439
  *
435
440
  * Abstract resources define contracts that other resources can declare compatibility with through the `compatibleWith` property.
441
+ * Abstract resources can be system-owned, authority-owned or system-independent, depending on who governs the interface contract.
436
442
  *
437
443
  * More details can be found on the [Compatibility](../concepts/compatibility) concept page.
444
+ * See also [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources#abstract-resources-and-compatiblewith) for how abstract contracts relate to shared ORD IDs.
438
445
  */
439
446
  abstract?: boolean;
440
447
  /**
@@ -477,6 +484,18 @@ export interface ApiResource {
477
484
  * It MUST follow the [Semantic Versioning 2.0.0](https://semver.org/) standard.
478
485
  */
479
486
  minSystemVersion?: string;
487
+ /**
488
+ * Optional list of related API Resources.
489
+ *
490
+ * Use this to indicate which APIs implement, expose, or are otherwise related to this entity.
491
+ */
492
+ relatedApiResources?: RelatedAPIResource[];
493
+ /**
494
+ * Optional list of related Event Resources.
495
+ *
496
+ * Use this to indicate which events are emitted, consumed, or otherwise related to this entity.
497
+ */
498
+ relatedEventResources?: RelatedEventResource[];
480
499
  /**
481
500
  * The deprecation date defines when the resource has been set as deprecated.
482
501
  * This is not to be confused with the `sunsetDate` which defines when the resource will be actually sunset, aka. decommissioned / removed / archived.
@@ -719,6 +738,42 @@ export interface ConsumptionBundleReference {
719
738
  */
720
739
  defaultEntryPoint?: string;
721
740
  }
741
+ /**
742
+ * Defines a relation to an API Resource (via its ORD ID).
743
+ */
744
+ export interface RelatedAPIResource {
745
+ /**
746
+ * The ORD ID is a stable, globally unique ID for ORD resources or taxonomy.
747
+ *
748
+ * It MUST be a valid [ORD ID](../index.md#ord-id) of the appropriate ORD type.
749
+ */
750
+ ordId: string;
751
+ /**
752
+ * Optional type of the relationship as a [Concept ID](../index.md#concept-id).
753
+ *
754
+ * Defines the semantic meaning of the relationship.
755
+ * If not provided, the relationship has no specific semantics ("related somehow").
756
+ */
757
+ relationType?: string;
758
+ }
759
+ /**
760
+ * Defines a relation to an Event Resource (via its ORD ID).
761
+ */
762
+ export interface RelatedEventResource {
763
+ /**
764
+ * The ORD ID is a stable, globally unique ID for ORD resources or taxonomy.
765
+ *
766
+ * It MUST be a valid [ORD ID](../index.md#ord-id) of the appropriate ORD type.
767
+ */
768
+ ordId: string;
769
+ /**
770
+ * Optional type of the relationship as a [Concept ID](../index.md#concept-id).
771
+ *
772
+ * Defines the semantic meaning of the relationship.
773
+ * If not provided, the relationship has no specific semantics ("related somehow").
774
+ */
775
+ relationType?: string;
776
+ }
722
777
  /**
723
778
  * A changelog entry can be used to indicate changes.
724
779
  * Usually they lead to a change of the version number or the release status.
@@ -1209,8 +1264,10 @@ export interface EventResource {
1209
1264
  * Indicates that the resource serves as interface only and cannot be called directly, similar to the abstract keyword in programming languages like Java.
1210
1265
  *
1211
1266
  * Abstract resources define contracts that other resources can declare compatibility with through the `compatibleWith` property.
1267
+ * Abstract resources can be system-owned, authority-owned or system-independent, depending on who governs the interface contract.
1212
1268
  *
1213
1269
  * More details can be found on the [Compatibility](../concepts/compatibility) concept page.
1270
+ * See also [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources#abstract-resources-and-compatiblewith) for how abstract contracts relate to shared ORD IDs.
1214
1271
  */
1215
1272
  abstract?: boolean;
1216
1273
  /**
@@ -1253,6 +1310,18 @@ export interface EventResource {
1253
1310
  * It MUST follow the [Semantic Versioning 2.0.0](https://semver.org/) standard.
1254
1311
  */
1255
1312
  minSystemVersion?: string;
1313
+ /**
1314
+ * Optional list of related API Resources.
1315
+ *
1316
+ * Use this to indicate which APIs implement, expose, or are otherwise related to this entity.
1317
+ */
1318
+ relatedApiResources?: RelatedAPIResource[];
1319
+ /**
1320
+ * Optional list of related Event Resources.
1321
+ *
1322
+ * Use this to indicate which events are emitted, consumed, or otherwise related to this entity.
1323
+ */
1324
+ relatedEventResources?: RelatedEventResource[];
1256
1325
  /**
1257
1326
  * The deprecation date defines when the resource has been set as deprecated.
1258
1327
  * This is not to be confused with the `sunsetDate` which defines when the resource will be actually sunset, aka. decommissioned / removed / archived.
@@ -1509,8 +1578,8 @@ export interface EventCompatibility {
1509
1578
  maxVersion: string;
1510
1579
  }
1511
1580
  /**
1512
- * An [**Entity Type**](../concepts/grouping-and-bundling#entity-type) describes either a business concept / term or an underlying conceptual model.
1513
- * The same entity type can be exposed through one or multiple API and events resources.
1581
+ * An [**Entity Type**](../concepts/grouping-and-bundling#entity-type) describes either a business concept / term or an underlying conceptual model (e.g. a business object / domain model).
1582
+ * Entity Types can be related to API & Event resources, Data Products and other Entity Types, connecting exposed resources to business semantics.
1514
1583
  *
1515
1584
  * To learn more about the concept, see [Entity Type](../concepts/grouping-and-bundling#entity-type).
1516
1585
  */
@@ -1927,13 +1996,13 @@ export interface Capability {
1927
1996
  /**
1928
1997
  * Optional list of related API Resources.
1929
1998
  *
1930
- * Use this to indicate which APIs implement, expose, or are otherwise related to this capability.
1999
+ * Use this to indicate which APIs implement, expose, or are otherwise related to this entity.
1931
2000
  */
1932
2001
  relatedApiResources?: RelatedAPIResource[];
1933
2002
  /**
1934
2003
  * Optional list of related Event Resources.
1935
2004
  *
1936
- * Use this to indicate which events are emitted, consumed, or otherwise related to this capability.
2005
+ * Use this to indicate which events are emitted, consumed, or otherwise related to this entity.
1937
2006
  */
1938
2007
  relatedEventResources?: RelatedEventResource[];
1939
2008
  /**
@@ -1982,42 +2051,6 @@ export interface Capability {
1982
2051
  */
1983
2052
  systemInstanceAware?: boolean;
1984
2053
  }
1985
- /**
1986
- * Defines a relation to an API Resource (via its ORD ID).
1987
- */
1988
- export interface RelatedAPIResource {
1989
- /**
1990
- * The ORD ID is a stable, globally unique ID for ORD resources or taxonomy.
1991
- *
1992
- * It MUST be a valid [ORD ID](../index.md#ord-id) of the appropriate ORD type.
1993
- */
1994
- ordId: string;
1995
- /**
1996
- * Optional type of the relationship as a [Concept ID](../index.md#concept-id).
1997
- *
1998
- * Defines the semantic meaning of the relationship.
1999
- * If not provided, the relationship has no specific semantics ("related somehow").
2000
- */
2001
- relationType?: string;
2002
- }
2003
- /**
2004
- * Defines a relation to an Event Resource (via its ORD ID).
2005
- */
2006
- export interface RelatedEventResource {
2007
- /**
2008
- * The ORD ID is a stable, globally unique ID for ORD resources or taxonomy.
2009
- *
2010
- * It MUST be a valid [ORD ID](../index.md#ord-id) of the appropriate ORD type.
2011
- */
2012
- ordId: string;
2013
- /**
2014
- * Optional type of the relationship as a [Concept ID](../index.md#concept-id).
2015
- *
2016
- * Defines the semantic meaning of the relationship.
2017
- * If not provided, the relationship has no specific semantics ("related somehow").
2018
- */
2019
- relationType?: string;
2020
- }
2021
2054
  /**
2022
2055
  * Defines a relation to another Capability (via its ORD ID).
2023
2056
  */
@@ -3089,15 +3122,17 @@ export interface Vendor {
3089
3122
  documentationLabels?: DocumentationLabels;
3090
3123
  }
3091
3124
  /**
3092
- * A **product** in ORD is understood as a commercial product or service.
3125
+ * A [**Product**](../concepts/grouping-and-bundling#product) in ORD is understood as a software product or service offering (whether commercial or free).
3093
3126
  *
3094
- * It is a high-level entity for structuring the software portfolio from a sales / software logistics perspective.
3095
- * While **system type** is a technical concept, **product** covers the commercial and marketing view.
3127
+ * It is a high-level entity for structuring the software portfolio from a portfolio / software logistics perspective.
3128
+ * While **system type** is a technical concept, **product** covers the portfolio and marketing view.
3096
3129
  *
3097
3130
  * Please note that the ORD concept of a product is very simple on purpose.
3098
3131
  * There is no distinction between products and services and concepts like product versions, variants, etc.
3099
3132
  *
3100
3133
  * ORD assumes that this is handled by specialized systems and that ORD only provides the means to correlate to them.
3134
+ *
3135
+ * To learn more about the concept, see [Product](../concepts/grouping-and-bundling#product).
3101
3136
  */
3102
3137
  export interface Product {
3103
3138
  /**
@@ -3164,7 +3199,6 @@ export interface Product {
3164
3199
  *
3165
3200
  * The Package can also be used to indicate which products or vendors provided the packaged resources.
3166
3201
  * For partner or customer content, the Package can indicate this via the `vendor` and `partOfProducts` assignments.
3167
- * In any case, the Package `ordID` namespace MUST reflect the namespace of the providing application (which hosts the resource), not the resource definition owner, which could be a customer or partner.
3168
3202
  *
3169
3203
  * A Package SHOULD contain at least one resource. Avoid empty Packages.
3170
3204
  *
@@ -3402,10 +3436,10 @@ export interface File {
3402
3436
  [k: string]: unknown | undefined;
3403
3437
  }
3404
3438
  /**
3405
- * A [**Consumption Bundle**](../concepts/grouping-and-bundling#consumption-bundle) groups APIs and Events together that can be consumed with the credentials and auth mechanism.
3406
- * Ideally it also includes instructions and details how to request access and credentials for resources.
3439
+ * A [**Consumption Bundle**](../concepts/grouping-and-bundling#consumption-bundle) groups APIs and Events together that can be consumed with the same credentials and auth mechanism.
3440
+ * Ideally it also includes instructions and details on how to request access and credentials for resources.
3407
3441
  *
3408
- * For more documentation and guidance how to correctly this correctly, see [Consumption Bundle details](../concepts/grouping-and-bundling#consumption-bundle).
3442
+ * For more documentation and guidance on how to use this correctly, see [Consumption Bundle](../concepts/grouping-and-bundling#consumption-bundle).
3409
3443
  *
3410
3444
  * A Consumption Bundle SHOULD have at least one association with a resource (0..n). Avoid empty Consumption Bundles.
3411
3445
  * A Consumption Bundle MUST NOT contain APIs and Events that are NOT defined in the ORD document(s) returned
@@ -3625,9 +3659,10 @@ export interface Group {
3625
3659
  * A Group Type defines the semantics of [group assignments](#group).
3626
3660
  * What the Group Type means and how it is to be used correctly SHOULD be described in the `description` (which may include markdown links).
3627
3661
  *
3628
- * Group Types can be defined centrally (ownership by authority namespace) or decentrally (defined by application / service itself).
3662
+ * Group Types can be defined centrally (ownership by an authority namespace or another shared owning namespace) or decentrally (defined by the application / service itself).
3629
3663
  *
3630
3664
  * To learn more about the concept, see [Group Concept Documentation](../concepts/grouping-and-bundling#groups).
3665
+ * For the distinction between system-scoped and system-independent shared taxonomy, see [Shared Taxonomy, Resources and Contracts](../concepts/shared-resources).
3631
3666
  */
3632
3667
  export interface GroupType {
3633
3668
  /**
@@ -1,2 +1,3 @@
1
1
  export * from "./Configuration";
2
2
  export * from "./Document";
3
+ export * from "./AgentGovernance";
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Configuration"), exports);
18
18
  __exportStar(require("./Document"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NwZWMvdjEvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQyw2Q0FBMkIifQ==
19
+ __exportStar(require("./AgentGovernance"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NwZWMvdjEvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQyw2Q0FBMkI7QUFDM0Isb0RBQWtDIn0=
package/dist/index.js CHANGED
@@ -48,4 +48,4 @@ exports.ordDocumentSchema = staticDocumentSchema;
48
48
  * The JSON Schema (draft-07) describing the ORD Configuration interface
49
49
  */
50
50
  exports.ordConfigurationSchema = staticConfigurationSchema;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUdBQXlGO0FBQ3pGLGlIQUFtRztBQUduRyw0REFBMEM7QUFFMUM7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLG9CQUFxRCxDQUFDO0FBRXZGOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyx5QkFBMEQsQ0FBQyJ9
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUdBQXlGO0FBQ3pGLGlIQUFtRztBQUduRyw0REFBMEM7QUFFMUM7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUM3QixvQkFBcUQsQ0FBQztBQUV2RDs7R0FFRztBQUNVLFFBQUEsc0JBQXNCLEdBQ2xDLHlCQUEwRCxDQUFDIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package",
3
3
  "name": "@open-resource-discovery/specification",
4
- "version": "1.14.2",
4
+ "version": "1.14.4",
5
5
  "description": "Open Resource Discovery (ORD) Specification",
6
6
  "author": "SAP SE",
7
7
  "license": "Apache-2.0",
@@ -9,7 +9,7 @@
9
9
  "types": "dist/index.d.ts",
10
10
  "engines": {
11
11
  "node": ">=22.0.0",
12
- "npm": ">=10.0.0"
12
+ "npm": ">=11.0.0"
13
13
  },
14
14
  "repository": {
15
15
  "type": "git",
@@ -23,19 +23,20 @@
23
23
  ],
24
24
  "scripts": {
25
25
  "docusaurus": "docusaurus",
26
- "build": "npm run generate && npm run build-ts && npm run build-docusaurus",
26
+ "build": "npm run generate && npm run build:ts && npm run build:docusaurus",
27
27
  "clean": "node src/helper/clean.mjs",
28
- "build-ts": "tsc -p ./tsconfig.json",
29
- "build-docusaurus": "docusaurus build",
28
+ "build:ts": "tsc -p ./tsconfig.json",
29
+ "build:docusaurus": "docusaurus build",
30
30
  "format": "biome format --write .",
31
31
  "lint": "biome lint .",
32
- "test": "npm run build-ts && node --test dist/**/*.test.js",
32
+ "test": "npm run build:ts && node --test dist/**/*.test.js",
33
33
  "serve": "docusaurus serve",
34
34
  "start": "docusaurus start",
35
35
  "deploy": "npm run build && gh-pages -d ./build",
36
36
  "pregenerate": "npm run clean",
37
37
  "generate": "npx @open-resource-discovery/spec-toolkit -c ./spec-toolkit.config.json",
38
- "postgenerate": "ts-node ./src/helper/copyGeneratedToDestination.ts"
38
+ "postgenerate": "ts-node ./src/helper/copyGeneratedToDestination.ts",
39
+ "generate:llm-notebook": "npm run generate && ts-node ./src/helper/exportForNotebookLM.ts"
39
40
  },
40
41
  "devDependencies": {
41
42
  "@biomejs/biome": "2.4.9",