@twin.org/federated-catalogue-models 0.0.2-next.6 → 0.0.3-next.2

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 (128) hide show
  1. package/dist/es/factories/federatedCatalogueFilterFactory.js +10 -0
  2. package/dist/es/factories/federatedCatalogueFilterFactory.js.map +1 -0
  3. package/dist/es/index.js +12 -0
  4. package/dist/es/index.js.map +1 -0
  5. package/dist/es/models/IFederatedCatalogueComponent.js +2 -0
  6. package/dist/es/models/IFederatedCatalogueComponent.js.map +1 -0
  7. package/dist/es/models/IFederatedCatalogueFilter.js +2 -0
  8. package/dist/es/models/IFederatedCatalogueFilter.js.map +1 -0
  9. package/dist/es/models/api/ICatalogRequestRequest.js +2 -0
  10. package/dist/es/models/api/ICatalogRequestRequest.js.map +1 -0
  11. package/dist/es/models/api/ICatalogRequestResponse.js +2 -0
  12. package/dist/es/models/api/ICatalogRequestResponse.js.map +1 -0
  13. package/dist/es/models/api/IGetDatasetRequest.js +4 -0
  14. package/dist/es/models/api/IGetDatasetRequest.js.map +1 -0
  15. package/dist/es/models/api/IGetDatasetResponse.js +2 -0
  16. package/dist/es/models/api/IGetDatasetResponse.js.map +1 -0
  17. package/dist/es/models/federatedCatalogueContexts.js +13 -0
  18. package/dist/es/models/federatedCatalogueContexts.js.map +1 -0
  19. package/dist/es/models/filters/IBaseFilter.js +2 -0
  20. package/dist/es/models/filters/IBaseFilter.js.map +1 -0
  21. package/dist/types/factories/federatedCatalogueFilterFactory.d.ts +7 -0
  22. package/dist/types/index.d.ts +9 -42
  23. package/dist/types/models/IFederatedCatalogueComponent.d.ts +27 -76
  24. package/dist/types/models/IFederatedCatalogueFilter.d.ts +29 -0
  25. package/dist/types/models/api/ICatalogRequestRequest.d.ts +10 -0
  26. package/dist/types/models/api/ICatalogRequestResponse.d.ts +10 -0
  27. package/dist/types/models/api/IGetDatasetRequest.d.ts +14 -0
  28. package/dist/types/models/api/IGetDatasetResponse.d.ts +10 -0
  29. package/dist/types/models/federatedCatalogueContexts.d.ts +2 -2
  30. package/dist/types/models/filters/IBaseFilter.d.ts +34 -0
  31. package/docs/changelog.md +3 -134
  32. package/docs/reference/index.md +7 -45
  33. package/docs/reference/interfaces/IBaseFilter.md +55 -0
  34. package/docs/reference/interfaces/ICatalogRequestRequest.md +11 -0
  35. package/docs/reference/interfaces/ICatalogRequestResponse.md +11 -0
  36. package/docs/reference/interfaces/IFederatedCatalogueComponent.md +40 -251
  37. package/docs/reference/interfaces/IFederatedCatalogueFilter.md +56 -0
  38. package/docs/reference/interfaces/IGetDatasetRequest.md +17 -0
  39. package/docs/reference/interfaces/IGetDatasetResponse.md +11 -0
  40. package/docs/reference/type-aliases/FederatedCatalogueContexts.md +1 -1
  41. package/docs/reference/variables/FederatedCatalogueContexts.md +1 -1
  42. package/docs/reference/variables/FederatedCatalogueFilterFactory.md +6 -0
  43. package/package.json +7 -11
  44. package/dist/cjs/index.cjs +0 -1452
  45. package/dist/esm/index.mjs +0 -1446
  46. package/dist/types/dataTypes/federatedCatalogueDataTypes.d.ts +0 -9
  47. package/dist/types/models/ICatalogueBase.d.ts +0 -25
  48. package/dist/types/models/ICatalogueEntry.d.ts +0 -8
  49. package/dist/types/models/IComplianceCredential.d.ts +0 -37
  50. package/dist/types/models/IComplianceEvidence.d.ts +0 -26
  51. package/dist/types/models/IComplianceVerificationResult.d.ts +0 -19
  52. package/dist/types/models/ICredential.d.ts +0 -21
  53. package/dist/types/models/IVerificationResult.d.ts +0 -13
  54. package/dist/types/models/api/ICatalogueEntryGetRequest.d.ts +0 -15
  55. package/dist/types/models/api/ICompliancePresentationRequest.d.ts +0 -9
  56. package/dist/types/models/api/IDataResourceGetResponse.d.ts +0 -10
  57. package/dist/types/models/api/IDataResourceListRequest.d.ts +0 -27
  58. package/dist/types/models/api/IDataResourceListResponse.d.ts +0 -10
  59. package/dist/types/models/api/IDataSpaceConnectorGetResponse.d.ts +0 -10
  60. package/dist/types/models/api/IDataSpaceConnectorListRequest.d.ts +0 -27
  61. package/dist/types/models/api/IDataSpaceConnectorListResponse.d.ts +0 -10
  62. package/dist/types/models/api/IFederatedCatalogueGetRequest.d.ts +0 -12
  63. package/dist/types/models/api/IParticipantGetResponse.d.ts +0 -10
  64. package/dist/types/models/api/IParticipantListRequest.d.ts +0 -31
  65. package/dist/types/models/api/IParticipantListResponse.d.ts +0 -10
  66. package/dist/types/models/api/IServiceOfferingGetResponse.d.ts +0 -10
  67. package/dist/types/models/api/IServiceOfferingListRequest.d.ts +0 -27
  68. package/dist/types/models/api/IServiceOfferingListResponse.d.ts +0 -10
  69. package/dist/types/models/data-resource/IDataResourceCredential.d.ts +0 -11
  70. package/dist/types/models/data-resource/IDataResourceEntry.d.ts +0 -29
  71. package/dist/types/models/data-resource/IDataResourceList.d.ts +0 -25
  72. package/dist/types/models/data-space-connector/IDataSpaceConnector.d.ts +0 -77
  73. package/dist/types/models/data-space-connector/IDataSpaceConnectorCredential.d.ts +0 -11
  74. package/dist/types/models/data-space-connector/IDataSpaceConnectorEntry.d.ts +0 -18
  75. package/dist/types/models/data-space-connector/IDataSpaceConnectorList.d.ts +0 -25
  76. package/dist/types/models/federatedCatalogueContextInstances.d.ts +0 -14
  77. package/dist/types/models/federatedCatalogueContextType.d.ts +0 -11
  78. package/dist/types/models/federatedCatalogueEntryType.d.ts +0 -7
  79. package/dist/types/models/federatedCatalogueTypes.d.ts +0 -53
  80. package/dist/types/models/participant/IParticipantCredential.d.ts +0 -11
  81. package/dist/types/models/participant/IParticipantEntry.d.ts +0 -12
  82. package/dist/types/models/participant/IParticipantList.d.ts +0 -25
  83. package/dist/types/models/service-offering/IServiceOfferingCredential.d.ts +0 -11
  84. package/dist/types/models/service-offering/IServiceOfferingEntry.d.ts +0 -25
  85. package/dist/types/models/service-offering/IServiceOfferingList.d.ts +0 -25
  86. package/dist/types/models/verificationFailureReasons.d.ts +0 -53
  87. package/docs/reference/classes/FederatedCatalogueContextInstances.md +0 -29
  88. package/docs/reference/classes/FederatedCatalogueDataTypes.md +0 -25
  89. package/docs/reference/interfaces/ICatalogueEntryGetRequest.md +0 -37
  90. package/docs/reference/interfaces/IComplianceCredential.md +0 -103
  91. package/docs/reference/interfaces/IComplianceEvidence.md +0 -45
  92. package/docs/reference/interfaces/ICompliancePresentationRequest.md +0 -11
  93. package/docs/reference/interfaces/IComplianceVerificationResult.md +0 -55
  94. package/docs/reference/interfaces/ICredential.md +0 -51
  95. package/docs/reference/interfaces/IDataResourceCredential.md +0 -43
  96. package/docs/reference/interfaces/IDataResourceEntry.md +0 -131
  97. package/docs/reference/interfaces/IDataResourceGetResponse.md +0 -11
  98. package/docs/reference/interfaces/IDataResourceList.md +0 -35
  99. package/docs/reference/interfaces/IDataResourceListRequest.md +0 -55
  100. package/docs/reference/interfaces/IDataResourceListResponse.md +0 -11
  101. package/docs/reference/interfaces/IDataSpaceConnector.md +0 -130
  102. package/docs/reference/interfaces/IDataSpaceConnectorCredential.md +0 -43
  103. package/docs/reference/interfaces/IDataSpaceConnectorEntry.md +0 -224
  104. package/docs/reference/interfaces/IDataSpaceConnectorGetResponse.md +0 -11
  105. package/docs/reference/interfaces/IDataSpaceConnectorList.md +0 -35
  106. package/docs/reference/interfaces/IDataSpaceConnectorListRequest.md +0 -55
  107. package/docs/reference/interfaces/IDataSpaceConnectorListResponse.md +0 -11
  108. package/docs/reference/interfaces/IFederatedCatalogueGetRequest.md +0 -23
  109. package/docs/reference/interfaces/IParticipantCredential.md +0 -43
  110. package/docs/reference/interfaces/IParticipantEntry.md +0 -83
  111. package/docs/reference/interfaces/IParticipantGetResponse.md +0 -11
  112. package/docs/reference/interfaces/IParticipantList.md +0 -35
  113. package/docs/reference/interfaces/IParticipantListRequest.md +0 -61
  114. package/docs/reference/interfaces/IParticipantListResponse.md +0 -11
  115. package/docs/reference/interfaces/IServiceOfferingCredential.md +0 -43
  116. package/docs/reference/interfaces/IServiceOfferingEntry.md +0 -119
  117. package/docs/reference/interfaces/IServiceOfferingGetResponse.md +0 -11
  118. package/docs/reference/interfaces/IServiceOfferingList.md +0 -35
  119. package/docs/reference/interfaces/IServiceOfferingListRequest.md +0 -55
  120. package/docs/reference/interfaces/IServiceOfferingListResponse.md +0 -11
  121. package/docs/reference/interfaces/IVerificationResult.md +0 -23
  122. package/docs/reference/type-aliases/FederatedCatalogueContextType.md +0 -5
  123. package/docs/reference/type-aliases/FederatedCatalogueEntryType.md +0 -5
  124. package/docs/reference/type-aliases/FederatedCatalogueTypes.md +0 -5
  125. package/docs/reference/type-aliases/ICatalogueEntry.md +0 -5
  126. package/docs/reference/type-aliases/VerificationFailureReasons.md +0 -5
  127. package/docs/reference/variables/FederatedCatalogueTypes.md +0 -73
  128. package/docs/reference/variables/VerificationFailureReasons.md +0 -73
