@twin.org/federated-catalogue-models 0.0.3-next.20 → 0.0.3-next.22

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.
@@ -3,7 +3,6 @@
3
3
  import { Factory } from "@twin.org/core";
4
4
  /**
5
5
  * Factory for managing filter plugin registration and retrieval.
6
- * Follows the TWIN Platform factory pattern used by ComponentFactory and EntityStorageConnectorFactory.
7
6
  */
8
7
  // eslint-disable-next-line @typescript-eslint/naming-convention
9
8
  export const FederatedCatalogueFilterFactory = Factory.createFactory("federated-catalogue-filter");
@@ -1 +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"]}
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;;GAEG;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 */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const FederatedCatalogueFilterFactory = Factory.createFactory<IFederatedCatalogueFilter>(\n\t\"federated-catalogue-filter\"\n);\n"]}
@@ -1 +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 * @param trustPayload Optional payload for trust evaluation, if applicable.\n\t * @returns The dataset if found, or a CatalogError if not found or an error occurs.\n\t */\n\tget(\n\t\tdatasetId: string,\n\t\ttrustPayload: unknown\n\t): 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 * @param trustPayload Optional payload for trust evaluation, if applicable.\n\t * @returns The unique identifier of the stored dataset, or a CatalogError if an error occurs.\n\t */\n\tset(\n\t\tdataset: IDcatDataset,\n\t\ttrustPayload: unknown\n\t): Promise<string | IDataspaceProtocolCatalogError>;\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 * @param trustPayload Optional payload for trust evaluation, if applicable.\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[] | undefined,\n\t\tcursor: string | undefined,\n\t\tlimit: number | undefined,\n\t\ttrustPayload: unknown\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 * @param trustPayload Optional payload for trust evaluation, if applicable.\n\t * @returns Nothing.\n\t */\n\tremove(\n\t\tdatasetId: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolCatalogError | undefined>;\n}\n"]}
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 * @param trustPayload Optional payload for trust evaluation, if applicable.\n\t * @returns A promise that resolves with the dataset if found, or a CatalogError if not found or an error occurs.\n\t */\n\tget(\n\t\tdatasetId: string,\n\t\ttrustPayload: unknown\n\t): 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 * @param trustPayload Optional payload for trust evaluation, if applicable.\n\t * @returns A promise that resolves with the unique identifier of the stored dataset, or a CatalogError if an error occurs.\n\t */\n\tset(\n\t\tdataset: IDcatDataset,\n\t\ttrustPayload: unknown\n\t): Promise<string | IDataspaceProtocolCatalogError>;\n\n\t/**\n\t * Execute a query against the catalogue using registered filter plugins.\n\t * Returns a Dataspace 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 a CatalogError with status 404 when no datasets exist.\n\t *\n\t * @param filter The filter criteria array, where the first element contains @type.\n\t * @param cursor Optional cursor for pagination.\n\t * @param limit Optional limit for pagination.\n\t * @param trustPayload Optional payload for trust evaluation, if applicable.\n\t * @returns A promise that resolves with the catalog result and optional next-page cursor.\n\t */\n\tquery(\n\t\tfilter: unknown[] | undefined,\n\t\tcursor: string | undefined,\n\t\tlimit: number | undefined,\n\t\ttrustPayload: unknown\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 * @param trustPayload Optional payload for trust evaluation, if applicable.\n\t * @returns A promise that resolves with undefined on success, or a CatalogError if removal fails.\n\t */\n\tremove(\n\t\tdatasetId: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolCatalogError | undefined>;\n}\n"]}
@@ -1 +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\";\nimport type { ITrustVerificationInfo } from \"@twin.org/trust-models\";\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 trustInfo The trust verification information for the current request.\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\ttrustInfo: ITrustVerificationInfo,\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"]}
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\";\nimport type { ITrustVerificationInfo } from \"@twin.org/trust-models\";\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 trustInfo The trust verification information for the current request.\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 A promise that resolves with datasets matching the filter criteria and an optional cursor for the next page.\n\t */\n\tquery(\n\t\ttrustInfo: ITrustVerificationInfo,\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 A promise that resolves with a record mapping filter-specific index keys to values.\n\t */\n\tcreateIndex(dataset: IDcatDataset): Promise<{ [key: string]: unknown }>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDatasetSetRequest.js","sourceRoot":"","sources":["../../../../src/models/api/IDatasetSetRequest.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDcatDataset } from \"@twin.org/standards-w3c-dcat\";\nimport type { HeaderTypes } from \"@twin.org/web\";\n\n/**\n * The request parameters for the set dataset method.\n */\nexport interface IDatasetSetRequest {\n\t/**\n\t * The request headers. Authorization header carries the trust token (Bearer scheme).\n\t */\n\theaders?: {\n\t\t[HeaderTypes.Authorization]?: string;\n\t};\n\n\t/**\n\t * The response payload containing the dataset or error.\n\t */\n\tbody: IDcatDataset;\n}\n"]}
1
+ {"version":3,"file":"IDatasetSetRequest.js","sourceRoot":"","sources":["../../../../src/models/api/IDatasetSetRequest.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDcatDataset } from \"@twin.org/standards-w3c-dcat\";\nimport type { HeaderTypes } from \"@twin.org/web\";\n\n/**\n * The request parameters for the set dataset method.\n */\nexport interface IDatasetSetRequest {\n\t/**\n\t * The request headers. Authorization header carries the trust token (Bearer scheme).\n\t */\n\theaders?: {\n\t\t[HeaderTypes.Authorization]?: string;\n\t};\n\n\t/**\n\t * The request body containing the dataset to store.\n\t */\n\tbody: IDcatDataset;\n}\n"]}
@@ -2,6 +2,5 @@ import { Factory } from "@twin.org/core";
2
2
  import type { IFederatedCatalogueFilter } from "../models/IFederatedCatalogueFilter.js";
