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

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 (122) 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 +10 -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/types/factories/federatedCatalogueFilterFactory.d.ts +7 -0
  18. package/dist/types/index.d.ts +7 -42
  19. package/dist/types/models/IFederatedCatalogueComponent.d.ts +43 -83
  20. package/dist/types/models/IFederatedCatalogueFilter.d.ts +30 -0
  21. package/dist/types/models/api/ICatalogRequestRequest.d.ts +24 -0
  22. package/dist/types/models/api/ICatalogRequestResponse.d.ts +25 -0
  23. package/dist/types/models/api/IGetDatasetRequest.d.ts +14 -0
  24. package/dist/types/models/api/IGetDatasetResponse.d.ts +16 -0
  25. package/docs/changelog.md +20 -95
  26. package/docs/reference/index.md +6 -50
  27. package/docs/reference/interfaces/ICatalogRequestRequest.md +32 -0
  28. package/docs/reference/interfaces/ICatalogRequestResponse.md +35 -0
  29. package/docs/reference/interfaces/IFederatedCatalogueComponent.md +42 -245
  30. package/docs/reference/interfaces/IFederatedCatalogueFilter.md +67 -0
  31. package/docs/reference/interfaces/IGetDatasetRequest.md +17 -0
  32. package/docs/reference/interfaces/IGetDatasetResponse.md +19 -0
  33. package/docs/reference/variables/FederatedCatalogueFilterFactory.md +6 -0
  34. package/package.json +9 -12
  35. package/dist/cjs/index.cjs +0 -1452
  36. package/dist/esm/index.mjs +0 -1446
  37. package/dist/types/dataTypes/federatedCatalogueDataTypes.d.ts +0 -9
  38. package/dist/types/models/ICatalogueBase.d.ts +0 -25
  39. package/dist/types/models/ICatalogueEntry.d.ts +0 -8
  40. package/dist/types/models/IComplianceCredential.d.ts +0 -37
  41. package/dist/types/models/IComplianceEvidence.d.ts +0 -26
  42. package/dist/types/models/IComplianceVerificationResult.d.ts +0 -19
  43. package/dist/types/models/ICredential.d.ts +0 -21
  44. package/dist/types/models/IVerificationResult.d.ts +0 -13
  45. package/dist/types/models/api/ICatalogueEntryGetRequest.d.ts +0 -15
  46. package/dist/types/models/api/ICompliancePresentationRequest.d.ts +0 -9
  47. package/dist/types/models/api/IDataResourceGetResponse.d.ts +0 -10
  48. package/dist/types/models/api/IDataResourceListRequest.d.ts +0 -27
  49. package/dist/types/models/api/IDataResourceListResponse.d.ts +0 -10
  50. package/dist/types/models/api/IDataSpaceConnectorGetResponse.d.ts +0 -10
  51. package/dist/types/models/api/IDataSpaceConnectorListRequest.d.ts +0 -27
  52. package/dist/types/models/api/IDataSpaceConnectorListResponse.d.ts +0 -10
  53. package/dist/types/models/api/IFederatedCatalogueGetRequest.d.ts +0 -12
  54. package/dist/types/models/api/IParticipantGetResponse.d.ts +0 -10
  55. package/dist/types/models/api/IParticipantListRequest.d.ts +0 -31
  56. package/dist/types/models/api/IParticipantListResponse.d.ts +0 -10
  57. package/dist/types/models/api/IServiceOfferingGetResponse.d.ts +0 -10
  58. package/dist/types/models/api/IServiceOfferingListRequest.d.ts +0 -27
  59. package/dist/types/models/api/IServiceOfferingListResponse.d.ts +0 -10
  60. package/dist/types/models/data-resource/IDataResourceCredential.d.ts +0 -11
  61. package/dist/types/models/data-resource/IDataResourceEntry.d.ts +0 -29
  62. package/dist/types/models/data-resource/IDataResourceList.d.ts +0 -25
  63. package/dist/types/models/data-space-connector/IDataSpaceConnector.d.ts +0 -77
  64. package/dist/types/models/data-space-connector/IDataSpaceConnectorCredential.d.ts +0 -11
  65. package/dist/types/models/data-space-connector/IDataSpaceConnectorEntry.d.ts +0 -18
  66. package/dist/types/models/data-space-connector/IDataSpaceConnectorList.d.ts +0 -25
  67. package/dist/types/models/federatedCatalogueContextInstances.d.ts +0 -14
  68. package/dist/types/models/federatedCatalogueContextType.d.ts +0 -11
  69. package/dist/types/models/federatedCatalogueContexts.d.ts +0 -13
  70. package/dist/types/models/federatedCatalogueEntryType.d.ts +0 -7
  71. package/dist/types/models/federatedCatalogueTypes.d.ts +0 -53
  72. package/dist/types/models/participant/IParticipantCredential.d.ts +0 -11
  73. package/dist/types/models/participant/IParticipantEntry.d.ts +0 -12
  74. package/dist/types/models/participant/IParticipantList.d.ts +0 -25
  75. package/dist/types/models/service-offering/IServiceOfferingCredential.d.ts +0 -11
  76. package/dist/types/models/service-offering/IServiceOfferingEntry.d.ts +0 -25
  77. package/dist/types/models/service-offering/IServiceOfferingList.d.ts +0 -25
  78. package/dist/types/models/verificationFailureReasons.d.ts +0 -53
  79. package/docs/reference/classes/FederatedCatalogueContextInstances.md +0 -29
  80. package/docs/reference/classes/FederatedCatalogueDataTypes.md +0 -25
  81. package/docs/reference/interfaces/ICatalogueEntryGetRequest.md +0 -37
  82. package/docs/reference/interfaces/IComplianceCredential.md +0 -103
  83. package/docs/reference/interfaces/IComplianceEvidence.md +0 -45
  84. package/docs/reference/interfaces/ICompliancePresentationRequest.md +0 -11
  85. package/docs/reference/interfaces/IComplianceVerificationResult.md +0 -55
  86. package/docs/reference/interfaces/ICredential.md +0 -51
  87. package/docs/reference/interfaces/IDataResourceCredential.md +0 -43
  88. package/docs/reference/interfaces/IDataResourceEntry.md +0 -131
  89. package/docs/reference/interfaces/IDataResourceGetResponse.md +0 -11
  90. package/docs/reference/interfaces/IDataResourceList.md +0 -35
  91. package/docs/reference/interfaces/IDataResourceListRequest.md +0 -55
  92. package/docs/reference/interfaces/IDataResourceListResponse.md +0 -11
  93. package/docs/reference/interfaces/IDataSpaceConnector.md +0 -130
  94. package/docs/reference/interfaces/IDataSpaceConnectorCredential.md +0 -43
  95. package/docs/reference/interfaces/IDataSpaceConnectorEntry.md +0 -224
  96. package/docs/reference/interfaces/IDataSpaceConnectorGetResponse.md +0 -11
  97. package/docs/reference/interfaces/IDataSpaceConnectorList.md +0 -35
  98. package/docs/reference/interfaces/IDataSpaceConnectorListRequest.md +0 -55
  99. package/docs/reference/interfaces/IDataSpaceConnectorListResponse.md +0 -11
  100. package/docs/reference/interfaces/IFederatedCatalogueGetRequest.md +0 -23
  101. package/docs/reference/interfaces/IParticipantCredential.md +0 -43
  102. package/docs/reference/interfaces/IParticipantEntry.md +0 -83
  103. package/docs/reference/interfaces/IParticipantGetResponse.md +0 -11
  104. package/docs/reference/interfaces/IParticipantList.md +0 -35
  105. package/docs/reference/interfaces/IParticipantListRequest.md +0 -61
  106. package/docs/reference/interfaces/IParticipantListResponse.md +0 -11
  107. package/docs/reference/interfaces/IServiceOfferingCredential.md +0 -43
  108. package/docs/reference/interfaces/IServiceOfferingEntry.md +0 -119
  109. package/docs/reference/interfaces/IServiceOfferingGetResponse.md +0 -11
  110. package/docs/reference/interfaces/IServiceOfferingList.md +0 -35
  111. package/docs/reference/interfaces/IServiceOfferingListRequest.md +0 -55
  112. package/docs/reference/interfaces/IServiceOfferingListResponse.md +0 -11
  113. package/docs/reference/interfaces/IVerificationResult.md +0 -23
  114. package/docs/reference/type-aliases/FederatedCatalogueContextType.md +0 -5
  115. package/docs/reference/type-aliases/FederatedCatalogueContexts.md +0 -5
  116. package/docs/reference/type-aliases/FederatedCatalogueEntryType.md +0 -5
  117. package/docs/reference/type-aliases/FederatedCatalogueTypes.md +0 -5
  118. package/docs/reference/type-aliases/ICatalogueEntry.md +0 -5
  119. package/docs/reference/type-aliases/VerificationFailureReasons.md +0 -5
  120. package/docs/reference/variables/FederatedCatalogueContexts.md +0 -13
  121. package/docs/reference/variables/FederatedCatalogueTypes.md +0 -73
  122. package/docs/reference/variables/VerificationFailureReasons.md +0 -73