@@ -1,58 +1,20 @@
1
1
  # @twin.org/federated-catalogue-models
2
2
 
3
- ## Classes
4
-
5
- - [FederatedCatalogueDataTypes](classes/FederatedCatalogueDataTypes.md)
6
- - [FederatedCatalogueContextInstances](classes/FederatedCatalogueContextInstances.md)
7
-
8
3
  ## Interfaces
9
4
 
10
- - [IComplianceCredential](interfaces/IComplianceCredential.md)
11
- - [IComplianceEvidence](interfaces/IComplianceEvidence.md)
12
- - [IComplianceVerificationResult](interfaces/IComplianceVerificationResult.md)
13
- - [ICredential](interfaces/ICredential.md)
14
5
  - [IFederatedCatalogueComponent](interfaces/IFederatedCatalogueComponent.md)
15
- - [IVerificationResult](interfaces/IVerificationResult.md)
16
- - [ICatalogueEntryGetRequest](interfaces/ICatalogueEntryGetRequest.md)
17
- - [ICompliancePresentationRequest](interfaces/ICompliancePresentationRequest.md)
18
- - [IDataResourceGetResponse](interfaces/IDataResourceGetResponse.md)
19
- - [IDataResourceListRequest](interfaces/IDataResourceListRequest.md)
20
- - [IDataResourceListResponse](interfaces/IDataResourceListResponse.md)
21
- - [IDataSpaceConnectorGetResponse](interfaces/IDataSpaceConnectorGetResponse.md)
22
- - [IDataSpaceConnectorListRequest](interfaces/IDataSpaceConnectorListRequest.md)
23
- - [IDataSpaceConnectorListResponse](interfaces/IDataSpaceConnectorListResponse.md)
24
- - [IFederatedCatalogueGetRequest](interfaces/IFederatedCatalogueGetRequest.md)
25
- - [IParticipantGetResponse](interfaces/IParticipantGetResponse.md)
26
- - [IParticipantListRequest](interfaces/IParticipantListRequest.md)
27
- - [IParticipantListResponse](interfaces/IParticipantListResponse.md)
28
- - [IServiceOfferingGetResponse](interfaces/IServiceOfferingGetResponse.md)
29
- - [IServiceOfferingListRequest](interfaces/IServiceOfferingListRequest.md)
30
- - [IServiceOfferingListResponse](interfaces/IServiceOfferingListResponse.md)
31
- - [IDataResourceCredential](interfaces/IDataResourceCredential.md)
32
- - [IDataResourceEntry](interfaces/IDataResourceEntry.md)
33
- - [IDataResourceList](interfaces/IDataResourceList.md)
34
- - [IDataSpaceConnector](interfaces/IDataSpaceConnector.md)
35
- - [IDataSpaceConnectorCredential](interfaces/IDataSpaceConnectorCredential.md)
36
- - [IDataSpaceConnectorEntry](interfaces/IDataSpaceConnectorEntry.md)
37
- - [IDataSpaceConnectorList](interfaces/IDataSpaceConnectorList.md)
38
- - [IParticipantCredential](interfaces/IParticipantCredential.md)
39
- - [IParticipantEntry](interfaces/IParticipantEntry.md)
40
- - [IParticipantList](interfaces/IParticipantList.md)
41
- - [IServiceOfferingCredential](interfaces/IServiceOfferingCredential.md)
42
- - [IServiceOfferingEntry](interfaces/IServiceOfferingEntry.md)
43
- - [IServiceOfferingList](interfaces/IServiceOfferingList.md)
6
+ - [IFederatedCatalogueFilter](interfaces/IFederatedCatalogueFilter.md)
7
+ - [ICatalogRequestRequest](interfaces/ICatalogRequestRequest.md)
8
+ - [ICatalogRequestResponse](interfaces/ICatalogRequestResponse.md)
9
+ - [IGetDatasetRequest](interfaces/IGetDatasetRequest.md)
10
+ - [IGetDatasetResponse](interfaces/IGetDatasetResponse.md)
11
+ - [IBaseFilter](interfaces/IBaseFilter.md)
44
12
 