3
3
  /**
4
4
  * Factory for managing filter plugin registration and retrieval.
5
- * Follows the TWIN Platform factory pattern used by ComponentFactory and EntityStorageConnectorFactory.
6
5
  */
7
6
  export declare const FederatedCatalogueFilterFactory: Factory<IFederatedCatalogueFilter>;
@@ -10,7 +10,7 @@ export interface IFederatedCatalogueComponent extends IComponent {
10
10
  * Retrieve a dataset by its unique identifier.
11
11
  * @param datasetId The unique identifier of the dataset.
12
12
  * @param trustPayload Optional payload for trust evaluation, if applicable.
13
- * @returns The dataset if found, or a CatalogError if not found or an error occurs.
13
+ * @returns A promise that resolves with the dataset if found, or a CatalogError if not found or an error occurs.
14
14
  */
15
15
  get(datasetId: string, trustPayload: unknown): Promise<IDcatDataset | IDataspaceProtocolCatalogError>;
16
16
  /**
@@ -18,26 +18,25 @@ export interface IFederatedCatalogueComponent extends IComponent {
18
18
  * This method is internal and should not be exposed via REST endpoints.
19
19
  * @param dataset The dataset to store.
20
20
  * @param trustPayload Optional payload for trust evaluation, if applicable.
21
- * @returns The unique identifier of the stored dataset, or a CatalogError if an error occurs.
21
+ * @returns A promise that resolves with the unique identifier of the stored dataset, or a CatalogError if an error occurs.
22
22
  */
23
23
  set(dataset: IDcatDataset, trustPayload: unknown): Promise<string | IDataspaceProtocolCatalogError>;
24
24
  /**
25
25
  * Execute a query against the catalogue using registered filter plugins.
26
- * Returns a DS Protocol compliant Catalog object with participantId.
26
+ * Returns a Dataspace Protocol compliant Catalog object with participantId.
27
27
  *
28
28
  * The root catalog's participantId is the requesting participant (from context).
29
29
  * Own datasets (matching requestingParticipantId) go directly in root dataset[].
30
30
  * Other participants' datasets are grouped in nested catalog[] entries.
31
31
  *
32
32
  * For anonymous requests (no context), uses the first publisher found as fallback.
33
- * Returns CatalogError 404 when no datasets exist.
33
+ * Returns a CatalogError with status 404 when no datasets exist.
34
34
  *
35
- * @param filter The filter criteria containing @type.
35
+ * @param filter The filter criteria array, where the first element contains @type.
36
36
  * @param cursor Optional cursor for pagination.
37
37
  * @param limit Optional limit for pagination.
38
38
  * @param trustPayload Optional payload for trust evaluation, if applicable.
39
- * @returns Complete IDataspaceProtocolCatalog with @context, @id, @type, participantId, dataset/catalog,
40
- * or IDataspaceProtocolCatalogError if no datasets found.
39
+ * @returns A promise that resolves with the catalog result and optional next-page cursor.
41
40
  */
42
41
  query(filter: unknown[] | undefined, cursor: string | undefined, limit: number | undefined, trustPayload: unknown): Promise<{
43
42
  result: IDataspaceProtocolCatalog | IDataspaceProtocolCatalogError;
@@ -47,7 +46,7 @@ export interface IFederatedCatalogueComponent extends IComponent {
47
46
  * Remove a dataset from the catalogue by its unique identifier.
48
47
  * @param datasetId The unique identifier of the dataset to remove.
49
48
  * @param trustPayload Optional payload for trust evaluation, if applicable.
50
- * @returns Nothing.
49
+ * @returns A promise that resolves with undefined on success, or a CatalogError if removal fails.
51
50
  */
52
51
  remove(datasetId: string, trustPayload: unknown): Promise<IDataspaceProtocolCatalogError | undefined>;
53
52
  }
@@ -14,7 +14,7 @@ export interface IFederatedCatalogueFilter extends IComponent {
14
14
  * @param filter The filter criteria (structure depends on the filter implementation).
15
15
  * @param cursor The pagination cursor from the previous query, if any.
16
16
  * @param limit The maximum number of results to return.
17
- * @returns Object containing datasets matching the filter criteria and optional cursor for next page.
17
+ * @returns A promise that resolves with datasets matching the filter criteria and an optional cursor for the next page.
18
18
  */
19
19
  query(trustInfo: ITrustVerificationInfo, filter: unknown, cursor?: string, limit?: number): Promise<{
20
20
  datasets: IDcatDataset[];
@@ -24,7 +24,7 @@ export interface IFederatedCatalogueFilter extends IComponent {
24
24
  * Generate filter indexes for a dataset to optimize future queries.
25
25
  * Indexes are stored as properties on the dataset entity itself.
26
26
  * @param dataset The dataset to index.
27
- * @returns Record mapping filter-specific index keys to values.
27
+ * @returns A promise that resolves with a record mapping filter-specific index keys to values.
28
28
  */
29
29
  createIndex(dataset: IDcatDataset): Promise<{
30
30
  [key: string]: unknown;
@@ -11,7 +11,7 @@ export interface IDatasetSetRequest {
11
11
  [HeaderTypes.Authorization]?: string;
12
12
  };
13
13
  /**
14
- * The response payload containing the dataset or error.
14
+ * The request body containing the dataset to store.
15
15
  */
16
16
  body: IDcatDataset;
17
17
  }
package/docs/changelog.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.22](https://github.com/iotaledger/twin-federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.21...federated-catalogue-models-v0.0.3-next.22) (2026-06-18)
4
+
5
+
6
+ ### Miscellaneous Chores
7
+
8
+ * **federated-catalogue-models:** Synchronize repo versions
9
+
10
+ ## [0.0.3-next.21](https://github.com/iotaledger/twin-federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.20...federated-catalogue-models-v0.0.3-next.21) (2026-06-12)
11
+
12
+
13
+ ### Miscellaneous Chores
14
+
15
+ * **federated-catalogue-models:** Synchronize repo versions
16
+
3
17
  ## [0.0.3-next.20](https://github.com/iotaledger/twin-federated-catalogue/compare/federated-catalogue-models-v0.0.3-next.19...federated-catalogue-models-v0.0.3-next.20) (2026-06-11)
4
18
 
5
19
 
@@ -20,4 +20,4 @@ The request headers. Authorization header carries the trust token (Bearer scheme
20
20
 
21
21
  > **body**: `IDcatDataset`
22
22
 
23
- The response payload containing the dataset or error.
23
+ The request body containing the dataset to store.
@@ -33,7 +33,7 @@ Optional payload for trust evaluation, if applicable.
33
33
 
34
34
  `Promise`\<`IDcatDataset` \| `IDataspaceProtocolCatalogError`\>
35
35
 
36
- The dataset if found, or a CatalogError if not found or an error occurs.
36
+ A promise that resolves with the dataset if found, or a CatalogError if not found or an error occurs.
37
37
 
38
38
  ***
39
39
 
@@ -62,7 +62,7 @@ Optional payload for trust evaluation, if applicable.
62
62
 
63
63
  `Promise`\<`string` \| `IDataspaceProtocolCatalogError`\>
64
64
 
65
- The unique identifier of the stored dataset, or a CatalogError if an error occurs.
65
+ A promise that resolves with the unique identifier of the stored dataset, or a CatalogError if an error occurs.
66
66
 
67
67
  ***
68
68
 
@@ -71,14 +71,14 @@ The unique identifier of the stored dataset, or a CatalogError if an error occur
71
71
  > **query**(`filter`, `cursor`, `limit`, `trustPayload`): `Promise`\<\{ `result`: `IDataspaceProtocolCatalog` \| `IDataspaceProtocolCatalogError`; `cursor?`: `string`; \}\>
72
72
 
73
73
  Execute a query against the catalogue using registered filter plugins.
74
- Returns a DS Protocol compliant Catalog object with participantId.
74
+ Returns a Dataspace Protocol compliant Catalog object with participantId.
75
75
 
76
76
  The root catalog's participantId is the requesting participant (from context).
77
77
  Own datasets (matching requestingParticipantId) go directly in root dataset[].
78
78
  Other participants' datasets are grouped in nested catalog[] entries.
79
79
 
80
80
  For anonymous requests (no context), uses the first publisher found as fallback.
81
- Returns CatalogError 404 when no datasets exist.
81
+ Returns a CatalogError with status 404 when no datasets exist.
82
82
 
83
83
  #### Parameters
84
84
 
@@ -86,7 +86,7 @@ Returns CatalogError 404 when no datasets exist.
86
86
 
87
87
  `unknown`[] \| `undefined`
88
88
 
89
- The filter criteria containing @type.
89
+ The filter criteria array, where the first element contains @type.
90
90
 
91
91
  ##### cursor
92
92
 
@@ -110,8 +110,7 @@ Optional payload for trust evaluation, if applicable.
110
110
 
111
111
  `Promise`\<\{ `result`: `IDataspaceProtocolCatalog` \| `IDataspaceProtocolCatalogError`; `cursor?`: `string`; \}\>
112
112
 
113
- Complete IDataspaceProtocolCatalog with @context, @id, @type, participantId, dataset/catalog,
114
- or IDataspaceProtocolCatalogError if no datasets found.
113
+ A promise that resolves with the catalog result and optional next-page cursor.
115
114
 
116
115
  ***
117
116
 
@@ -139,4 +138,4 @@ Optional payload for trust evaluation, if applicable.
139
138
 
140
139
  `Promise`\<`IDataspaceProtocolCatalogError` \| `undefined`\>
141
140
 
142
- Nothing.
141
+ A promise that resolves with undefined on success, or a CatalogError if removal fails.
@@ -47,7 +47,7 @@ The maximum number of results to return.
47
47
 
48
48
  `Promise`\<\{ `datasets`: `IDcatDataset`[]; `cursor?`: `string`; \}\>
49
49
 
50
- Object containing datasets matching the filter criteria and optional cursor for next page.
50
+ A promise that resolves with datasets matching the filter criteria and an optional cursor for the next page.
51
51
 
52
52
  ***
53
53
 
@@ -70,4 +70,4 @@ The dataset to index.
70
70
 
71
71
  `Promise`\<\{\[`key`: `string`\]: `unknown`; \}\>
72
72
 
73
- Record mapping filter-specific index keys to values.
73
+ A promise that resolves with a record mapping filter-specific index keys to values.
@@ -3,4 +3,3 @@
3
3
  > `const` **FederatedCatalogueFilterFactory**: `Factory`\<[`IFederatedCatalogueFilter`](../interfaces/IFederatedCatalogueFilter.md)\>
4
4
 
5
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.3-next.20",
3
+ "version": "0.0.3-next.22",
4
4
  "description": "Models which define the structure of the Federated Catalogue Service",
5
5
  "repository": {
6
6
  "type": "git",