@@ -0,0 +1,10 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { Factory } from "@twin.org/core";
4
+ /**
5
+ * Factory for managing filter plugin registration and retrieval.
6
+ * Follows the TWIN Platform factory pattern used by ComponentFactory and EntityStorageConnectorFactory.
7
+ */
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
9
+ export const FederatedCatalogueFilterFactory = Factory.createFactory("federated-catalogue-filter");
10
+ //# sourceMappingURL=federatedCatalogueFilterFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federatedCatalogueFilterFactory.js","sourceRoot":"","sources":["../../../src/factories/federatedCatalogueFilterFactory.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC;;;GAGG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,+BAA+B,GAAG,OAAO,CAAC,aAAa,CACnE,4BAA4B,CAC5B,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { Factory } from \"@twin.org/core\";\nimport type { IFederatedCatalogueFilter } from \"../models/IFederatedCatalogueFilter.js\";\n\n/**\n * Factory for managing filter plugin registration and retrieval.\n * Follows the TWIN Platform factory pattern used by ComponentFactory and EntityStorageConnectorFactory.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const FederatedCatalogueFilterFactory = Factory.createFactory<IFederatedCatalogueFilter>(\n\t\"federated-catalogue-filter\"\n);\n"]}
@@ -0,0 +1,10 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export * from "./factories/federatedCatalogueFilterFactory.js";
4
+ export * from "./models/api/ICatalogRequestRequest.js";
5
+ export * from "./models/api/ICatalogRequestResponse.js";
6
+ export * from "./models/api/IGetDatasetRequest.js";
7
+ export * from "./models/api/IGetDatasetResponse.js";
8
+ export * from "./models/IFederatedCatalogueComponent.js";
9
+ export * from "./models/IFederatedCatalogueFilter.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./factories/federatedCatalogueFilterFactory.js\";\nexport * from \"./models/api/ICatalogRequestRequest.js\";\nexport * from \"./models/api/ICatalogRequestResponse.js\";\nexport * from \"./models/api/IGetDatasetRequest.js\";\nexport * from \"./models/api/IGetDatasetResponse.js\";\nexport * from \"./models/IFederatedCatalogueComponent.js\";\nexport * from \"./models/IFederatedCatalogueFilter.js\";\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IFederatedCatalogueComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFederatedCatalogueComponent.js","sourceRoot":"","sources":["../../../src/models/IFederatedCatalogueComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tIDataspaceProtocolCatalog,\n\tIDataspaceProtocolCatalogError\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { IDcatDataset } from \"@twin.org/standards-w3c-dcat\";\n\n/**\n * Interface describing a federated catalogue component.\n * Provides Dataspace Protocol-compliant catalog endpoints for dataset registry and query.\n */\nexport interface IFederatedCatalogueComponent extends IComponent {\n\t/**\n\t * Retrieve a dataset by its unique identifier.\n\t * @param dataSetId The unique identifier of the dataset.\n\t * @returns The dataset if found, or a CatalogError if not found or an error occurs.\n\t */\n\tget(dataSetId: string): Promise<IDcatDataset | IDataspaceProtocolCatalogError>;\n\n\t/**\n\t * Insert or update a dataset in the catalogue.\n\t * This method is internal and should not be exposed via REST endpoints.\n\t * @param dataSet The dataset to store.\n\t * @returns Nothing.\n\t */\n\tset(dataSet: IDcatDataset): Promise<void>;\n\n\t/**\n\t * Execute a query against the catalogue using registered filter plugins.\n\t * Returns a DS Protocol compliant Catalog object with participantId.\n\t *\n\t * The root catalog's participantId is the requesting participant (from context).\n\t * Own datasets (matching requestingParticipantId) go directly in root dataset[].\n\t * Other participants' datasets are grouped in nested catalog[] entries.\n\t *\n\t * For anonymous requests (no context), uses the first publisher found as fallback.\n\t * Returns CatalogError 404 when no datasets exist.\n\t *\n\t * @param filter The filter criteria containing @type.\n\t * @param cursor Optional cursor for pagination.\n\t * @param limit Optional limit for pagination.\n\t * @returns Complete IDataspaceProtocolCatalog with @context, @id, @type, participantId, dataset/catalog,\n\t * or IDataspaceProtocolCatalogError if no datasets found.\n\t */\n\tquery(\n\t\tfilter?: unknown[],\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\tresult: IDataspaceProtocolCatalog | IDataspaceProtocolCatalogError;\n\t\tcursor?: string;\n\t}>;\n\n\t/**\n\t * Remove a dataset from the catalogue by its unique identifier.\n\t * @param dataSetId The unique identifier of the dataset to remove.\n\t * @returns Nothing.\n\t */\n\tremove(dataSetId: string): Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IFederatedCatalogueFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFederatedCatalogueFilter.js","sourceRoot":"","sources":["../../../src/models/IFederatedCatalogueFilter.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IDcatDataset } from \"@twin.org/standards-w3c-dcat\";\n\n/**\n * Interface describing a filter plugin for the federated catalogue.\n * Filter plugins provide extensible query semantics and indexing strategies.\n * Filters are registered by name in the FilterFactory and do not need to self-identify.\n */\nexport interface IFederatedCatalogueFilter extends IComponent {\n\t/**\n\t * Execute a filter-specific query over the catalogue.\n\t * Each filter interprets the payload according to its own semantics.\n\t * @param filter The filter criteria (structure depends on the filter implementation).\n\t * @param cursor The pagination cursor from the previous query, if any.\n\t * @param limit The maximum number of results to return.\n\t * @returns Object containing datasets matching the filter criteria and optional cursor for next page.\n\t */\n\tquery(\n\t\tfilter: unknown,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{ datasets: IDcatDataset[]; cursor?: string }>;\n\n\t/**\n\t * Generate filter indexes for a dataset to optimize future queries.\n\t * Indexes are stored as properties on the dataset entity itself.\n\t * @param dataSet The dataset to index.\n\t * @returns Record mapping filter-specific index keys to values.\n\t */\n\tcreateIndex(dataSet: IDcatDataset): Promise<{ [key: string]: unknown }>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ICatalogRequestRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICatalogRequestRequest.js","sourceRoot":"","sources":["../../../../src/models/api/ICatalogRequestRequest.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolCatalogRequestMessage } from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * The request parameters for the catalog request method.\n */\nexport interface ICatalogRequestRequest {\n\t/**\n\t * The request body containing the catalog query.\n\t */\n\tbody: IDataspaceProtocolCatalogRequestMessage;\n\n\t/**\n\t * Optional query parameters for pagination.\n\t * Used when following Link header URLs per DS Protocol spec.\n\t */\n\tquery?: {\n\t\t/**\n\t\t * Opaque cursor token for pagination.\n\t\t */\n\t\tcursor?: string;\n\n\t\t/**\n\t\t * Limit for pagination.\n\t\t */\n\t\tlimit?: string;\n\t};\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ICatalogRequestResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICatalogRequestResponse.js","sourceRoot":"","sources":["../../../../src/models/api/ICatalogRequestResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tIDataspaceProtocolCatalog,\n\tIDataspaceProtocolCatalogError\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { HeaderTypes, HttpStatusCode } from \"@twin.org/web\";\n\n/**\n * The response payload for the catalog request method.\n * Returns a DS Protocol compliant Catalog with participantId, or CatalogError if no datasets found.\n */\nexport interface ICatalogRequestResponse {\n\t/**\n\t * Optional headers including RFC 8288 Link header for pagination.\n\t */\n\theaders?: {\n\t\t[HeaderTypes.Link]?: string | string[];\n\t};\n\n\t/**\n\t * Response status code.\n\t * Per DS Protocol: Returns appropriate HTTP code (e.g., 404) when returning CatalogError.\n\t */\n\tstatusCode?: HttpStatusCode;\n\n\t/**\n\t * The response payload containing the DS Protocol compliant catalog with participantId,\n\t * or a CatalogError if no datasets are found (404).\n\t * Per DS Protocol: Single participant returns flat catalog, multiple participants return nested catalogs.\n\t */\n\tbody: IDataspaceProtocolCatalog | IDataspaceProtocolCatalogError;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IGetDatasetRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGetDatasetRequest.js","sourceRoot":"","sources":["../../../../src/models/api/IGetDatasetRequest.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The request parameters for the get dataset method.\n */\nexport interface IGetDatasetRequest {\n\t/**\n\t * The path parameters.\n\t */\n\tpathParams: {\n\t\t/**\n\t\t * The unique identifier of the dataset.\n\t\t */\n\t\tdatasetId: string;\n\t};\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IGetDatasetResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGetDatasetResponse.js","sourceRoot":"","sources":["../../../../src/models/api/IGetDatasetResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolCatalogError } from \"@twin.org/standards-dataspace-protocol\";\nimport type { IDcatDataset } from \"@twin.org/standards-w3c-dcat\";\nimport type { HttpStatusCode } from \"@twin.org/web\";\n\n/**\n * The response payload for the get dataset method.\n */\nexport interface IGetDatasetResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode?: HttpStatusCode;\n\n\t/**\n\t * The response payload containing the dataset or error.\n\t */\n\tbody: IDcatDataset | IDataspaceProtocolCatalogError;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { Factory } from "@twin.org/core";
2
+ import type { IFederatedCatalogueFilter } from "../models/IFederatedCatalogueFilter.js";
3
+ /**
4
+ * Factory for managing filter plugin registration and retrieval.
5
+ * Follows the TWIN Platform factory pattern used by ComponentFactory and EntityStorageConnectorFactory.
6
+ */
7
+ export declare const FederatedCatalogueFilterFactory: Factory<IFederatedCatalogueFilter>;
@@ -1,42 +1,7 @@
1
- export * from "./dataTypes/federatedCatalogueDataTypes";
2
- export * from "./models/api/ICatalogueEntryGetRequest";
3
- export * from "./models/api/ICompliancePresentationRequest";
4
- export * from "./models/api/IDataResourceGetResponse";
5
- export * from "./models/api/IDataResourceListRequest";
6
- export * from "./models/api/IDataResourceListResponse";
7
- export * from "./models/api/IDataSpaceConnectorGetResponse";
8
- export * from "./models/api/IDataSpaceConnectorListRequest";
9
- export * from "./models/api/IDataSpaceConnectorListResponse";
10
- export * from "./models/api/IFederatedCatalogueGetRequest";
11
- export * from "./models/api/IParticipantGetResponse";
12
- export * from "./models/api/IParticipantListRequest";
13
- export * from "./models/api/IParticipantListResponse";
14
- export * from "./models/api/IServiceOfferingGetResponse";
15
- export * from "./models/api/IServiceOfferingListRequest";
16
- export * from "./models/api/IServiceOfferingListResponse";
17
- export * from "./models/data-resource/IDataResourceCredential";
18
- export * from "./models/data-resource/IDataResourceEntry";
19
- export * from "./models/data-resource/IDataResourceList";
20
- export * from "./models/data-space-connector/IDataSpaceConnector";
21
- export * from "./models/data-space-connector/IDataSpaceConnectorCredential";
22
- export * from "./models/data-space-connector/IDataSpaceConnectorEntry";
23
- export * from "./models/data-space-connector/IDataSpaceConnectorList";
24
- export * from "./models/federatedCatalogueContextInstances";
25
- export * from "./models/federatedCatalogueContexts";
26
- export * from "./models/federatedCatalogueContextType";
27
- export * from "./models/federatedCatalogueEntryType";
28
- export * from "./models/federatedCatalogueTypes";
29
- export * from "./models/ICatalogueEntry";
30
- export * from "./models/IComplianceCredential";
31
- export * from "./models/IComplianceEvidence";
32
- export * from "./models/IComplianceVerificationResult";
33
- export * from "./models/ICredential";
34
- export * from "./models/IFederatedCatalogueComponent";
35
- export * from "./models/IVerificationResult";
36
- export * from "./models/participant/IParticipantCredential";
37
- export * from "./models/participant/IParticipantEntry";
38
- export * from "./models/participant/IParticipantList";
39
- export * from "./models/service-offering/IServiceOfferingCredential";
40
- export * from "./models/service-offering/IServiceOfferingEntry";
41
- export * from "./models/service-offering/IServiceOfferingList";
42
- export * from "./models/verificationFailureReasons";
1
+ export * from "./factories/federatedCatalogueFilterFactory.js";
2
+ export * from "./models/api/ICatalogRequestRequest.js";
3
+ export * from "./models/api/ICatalogRequestResponse.js";
4
+ export * from "./models/api/IGetDatasetRequest.js";
5
+ export * from "./models/api/IGetDatasetResponse.js";
6
+ export * from "./models/IFederatedCatalogueComponent.js";
7
+ export * from "./models/IFederatedCatalogueFilter.js";
@@ -1,89 +1,49 @@
1
1
  import type { IComponent } from "@twin.org/core";
2
- import type { IDataResourceList } from "./data-resource/IDataResourceList";
3
- import type { IDataSpaceConnectorList } from "./data-space-connector/IDataSpaceConnectorList";
4
- import type { FederatedCatalogueEntryType } from "./federatedCatalogueEntryType";
5
- import type { ICatalogueEntry } from "./ICatalogueEntry";
6
- import type { IParticipantList } from "./participant/IParticipantList";
7
- import type { IServiceOfferingList } from "./service-offering/IServiceOfferingList";
2
+ import type { IDataspaceProtocolCatalog, IDataspaceProtocolCatalogError } from "@twin.org/standards-dataspace-protocol";
3
+ import type { IDcatDataset } from "@twin.org/standards-w3c-dcat";
8
4
  /**
9
- * Interface describing a Federated Catalogue Contract.
5
+ * Interface describing a federated catalogue component.
6
+ * Provides Dataspace Protocol-compliant catalog endpoints for dataset registry and query.
10
7
  */
11
8
  export interface IFederatedCatalogueComponent extends IComponent {
12
9
  /**
13
- * Registers a Participant's compliance Credential to the service.
14
- * @param credential The credential as JWT.
15
- * @returns The participant Id (usually a DID).
16
- */
17
- registerComplianceCredential(credential: string): Promise<string>;
18
- /**
19
- * Query the federated catalogue.
20
- * @param participant The identity of the participant.
21
- * @param legalRegistrationNumber The legal registration number.
22
- * @param lrnType The legal registration number type (EORI, VATID, GLEIF, Kenya's PIN, etc.)
23
- * @param cursor The cursor to request the next chunk of entities.
24
- * @param limit Limit the number of entities to return.
25
- * @returns All the entities for the storage matching the conditions,
26
- * and a cursor which can be used to request more entities.
27
- * @throws NotImplementedError if the implementation does not support retrieval.
28
- */
29
- queryParticipants(participant?: string, legalRegistrationNumber?: string, lrnType?: string, cursor?: string, limit?: number): Promise<IParticipantList>;
30
- /**
31
- * Registers a Data Space Connector to the service.
32
- * @param credential The credential as JWT.
33
- * @returns The Data Space Connector Id registered.
34
- */
35
- registerDataSpaceConnectorCredential(credential: string): Promise<string>;
36
- /**
37
- * Query the federated catalogue.
38
- * @param id Data Space Connector Id.
39
- * @param maintainer The identity of the participant maintaining the Data Space Connector.
40
- * @param cursor The cursor to request the next chunk of entities.
41
- * @param limit Limit the number of entities to return.
42
- * @returns All the entities for the storage matching the conditions,
43
- * and a cursor which can be used to request more entities.
44
- * @throws NotImplementedError if the implementation does not support retrieval.
45
- */
46
- queryDataSpaceConnectors(id?: string, maintainer?: string, cursor?: string, limit?: number): Promise<IDataSpaceConnectorList>;
47
- /**
48
- * Registers a service offering Credential to the service.
49
- * @param credential The credential as JWT.
50
- * @returns The Id of the Service Offerings registered.
51
- */
52
- registerServiceOfferingCredential(credential: string): Promise<string[]>;
53
- /**
54
- * Registers a data resource Credential to the service.
55
- * @param credential The credential as JWT.
56
- * @returns The Id of the Data Resources registered.
57
- */
58
- registerDataResourceCredential(credential: string): Promise<string[]>;
59
- /**
60
- * Query the federated catalogue.
61
- * @param id Service Offering id.
62
- * @param providedBy The identity of the participant providing the Offering.
63
- * @param cursor The cursor to request the next chunk of entities.
64
- * @param limit Limit the number of entities to return.
65
- * @returns All the entities for the storage matching the conditions,
66
- * and a cursor which can be used to request more entities.
67
- * @throws NotImplementedError if the implementation does not support retrieval.
68
- */
69
- queryServiceOfferings(id?: string, providedBy?: string, cursor?: string, limit?: number): Promise<IServiceOfferingList>;
70
- /**
71
- * Query the federated catalogue.
72
- * @param id The id of the Data Resource.
73
- * @param producedBy The identity of the participant producing the data behind the data resource.
74
- * @param cursor The cursor to request the next chunk of entities.
75
- * @param limit Limit the number of entities to return.
76
- * @returns All the entities for the storage matching the conditions,
77
- * and a cursor which can be used to request more entities.
78
- * @throws NotImplementedError if the implementation does not support retrieval.
79
- */
80
- queryDataResources(id?: string, producedBy?: string, cursor?: string, limit?: number): Promise<IDataResourceList>;
81
- /**
82
- * Returns a Federated Catalogue entry.
83
- * @param entryType The type of entry.
84
- * @param entryId The entry's id.
85
- * @returns Catalogue Entry
86
- * @throws NotFoundError if not found.
87
- */
88
- getEntry(entryType: FederatedCatalogueEntryType, entryId: string): Promise<ICatalogueEntry>;
10
+ * Retrieve a dataset by its unique identifier.
11
+ * @param dataSetId The unique identifier of the dataset.
12
+ * @returns The dataset if found, or a CatalogError if not found or an error occurs.
13
+ */
14
+ get(dataSetId: string): Promise<IDcatDataset | IDataspaceProtocolCatalogError>;
15
+ /**
16
+ * Insert or update a dataset in the catalogue.
17
+ * This method is internal and should not be exposed via REST endpoints.
18
+ * @param dataSet The dataset to store.
19
+ * @returns Nothing.
20
+ */
21
+ set(dataSet: IDcatDataset): Promise<void>;
22
+ /**
23
+ * Execute a query against the catalogue using registered filter plugins.
24
+ * Returns a DS Protocol compliant Catalog object with participantId.
25
+ *
26
+ * The root catalog's participantId is the requesting participant (from context).
27
+ * Own datasets (matching requestingParticipantId) go directly in root dataset[].
28
+ * Other participants' datasets are grouped in nested catalog[] entries.
29
+ *
30
+ * For anonymous requests (no context), uses the first publisher found as fallback.
31
+ * Returns CatalogError 404 when no datasets exist.
32
+ *
33
+ * @param filter The filter criteria containing @type.
34
+ * @param cursor Optional cursor for pagination.
35
+ * @param limit Optional limit for pagination.
36
+ * @returns Complete IDataspaceProtocolCatalog with @context, @id, @type, participantId, dataset/catalog,
37
+ * or IDataspaceProtocolCatalogError if no datasets found.
38
+ */
39
+ query(filter?: unknown[], cursor?: string, limit?: number): Promise<{
40
+ result: IDataspaceProtocolCatalog | IDataspaceProtocolCatalogError;
41
+ cursor?: string;
42
+ }>;
43
+ /**
44
+ * Remove a dataset from the catalogue by its unique identifier.
45
+ * @param dataSetId The unique identifier of the dataset to remove.
46
+ * @returns Nothing.
47
+ */
48
+ remove(dataSetId: string): Promise<void>;
89
49
  }
@@ -0,0 +1,30 @@
1
+ import type { IComponent } from "@twin.org/core";
2
+ import type { IDcatDataset } from "@twin.org/standards-w3c-dcat";
3
+ /**
4
+ * Interface describing a filter plugin for the federated catalogue.
5
+ * Filter plugins provide extensible query semantics and indexing strategies.
6
+ * Filters are registered by name in the FilterFactory and do not need to self-identify.
7
+ */
8
+ export interface IFederatedCatalogueFilter extends IComponent {
9
+ /**
10
+ * Execute a filter-specific query over the catalogue.
11
+ * Each filter interprets the payload according to its own semantics.
12
+ * @param filter The filter criteria (structure depends on the filter implementation).
13
+ * @param cursor The pagination cursor from the previous query, if any.
14
+ * @param limit The maximum number of results to return.
15
+ * @returns Object containing datasets matching the filter criteria and optional cursor for next page.
16
+ */
17
+ query(filter: unknown, cursor?: string, limit?: number): Promise<{
18
+ datasets: IDcatDataset[];
19
+ cursor?: string;
20
+ }>;
21
+ /**
22
+ * Generate filter indexes for a dataset to optimize future queries.
23
+ * Indexes are stored as properties on the dataset entity itself.
24
+ * @param dataSet The dataset to index.
25
+ * @returns Record mapping filter-specific index keys to values.
26
+ */
27
+ createIndex(dataSet: IDcatDataset): Promise<{
28
+ [key: string]: unknown;
29
+ }>;
30
+ }
@@ -0,0 +1,24 @@
1
+ import type { IDataspaceProtocolCatalogRequestMessage } from "@twin.org/standards-dataspace-protocol";
2
+ /**
3
+ * The request parameters for the catalog request method.
4
+ */
5
+ export interface ICatalogRequestRequest {
6
+ /**
7
+ * The request body containing the catalog query.
8
+ */
9
+ body: IDataspaceProtocolCatalogRequestMessage;
10
+ /**
11
+ * Optional query parameters for pagination.
12
+ * Used when following Link header URLs per DS Protocol spec.
13
+ */
14
+ query?: {
15
+ /**
16
+ * Opaque cursor token for pagination.
17
+ */
18
+ cursor?: string;
19
+ /**
20
+ * Limit for pagination.
21
+ */
22
+ limit?: string;
23
+ };
24
+ }
@@ -0,0 +1,25 @@
1
+ import type { IDataspaceProtocolCatalog, IDataspaceProtocolCatalogError } from "@twin.org/standards-dataspace-protocol";
2
+ import type { HeaderTypes, HttpStatusCode } from "@twin.org/web";
3
+ /**
4
+ * The response payload for the catalog request method.
5
+ * Returns a DS Protocol compliant Catalog with participantId, or CatalogError if no datasets found.
6
+ */
7
+ export interface ICatalogRequestResponse {
8
+ /**
9
+ * Optional headers including RFC 8288 Link header for pagination.
10
+ */
11
+ headers?: {
12
+ [HeaderTypes.Link]?: string | string[];
13
+ };
14
+ /**
15
+ * Response status code.
16
+ * Per DS Protocol: Returns appropriate HTTP code (e.g., 404) when returning CatalogError.
17
+ */
18
+ statusCode?: HttpStatusCode;
19
+ /**
20
+ * The response payload containing the DS Protocol compliant catalog with participantId,
21
+ * or a CatalogError if no datasets are found (404).
22
+ * Per DS Protocol: Single participant returns flat catalog, multiple participants return nested catalogs.
23
+ */
24
+ body: IDataspaceProtocolCatalog | IDataspaceProtocolCatalogError;
25
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The request parameters for the get dataset method.
3
+ */
4
+ export interface IGetDatasetRequest {
5
+ /**
6
+ * The path parameters.
7
+ */
8
+ pathParams: {
9
+ /**
10
+ * The unique identifier of the dataset.
11
+ */
12
+ datasetId: string;
13
+ };
14
+ }
@@ -0,0 +1,16 @@
1
+ import type { IDataspaceProtocolCatalogError } from "@twin.org/standards-dataspace-protocol";
2
+ import type { IDcatDataset } from "@twin.org/standards-w3c-dcat";
3
+ import type { HttpStatusCode } from "@twin.org/web";
4
+ /**
5
+ * The response payload for the get dataset method.
6
+ */
7
+ export interface IGetDatasetResponse {
8
+ /**
9
+ * Response status code.
10
+ */
11
+ statusCode?: HttpStatusCode;
12
+ /**
13
+ * The response payload containing the dataset or error.
14
+ */
15
+ body: IDcatDataset | IDataspaceProtocolCatalogError;
16
+ }
package/docs/changelog.md CHANGED
@@ -1,143 +1,68 @@
1
1
  # @twin.org/federated-catalogue-models - Changelog
2
2
 
3
- ## [0.0.2-next.6](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.2-next.5...federated-catalogue-models-v0.0.2-next.6) (2025-10-10)
4
-
5
-
6
- ### Miscellaneous Chores
7
-
8
- * **federated-catalogue-models:** Synchronize repo versions
9
-
10
- ## [0.0.2-next.5](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.2-next.4...federated-catalogue-models-v0.0.2-next.5) (2025-10-09)
11
-
12
-
13
- ### Features
14
-
15
- * add validate-locales ([3d8d60d](https://github.com/twinfoundation/federated-catalogue/commit/3d8d60d9291e5a6f8c6d4562d6a862456a9917bc))
16
- * simplify node ([e80db0e](https://github.com/twinfoundation/federated-catalogue/commit/e80db0e1b4935daaa7ff7d4343280efaa6250bf8))
17
-
18
- ## [0.0.2-next.4](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.2-next.3...federated-catalogue-models-v0.0.2-next.4) (2025-09-29)
19
-
20
-
21
- ### Features
22
-
23
- * update to latest framework components ([aa30543](https://github.com/twinfoundation/federated-catalogue/commit/aa30543cef1309769d359d64fba0a85db490d69b))
24
-
25
- ## [0.0.2-next.3](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.2-next.2...federated-catalogue-models-v0.0.2-next.3) (2025-08-29)
3
+ ## [0.0.3-next.10](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.9...federated-catalogue-models-v0.0.3-next.10) (2026-02-25)
26
4
 
27
5
 
28
6
  ### Features
29
7
 
30
- * eslint migration to flat config ([b5990d9](https://github.com/twinfoundation/federated-catalogue/commit/b5990d9ebdf403ac999da456052bee72787745de))
8
+ * update json-ld patterns ([172aff0](https://github.com/twinfoundation/federated-catalogue/commit/172aff07d0f0b780f72d1be3a4896bbf12f6173a))
31
9
 
32
- ## [0.0.2-next.2](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.2-next.1...federated-catalogue-models-v0.0.2-next.2) (2025-08-21)
10
+ ## [0.0.3-next.9](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.8...federated-catalogue-models-v0.0.3-next.9) (2026-02-12)
33
11
 
34
12
 
35
- ### Features
13
+ ### Miscellaneous Chores
36
14
 
37
- * update framework core ([68293b6](https://github.com/twinfoundation/federated-catalogue/commit/68293b68aaf594d51431b942fa91e7cf7020a8d7))
15
+ * **federated-catalogue-models:** Synchronize repo versions
38
16
 
39
- ## [0.0.2-next.1](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.2-next.0...federated-catalogue-models-v0.0.2-next.1) (2025-07-15)
17
+ ## [0.0.3-next.8](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.7...federated-catalogue-models-v0.0.3-next.8) (2026-01-26)
40
18
 
41
19
 
42
20
  ### Features
43
21
 
44
- * add data types with fully qualified names ([993eb09](https://github.com/twinfoundation/federated-catalogue/commit/993eb09e25f6caad5d82a3908a2ba648900f5ca7))
45
- * consistent component naming with other repos ([83fc03d](https://github.com/twinfoundation/federated-catalogue/commit/83fc03dee3846600ae6a45d710248a0ae60af570))
46
- * synchronise with gaia-x types ([3e0d7f2](https://github.com/twinfoundation/federated-catalogue/commit/3e0d7f2f277ec0adef79d71165b6db778e15e315))
47
- * update dependencies ([24ff3d7](https://github.com/twinfoundation/federated-catalogue/commit/24ff3d772cf7bd7f60547c5b314355e75ba55424))
48
- * update schemas ([58d8581](https://github.com/twinfoundation/federated-catalogue/commit/58d85813231f6576490937d4394e7be0f6d8c58d))
49
- * update ts-to-schema generation ([41bdde7](https://github.com/twinfoundation/federated-catalogue/commit/41bdde7ff9f0cfa1ea4376b7a952bbaed9988d0a))
50
- * version 0 federated catalogue ([#2](https://github.com/twinfoundation/federated-catalogue/issues/2)) ([93fb8bd](https://github.com/twinfoundation/federated-catalogue/commit/93fb8bdbb03aa781ef9e8dc4053beea1b397cc36))
51
-
52
-
53
- ### Bug Fixes
54
-
55
- * broken docs ([4588d86](https://github.com/twinfoundation/federated-catalogue/commit/4588d861575522da5374291167d57bacd1b21867))
56
- * query params force coercion ([a532329](https://github.com/twinfoundation/federated-catalogue/commit/a532329089b2b95c7f18cd8bd56ee47482755dc0))
22
+ * use new hosting url for cursor links ([e42c934](https://github.com/twinfoundation/federated-catalogue/commit/e42c934b9c8748ec5bdd4803c1cdc05c82ccace8))
57
23
 
58
- ## 0.0.1 (2025-07-10)
24
+ ## [0.0.3-next.7](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.6...federated-catalogue-models-v0.0.3-next.7) (2026-01-22)
59
25
 
60
26
 
61
- ### Features
27
+ ### Miscellaneous Chores
62
28
 
63
- * release to production ([c9b5702](https://github.com/twinfoundation/federated-catalogue/commit/c9b570207fae4b31d43fa99e4df99be4baa34db2))
64
- * version 0 federated catalogue ([#2](https://github.com/twinfoundation/federated-catalogue/issues/2)) ([93fb8bd](https://github.com/twinfoundation/federated-catalogue/commit/93fb8bdbb03aa781ef9e8dc4053beea1b397cc36))
29
+ * **federated-catalogue-models:** Synchronize repo versions
65
30
 
66
- ## [0.0.1-next.11](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.10...federated-catalogue-models-v0.0.1-next.11) (2025-06-20)
31
+ ## [0.0.3-next.6](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.5...federated-catalogue-models-v0.0.3-next.6) (2026-01-20)
67
32
 
68
33
 
69
34
  ### Bug Fixes
70
35
 
71
- * query params force coercion ([a532329](https://github.com/twinfoundation/federated-catalogue/commit/a532329089b2b95c7f18cd8bd56ee47482755dc0))
72
-
73
- ## [0.0.1-next.10](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.9...federated-catalogue-models-v0.0.1-next.10) (2025-06-18)
74
-
75
-
76
- ### Features
77
-
78
- * update schemas ([58d8581](https://github.com/twinfoundation/federated-catalogue/commit/58d85813231f6576490937d4394e7be0f6d8c58d))
79
-
80
- ## [0.0.1-next.9](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.8...federated-catalogue-models-v0.0.1-next.9) (2025-06-12)
81
-
82
-
83
- ### Features
84
-
85
- * update dependencies ([24ff3d7](https://github.com/twinfoundation/federated-catalogue/commit/24ff3d772cf7bd7f60547c5b314355e75ba55424))
86
-
87
- ## [0.0.1-next.8](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.7...federated-catalogue-models-v0.0.1-next.8) (2025-06-03)
88
-
89
-
90
- ### Features
91
-
92
- * update ts-to-schema generation ([41bdde7](https://github.com/twinfoundation/federated-catalogue/commit/41bdde7ff9f0cfa1ea4376b7a952bbaed9988d0a))
93
-
94
- ## [0.0.1-next.7](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.6...federated-catalogue-models-v0.0.1-next.7) (2025-05-28)
36
+ * transform GuardError to CatalogError for DS Protocol compliance ([#49](https://github.com/twinfoundation/federated-catalogue/issues/49)) ([d0f1090](https://github.com/twinfoundation/federated-catalogue/commit/d0f10900c251b9abc18e58c90562c393c3265727))
95
37
 
96
-
97
- ### Features
98
-
99
- * add data types with fully qualified names ([993eb09](https://github.com/twinfoundation/federated-catalogue/commit/993eb09e25f6caad5d82a3908a2ba648900f5ca7))
38
+ ## [0.0.3-next.5](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.4...federated-catalogue-models-v0.0.3-next.5) (2026-01-15)
100
39
 
101
40
 
102
41
  ### Bug Fixes
103
42
 
104
- * broken docs ([4588d86](https://github.com/twinfoundation/federated-catalogue/commit/4588d861575522da5374291167d57bacd1b21867))
105
-
106
- ## [0.0.1-next.6](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.5...federated-catalogue-models-v0.0.1-next.6) (2025-05-23)
107
-
108
-
109
- ### Miscellaneous Chores
110
-
111
- * **federated-catalogue-models:** Synchronize repo versions
43
+ * pagination and ld context ([#45](https://github.com/twinfoundation/federated-catalogue/issues/45)) ([e36f096](https://github.com/twinfoundation/federated-catalogue/commit/e36f096aa4fdc61eb5b929a0fc4403247dbd41ce))
112
44
 
113
- ## [0.0.1-next.5](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.4...federated-catalogue-models-v0.0.1-next.5) (2025-05-23)
45
+ ## [0.0.3-next.4](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.3...federated-catalogue-models-v0.0.3-next.4) (2026-01-06)
114
46
 
115
47
 
116
48
  ### Features
117
49
 
118
- * consistent component naming with other repos ([83fc03d](https://github.com/twinfoundation/federated-catalogue/commit/83fc03dee3846600ae6a45d710248a0ae60af570))
50
+ * updates standards dependencies ([62f5d9c](https://github.com/twinfoundation/federated-catalogue/commit/62f5d9c6180bc27497ac43624ffd714e7ce65ce6))
119
51
 
120
- ## [0.0.1-next.4](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.3...federated-catalogue-models-v0.0.1-next.4) (2025-05-23)
52
+ ## [0.0.3-next.3](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.2...federated-catalogue-models-v0.0.3-next.3) (2025-11-28)
121
53
 
122
54
 
123
55
  ### Miscellaneous Chores
124
56
 
125
57
  * **federated-catalogue-models:** Synchronize repo versions
126
58
 
127
- ## [0.0.1-next.3](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.2...federated-catalogue-models-v0.0.1-next.3) (2025-05-22)
128
-
129
-
130
- ### Features
131
-
132
- * version 0 federated catalogue ([#2](https://github.com/twinfoundation/federated-catalogue/issues/2)) ([93fb8bd](https://github.com/twinfoundation/federated-catalogue/commit/93fb8bdbb03aa781ef9e8dc4053beea1b397cc36))
133
-
134
- ## [0.0.1-next.2](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.1-next.1...federated-catalogue-models-v0.0.1-next.2) (2025-05-22)
59
+ ## [0.0.3-next.2](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.1...federated-catalogue-models-v0.0.3-next.2) (2025-11-28)
135
60
 
136
61
 
137
62
  ### Features
138
63
 
139
- * version 0 federated catalogue ([#2](https://github.com/twinfoundation/federated-catalogue/issues/2)) ([93fb8bd](https://github.com/twinfoundation/federated-catalogue/commit/93fb8bdbb03aa781ef9e8dc4053beea1b397cc36))
64
+ * implement Dataspace Protocol federated catalogue ([#36](https://github.com/twinfoundation/federated-catalogue/issues/36)) ([4765aba](https://github.com/twinfoundation/federated-catalogue/commit/4765aba4485ef8ad61e7ec1affbf0e454d974d36))
140
65
 
141
- ## v0.0.1
66
+ ## v0.0.1-next.1
142
67
 
143
68
  - Initial Release