45
13
  ## Type Aliases
46
14
 
47
- - [ICatalogueEntry](type-aliases/ICatalogueEntry.md)
48
- - [FederatedCatalogueContextType](type-aliases/FederatedCatalogueContextType.md)
49
15
  - [FederatedCatalogueContexts](type-aliases/FederatedCatalogueContexts.md)
50
- - [FederatedCatalogueEntryType](type-aliases/FederatedCatalogueEntryType.md)
51
- - [FederatedCatalogueTypes](type-aliases/FederatedCatalogueTypes.md)
52
- - [VerificationFailureReasons](type-aliases/VerificationFailureReasons.md)
53
16
 
54
17
  ## Variables
55
18
 
19
+ - [FederatedCatalogueFilterFactory](variables/FederatedCatalogueFilterFactory.md)
56
20
  - [FederatedCatalogueContexts](variables/FederatedCatalogueContexts.md)
57
- - [FederatedCatalogueTypes](variables/FederatedCatalogueTypes.md)
58
- - [VerificationFailureReasons](variables/VerificationFailureReasons.md)
@@ -0,0 +1,55 @@
1
+ # Interface: IBaseFilter
2
+
3
+ Base filter interface with pagination support.
4
+ All filter objects in the federated catalogue extend this base.
5
+
6
+ Per Eclipse Dataspace Protocol constraints, cursor and limit cannot be
7
+ top-level properties in CatalogRequestMessage. They must be embedded
8
+ within the filter object using a custom JSON-LD vocabulary.
9
+
10
+ After JSON-LD compaction, properties use direct names (cursor, limit) rather
11
+ than prefixed names. Each filter implementation should extend this interface
12
+ to define its own filter-specific properties.
13
+
14
+ ## Extends
15
+
16
+ - `IJsonLdNodeObject`
17
+
18
+ ## Indexable
19
+
20
+ \[`key`: `string`\]: `string` \| `number` \| `boolean` \| `IJsonLdNodeObject` \| `IJsonLdGraphObject` \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdListObject` \| `IJsonLdSetObject` \| `IJsonLdNodePrimitive`[] \| `IJsonLdLanguageMap` \| `IJsonLdIndexMap` \| `IJsonLdNodeObject`[] \| `IJsonLdIdMap` \| `IJsonLdTypeMap` \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `string`[] \| `IJsonLdJsonObject` \| `IJsonLdJsonObject`[] \| \{\[`key`: `string`\]: `string`; \} \| `null` \| `undefined`
21
+
22
+ ## Properties
23
+
24
+ ### @type
25
+
26
+ > **@type**: `string`
27
+
28
+ Filter type discriminator.
29
+ Used to route filter to appropriate filter implementation.
30
+ Example: "FilterByExample", "FilterByPolicy", etc.
31
+ Required for filter routing.
32
+
33
+ #### Overrides
34
+
35
+ `IJsonLdNodeObject.@type`
36
+
37
+ ***
38
+
39
+ ### cursor?
40
+
41
+ > `optional` **cursor**: `string`
42
+
43
+ Optional cursor for pagination.
44
+ When provided, returns results starting after this cursor.
45
+ Namespace: https://schema.twindev.org/federated-catalogue/cursor
46
+
47
+ ***
48
+
49
+ ### limit?
50
+
51
+ > `optional` **limit**: `number`
52
+
53
+ Optional limit for number of results.
54
+ Defaults to implementation-specific value if not provided.
55
+ Namespace: https://schema.twindev.org/federated-catalogue/limit
@@ -0,0 +1,11 @@
1
+ # Interface: ICatalogRequestRequest
2
+
3
+ The request parameters for the catalog request method.
4
+
5
+ ## Properties
6
+
7
+ ### body
8
+
9
+ > **body**: `ICatalogRequestMessage`
10
+
11
+ The request body containing the catalog query.
@@ -0,0 +1,11 @@
1
+ # Interface: ICatalogRequestResponse
2
+
3
+ The response payload for the catalog request method.
4
+
5
+ ## Properties
6
+
7
+ ### body
8
+
9
+ > **body**: `ICatalog`
10
+
11
+ The response payload containing the catalog with matching datasets.
@@ -1,321 +1,110 @@
1
1
  # Interface: IFederatedCatalogueComponent
2
2
 
3
- Interface describing a Federated Catalogue Contract.
3
+ Interface describing a federated catalogue component.
4
+ Provides Dataspace Protocol-compliant catalog endpoints for dataset registry and query.
4
5
 
5
6
  ## Extends
6
7
 
7
8
  - `IComponent`
8
9
 
9
- ## Indexable
10
-
11
- \[`key`: `string`\]: `any`
12
-
13
- All methods are optional, so we introduce an index signature to allow
14
- any additional properties or methods, which removes the TypeScript error where
15
- the class has no properties in common with the type.
16
-
17
10
  ## Methods
18
11
 
19
- ### registerComplianceCredential()
20
-
21
- > **registerComplianceCredential**(`credential`): `Promise`\<`string`\>
22
-
23
- Registers a Participant's compliance Credential to the service.
24
-
25
- #### Parameters
26
-
27
- ##### credential
28
-
29
- `string`
30
-
31
- The credential as JWT.
32
-
33
- #### Returns
34
-
35
- `Promise`\<`string`\>
36
-
37
- The participant Id (usually a DID).
38
-
39
- ***
40
-
41
- ### queryParticipants()
42
-
43
- > **queryParticipants**(`participant?`, `legalRegistrationNumber?`, `lrnType?`, `cursor?`, `limit?`): `Promise`\<[`IParticipantList`](IParticipantList.md)\>
44
-
45
- Query the federated catalogue.
46
-
47
- #### Parameters
48
-
49
- ##### participant?
50
-
51
- `string`
52
-
53
- The identity of the participant.
54
-
55
- ##### legalRegistrationNumber?
56
-
57
- `string`
58
-
59
- The legal registration number.
60
-
61
- ##### lrnType?
62
-
63
- `string`
64
-
65
- The legal registration number type (EORI, VATID, GLEIF, Kenya's PIN, etc.)
66
-
67
- ##### cursor?
12
+ ### get()
68
13
 
69
- `string`
70
-
71
- The cursor to request the next chunk of entities.
72
-
73
- ##### limit?
74
-
75
- `number`
76
-
77
- Limit the number of entities to return.
78
-
79
- #### Returns
80
-
81
- `Promise`\<[`IParticipantList`](IParticipantList.md)\>
82
-
83
- All the entities for the storage matching the conditions,
84
- and a cursor which can be used to request more entities.
14
+ > **get**(`dataSetId`): `Promise`\<`IDataset`\>
85
15
 
86
- #### Throws
87
-
88
- NotImplementedError if the implementation does not support retrieval.
89
-
90
- ***
91
-
92
- ### registerDataSpaceConnectorCredential()
93
-
94
- > **registerDataSpaceConnectorCredential**(`credential`): `Promise`\<`string`\>
95
-
96
- Registers a Data Space Connector to the service.
16
+ Retrieve a dataset by its unique identifier.
97
17
 
98
18
  #### Parameters
99
19
 
100
- ##### credential
101
-
102
- `string`
103
-
104
- The credential as JWT.
105
-
106
- #### Returns
107
-
108
- `Promise`\<`string`\>
109
-
110
- The Data Space Connector Id registered.
111
-
112
- ***
113
-
114
- ### queryDataSpaceConnectors()
115
-
116
- > **queryDataSpaceConnectors**(`id?`, `maintainer?`, `cursor?`, `limit?`): `Promise`\<[`IDataSpaceConnectorList`](IDataSpaceConnectorList.md)\>
117
-
118
- Query the federated catalogue.
119
-
120
- #### Parameters
121
-
122
- ##### id?
123
-
124
- `string`
125
-
126
- Data Space Connector Id.
127
-
128
- ##### maintainer?
20
+ ##### dataSetId
129
21
 
130
22
  `string`
131
23
 
132
- The identity of the participant maintaining the Data Space Connector.
133
-
134
- ##### cursor?
135
-
136
- `string`
137
-
138
- The cursor to request the next chunk of entities.
139
-
140
- ##### limit?
141
-
142
- `number`
143
-
144
- Limit the number of entities to return.
24
+ The unique identifier of the dataset.
145
25
 
146
26
  #### Returns
147
27
 
148
- `Promise`\<[`IDataSpaceConnectorList`](IDataSpaceConnectorList.md)\>
28
+ `Promise`\<`IDataset`\>
149
29
 
150
- All the entities for the storage matching the conditions,
151
- and a cursor which can be used to request more entities.
30
+ The dataset if found.
152
31
 
153
32
  #### Throws
154
33
 
155
- NotImplementedError if the implementation does not support retrieval.
156
-
157
- ***
158
-
159
- ### registerServiceOfferingCredential()
160
-
161
- > **registerServiceOfferingCredential**(`credential`): `Promise`\<`string`[]\>
162
-
163
- Registers a service offering Credential to the service.
164
-
165
- #### Parameters
166
-
167
- ##### credential
168
-
169
- `string`
170
-
171
- The credential as JWT.
172
-
173
- #### Returns
174
-
175
- `Promise`\<`string`[]\>
176
-
177
- The Id of the Service Offerings registered.
178
-
179
- ***
180
-
181
- ### registerDataResourceCredential()
182
-
183
- > **registerDataResourceCredential**(`credential`): `Promise`\<`string`[]\>
184
-
185
- Registers a data resource Credential to the service.
186
-
187
- #### Parameters
188
-
189
- ##### credential
190
-
191
- `string`
192
-
193
- The credential as JWT.
194
-
195
- #### Returns
196
-
197
- `Promise`\<`string`[]\>
198
-
199
- The Id of the Data Resources registered.
34
+ NotFoundError if the dataset does not exist.
200
35
 
201
36
  ***
202
37
 
203
- ### queryServiceOfferings()
38
+ ### set()
204
39
 
205
- > **queryServiceOfferings**(`id?`, `providedBy?`, `cursor?`, `limit?`): `Promise`\<[`IServiceOfferingList`](IServiceOfferingList.md)\>
40
+ > **set**(`dataSet`): `Promise`\<`void`\>
206
41
 
207
- Query the federated catalogue.
42
+ Insert or update a dataset in the catalogue.
43
+ This method is internal and should not be exposed via REST endpoints.
208
44
 
209
45
  #### Parameters
210
46
 
211
- ##### id?
212
-
213
- `string`
214
-
215
- Service Offering id.
216
-
217
- ##### providedBy?
218
-
219
- `string`
220
-
221
- The identity of the participant providing the Offering.
47
+ ##### dataSet
222
48
 
223
- ##### cursor?
49
+ `IDataset`
224
50
 
225
- `string`
226
-
227
- The cursor to request the next chunk of entities.
228
-
229
- ##### limit?
230
-
231
- `number`
232
-
233
- Limit the number of entities to return.
51
+ The dataset to store.
234
52
 
235
53
  #### Returns
236
54
 
237
- `Promise`\<[`IServiceOfferingList`](IServiceOfferingList.md)\>
55
+ `Promise`\<`void`\>
238
56
 
239
- All the entities for the storage matching the conditions,
240
- and a cursor which can be used to request more entities.
241
-
242
- #### Throws
243
-
244
- NotImplementedError if the implementation does not support retrieval.
57
+ Nothing.
245
58
 
246
59
  ***
247
60
 
248
- ### queryDataResources()
61
+ ### query()
249
62
 
250
- > **queryDataResources**(`id?`, `producedBy?`, `cursor?`, `limit?`): `Promise`\<[`IDataResourceList`](IDataResourceList.md)\>
63
+ > **query**(`filter?`): `Promise`\<`ICatalog`\>
251
64
 
252
- Query the federated catalogue.
65
+ Execute a query against the catalogue using registered filter plugins.
66
+ Returns a complete DCAT Catalog object with proper JSON-LD context, metadata, and datasets.
67
+ Filter plugins must be registered in FilterFactory before service initialization.
68
+ The filter payload is evaluated by the appropriate filter plugin based on its structure.
69
+ Pagination properties (cursor, limit) and filter type (@type) should be included
70
+ within the filter object per Eclipse Dataspace Protocol JSON-LD extension patterns.
253
71
 
254
72
  #### Parameters
255
73
 
256
- ##### id?
74
+ ##### filter?
257
75
 
258
- `string`
76
+ `unknown`[]
259
77
 
260
- The id of the Data Resource.
261
-
262
- ##### producedBy?
263
-
264
- `string`
265
-
266
- The identity of the participant producing the data behind the data resource.
267
-
268
- ##### cursor?
269
-
270
- `string`
271
-
272
- The cursor to request the next chunk of entities.
273
-
274
- ##### limit?
275
-
276
- `number`
277
-
278
- Limit the number of entities to return.
78
+ The filter criteria containing @type, optional cursor and limit properties.
279
79
 
280
80
  #### Returns
281
81
 
282
- `Promise`\<[`IDataResourceList`](IDataResourceList.md)\>
82
+ `Promise`\<`ICatalog`\>
283
83
 
284
- All the entities for the storage matching the conditions,
285
- and a cursor which can be used to request more entities.
84
+ Complete ICatalog object with @context, @id, @type, dcat:dataset, and optional cursor.
286
85
 
287
86
  #### Throws
288
87
 
289
- NotImplementedError if the implementation does not support retrieval.
88
+ NotFoundError if the
290
89
 
291
90
  ***
292
91
 
293
- ### getEntry()
92
+ ### remove()
294
93
 
295
- > **getEntry**(`entryType`, `entryId`): `Promise`\<[`ICatalogueEntry`](../type-aliases/ICatalogueEntry.md)\>
94
+ > **remove**(`dataSetId`): `Promise`\<`void`\>
296
95
 
297
- Returns a Federated Catalogue entry.
96
+ Remove a dataset from the catalogue by its unique identifier.
298
97
 
299
98
  #### Parameters
300
99
 
301
- ##### entryType
302
-
303
- [`FederatedCatalogueEntryType`](../type-aliases/FederatedCatalogueEntryType.md)
304
-
305
- The type of entry.
306
-
307
- ##### entryId
100
+ ##### dataSetId
308
101
 
309
102
  `string`
310
103
 
311
- The entry's id.
104
+ The unique identifier of the dataset to remove.
312
105
 
313
106
  #### Returns
314
107
 
315
- `Promise`\<[`ICatalogueEntry`](../type-aliases/ICatalogueEntry.md)\>
316
-
317
- Catalogue Entry
318
-
319
- #### Throws
108
+ `Promise`\<`void`\>
320
109
 
321
- NotFoundError if not found.
110
+ Nothing.
@@ -0,0 +1,56 @@
1
+ # Interface: IFederatedCatalogueFilter
2
+
3
+ Interface describing a filter plugin for the federated catalogue.
4
+ Filter plugins provide extensible query semantics and indexing strategies.
5
+ Filters are registered by name in the FilterFactory and do not need to self-identify.
6
+
7
+ ## Extends
8
+
9
+ - `IComponent`
10
+
11
+ ## Methods
12
+
13
+ ### query()
14
+
15
+ > **query**(`filter`): `Promise`\<\{ `datasets`: `IDataset`[]; `cursor?`: `string`; \}\>
16
+
17
+ Execute a filter-specific query over the catalogue.
18
+ Each filter interprets the payload according to its own semantics.
19
+ Pagination properties (cursor, limit) are extracted from the filter object by the service layer.
20
+
21
+ #### Parameters
22
+
23
+ ##### filter
24
+
25
+ `unknown`
26
+
27
+ The filter criteria (structure depends on the filter implementation).
28
+
29
+ #### Returns
30
+
31
+ `Promise`\<\{ `datasets`: `IDataset`[]; `cursor?`: `string`; \}\>
32
+
33
+ Object containing datasets matching the filter criteria and optional cursor for next page.
34
+
35
+ ***
36
+
37
+ ### createIndex()
38
+
39
+ > **createIndex**(`dataSet`): `Promise`\<\{\[`key`: `string`\]: `unknown`; \}\>
40
+
41
+ Generate filter indexes for a dataset to optimize future queries.
42
+ Indexes are stored as properties on the dataset entity itself.
43
+
44
+ #### Parameters
45
+
46
+ ##### dataSet
47
+
48
+ `IDataset`
49
+
50
+ The dataset to index.
51
+
52
+ #### Returns
53
+
54
+ `Promise`\<\{\[`key`: `string`\]: `unknown`; \}\>
55
+
56
+ Record mapping filter-specific index keys to values.
@@ -0,0 +1,17 @@
1
+ # Interface: IGetDatasetRequest
2
+
3
+ The request parameters for the get dataset method.
4
+
5
+ ## Properties
6
+
7
+ ### pathParams
8
+
9
+ > **pathParams**: `object`
10
+
11
+ The path parameters.
12
+
13
+ #### datasetId
14
+
15
+ > **datasetId**: `string`
16
+
17
+ The unique identifier of the dataset.
@@ -0,0 +1,11 @@
1
+ # Interface: IGetDatasetResponse
2
+
3
+ The response payload for the get dataset method.
4
+
5
+ ## Properties
6
+
7
+ ### body
8
+
9
+ > **body**: `IDataset`
10
+
11
+ The response payload containing the dataset.
@@ -2,4 +2,4 @@
2
2
 
3
3
  > **FederatedCatalogueContexts** = *typeof* [`FederatedCatalogueContexts`](../variables/FederatedCatalogueContexts.md)\[keyof *typeof* [`FederatedCatalogueContexts`](../variables/FederatedCatalogueContexts.md)\]
4
4
 
5
- The Exported types
5
+ The contexts of federated catalogue data.
@@ -2,7 +2,7 @@
2
2
 
3
3
  > `const` **FederatedCatalogueContexts**: `object`
4
4
 
5
- The LD context concerning the Federated Catalogue.
5
+ The contexts of federated catalogue data.
6
6
 
7
7
  ## Type Declaration
8
8
 
@@ -0,0 +1,6 @@
1
+ # Variable: FederatedCatalogueFilterFactory
2
+
3
+ > `const` **FederatedCatalogueFilterFactory**: `Factory`\<[`IFederatedCatalogueFilter`](../interfaces/IFederatedCatalogueFilter.md)\>
4
+
5
+ Factory for managing filter plugin registration and retrieval.
6
+ Follows the TWIN Platform factory pattern used by ComponentFactory and EntityStorageConnectorFactory.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/federated-catalogue-models",
3
- "version": "0.0.2-next.6",
3
+ "version": "0.0.3-next.2",
4
4
  "description": "Models which define the structure of the Federated Catalogue Service",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,25 +19,21 @@
19
19
  "@twin.org/data-json-ld": "next",
20
20
  "@twin.org/entity": "next",
21
21
  "@twin.org/nameof": "next",
22
- "@twin.org/standards-gaia-x": "next",
23
- "@twin.org/standards-schema-org": "next",
24
- "@twin.org/standards-w3c-did": "next",
25
- "@twin.org/standards-w3c-odrl": "next"
22
+ "@twin.org/standards-dataspace-protocol": "next",
23
+ "@twin.org/standards-w3c-dcat": "next"
26
24
  },
27
- "main": "./dist/cjs/index.cjs",
28
- "module": "./dist/esm/index.mjs",
25
+ "main": "./dist/es/index.js",
29
26
  "types": "./dist/types/index.d.ts",
30
27
  "exports": {
31
28
  ".": {
32
29
  "types": "./dist/types/index.d.ts",
33
- "require": "./dist/cjs/index.cjs",
34
- "import": "./dist/esm/index.mjs"
30
+ "import": "./dist/es/index.js",
31
+ "default": "./dist/es/index.js"
35
32
  },
36
33
  "./locales/*.json": "./locales/*.json"
37
34
  },
38
35
  "files": [
39
- "dist/cjs",
40
- "dist/esm",
36
+ "dist/es",
41
37
  "dist/types",
42
38
  "locales",
43
39
  "docs"