@twin.org/dataspace-control-plane-service 0.0.3-next.42 → 0.0.3-next.44

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.
@@ -1 +1 @@
1
- {"version":3,"file":"IDataspaceControlPlaneServiceConstructorOptions.js","sourceRoot":"","sources":["../../../src/models/IDataspaceControlPlaneServiceConstructorOptions.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceControlPlaneServiceConfig } from \"./IDataspaceControlPlaneServiceConfig.js\";\n\n/**\n * Dataspace Control Plane service constructor options.\n */\nexport interface IDataspaceControlPlaneServiceConstructorOptions {\n\t/**\n\t * Policy Administration Point component type.\n\t * Used for Agreement lookup and validation during Transfer Process initiation.\n\t * @default policy-administration-point\n\t */\n\tpolicyAdministrationPointComponentType?: string;\n\n\t/**\n\t * Policy Negotiation Point component type.\n\t * Used for contract negotiation to create agreements before transfer processes.\n\t * @default policy-negotiation-point\n\t */\n\tpolicyNegotiationPointComponentType?: string;\n\n\t/**\n\t * Policy Negotiation Admin Point component type.\n\t * Used for querying negotiation history.\n\t * @default policy-negotiation-admin-point\n\t */\n\tpolicyNegotiationAdminPointComponentType?: string;\n\n\t/**\n\t * Federated Catalogue component type.\n\t * Used for dataset validation during Transfer Process initiation.\n\t * Validates that Agreements reference valid catalog datasets.\n\t * @default federated-catalogue\n\t */\n\tfederatedCatalogueComponentType?: string;\n\n\t/**\n\t * Logging component type.\n\t * @default logging\n\t */\n\tloggingComponentType?: string;\n\n\t/**\n\t * Identity component type (for token signing/verification).\n\t * @default identity\n\t */\n\tidentityComponentType?: string;\n\n\t/**\n\t * Identity Authentication component type (for token validation).\n\t * @default identity-authentication\n\t */\n\tidentityAuthenticationComponentType?: string;\n\n\t/**\n\t * Trust component type for trust verification.\n\t * Used to verify JWT/VC tokens and extract identity information.\n\t * @default trust\n\t */\n\ttrustComponentType?: string;\n\n\t/**\n\t * Entity storage type for Transfer Process entities.\n\t * Used to persist transfer state for the consumerPid flow.\n\t * Must match the Data Plane's transferProcessEntityStorageType for shared storage.\n\t * @default transfer-process\n\t */\n\ttransferProcessEntityStorageType?: string;\n\n\t/**\n\t * Entity storage type for Dataspace App Dataset entities.\n\t * @default dataspace-app-dataset\n\t */\n\tdataspaceAppDatasetEntityStorageType?: string;\n\n\t/**\n\t * Task scheduler component type for periodic cleanup of stalled negotiations.\n\t * @default task-scheduler\n\t */\n\ttaskSchedulerComponentType?: string;\n\n\t/**\n\t * Data Plane component type, used to invoke push subscription lifecycle methods.\n\t * @default dataspace-data-plane\n\t */\n\tdataPlaneComponentType?: string;\n\n\t/**\n\t * URL Transformer component type used to encrypt the tenant token into the data-plane.\n\t * @default url-transformer\n\t */\n\turlTransformerComponentType?: string;\n\n\t/**\n\t * Remote control plane component type used to make outbound DSP transfer requests.\n\t * Created dynamically via ComponentFactory.create() with the provider endpoint as config.\n\t * @default dataspace-control-plane-rest-client\n\t */\n\tremoteControlPlaneComponentType?: string;\n\n\t/**\n\t * The configuration of the Dataspace Control Plane Service.\n\t */\n\tconfig?: IDataspaceControlPlaneServiceConfig;\n}\n"]}
1
+ {"version":3,"file":"IDataspaceControlPlaneServiceConstructorOptions.js","sourceRoot":"","sources":["../../../src/models/IDataspaceControlPlaneServiceConstructorOptions.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceControlPlaneServiceConfig } from \"./IDataspaceControlPlaneServiceConfig.js\";\n\n/**\n * Dataspace Control Plane service constructor options.\n */\nexport interface IDataspaceControlPlaneServiceConstructorOptions {\n\t/**\n\t * Policy Administration Point component type.\n\t * Used for Agreement lookup and validation during Transfer Process initiation.\n\t * @default policy-administration-point\n\t */\n\tpolicyAdministrationPointComponentType?: string;\n\n\t/**\n\t * Policy Negotiation Point component type.\n\t * Used for contract negotiation to create agreements before transfer processes.\n\t * @default policy-negotiation-point\n\t */\n\tpolicyNegotiationPointComponentType?: string;\n\n\t/**\n\t * Policy Negotiation Admin Point component type.\n\t * Used for querying negotiation history.\n\t * @default policy-negotiation-admin-point\n\t */\n\tpolicyNegotiationAdminPointComponentType?: string;\n\n\t/**\n\t * Federated Catalogue component type.\n\t * Used for dataset validation during Transfer Process initiation.\n\t * Validates that Agreements reference valid catalog datasets.\n\t * @default federated-catalogue\n\t */\n\tfederatedCatalogueComponentType?: string;\n\n\t/**\n\t * Logging component type.\n\t */\n\tloggingComponentType?: string;\n\n\t/**\n\t * Identity component type (for token signing/verification).\n\t * @default identity\n\t */\n\tidentityComponentType?: string;\n\n\t/**\n\t * Identity Authentication component type (for token validation).\n\t * @default identity-authentication\n\t */\n\tidentityAuthenticationComponentType?: string;\n\n\t/**\n\t * Trust component type for trust verification.\n\t * Used to verify JWT/VC tokens and extract identity information.\n\t * @default trust\n\t */\n\ttrustComponentType?: string;\n\n\t/**\n\t * Entity storage type for Transfer Process entities.\n\t * Used to persist transfer state for the consumerPid flow.\n\t * Must match the Data Plane's transferProcessEntityStorageType for shared storage.\n\t * @default transfer-process\n\t */\n\ttransferProcessEntityStorageType?: string;\n\n\t/**\n\t * Entity storage type for Dataspace App Dataset entities.\n\t * @default dataspace-app-dataset\n\t */\n\tdataspaceAppDatasetEntityStorageType?: string;\n\n\t/**\n\t * Task scheduler component type for periodic cleanup of stalled negotiations.\n\t * @default task-scheduler\n\t */\n\ttaskSchedulerComponentType?: string;\n\n\t/**\n\t * Data Plane component type, used to invoke push subscription lifecycle methods.\n\t * @default dataspace-data-plane\n\t */\n\tdataPlaneComponentType?: string;\n\n\t/**\n\t * Remote control plane component type used to make outbound DSP transfer requests.\n\t * Created dynamically via ComponentFactory.create() with the provider endpoint as config.\n\t * @default dataspace-control-plane-rest-client\n\t */\n\tremoteControlPlaneComponentType?: string;\n\n\t/**\n\t * Platform component type, used to retrieve public origin for constructing data plane URLs.\n\t * @default platform\n\t */\n\tplatformComponentType?: string;\n\n\t/**\n\t * The configuration of the Dataspace Control Plane Service.\n\t */\n\tconfig?: IDataspaceControlPlaneServiceConfig;\n}\n"]}
@@ -48,10 +48,6 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
48
48
  unregisterTransferCallback(key: string): void;
49
49
  /**
50
50
  * The service needs to be started when the application is initialized.
51
- * Populates the Federated Catalogue with datasets from registered apps
52
- * and starts the stalled negotiation cleanup task. Also captures the node
53
- * identity from ContextIdStore when tenant-token encryption is configured
54
- * (required to derive the vault key name `${nodeId}/${signingKeyName}`).
55
51
  * @param nodeLoggingComponentType The node logging component type.
56
52
  */
57
53
  start(nodeLoggingComponentType?: string): Promise<void>;
@@ -187,7 +183,7 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
187
183
  */
188
184
  resolveProviderPid(providerPid: string, trustPayload: unknown): Promise<ITransferContext>;
189
185
  /**
190
- * Register a dataset for a dataspace app, owned by the calling tenant.
186
+ * Register a dataset for a dataspace app, owned by the calling organization.
191
187
  * @param id Optional explicit id. If omitted, derived from `dataset["@id"]`
192
188
  * or generated.
193
189
  * @param appId The dataspace app this dataset belongs to.
@@ -196,13 +192,13 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
196
192
  */
197
193
  createAppDataset(id: string | undefined, appId: string, dataset: IDataspaceProtocolDataset): Promise<string>;
198
194
  /**
199
- * Get a dataset record owned by the calling tenant.
195
+ * Get a dataset record owned by the calling organization.
200
196
  * @param id The stored dataset id.
201
197
  * @returns The stored dataset record.
202
198
  */
203
199
  getAppDataset(id: string): Promise<IDataspaceAppDataset>;
204
200
  /**
205
- * List the dataspace app datasets owned by the calling tenant.
201
+ * List the dataspace app datasets owned by the calling organization.
206
202
  * @param cursor Optional pagination cursor.
207
203
  * @param limit Optional maximum number of entries to return.
208
204
  * @returns The stored datasets and the next-page cursor if more exist.
@@ -212,14 +208,14 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
212
208
  cursor?: string;
213
209
  }>;
214
210
  /**
215
- * Update a dataset record owned by the calling tenant.
211
+ * Update a dataset record owned by the calling organization.
216
212
  * @param id The stored dataset id.
217
213
  * @param appId The dataspace app this dataset belongs to.
218
214
  * @param dataset The dataset payload.
219
215
  */
220
216
  updateAppDataset(id: string, appId: string, dataset: IDataspaceProtocolDataset): Promise<void>;
221
217
  /**
222
- * Delete a dataspace app dataset owned by the calling tenant.
218
+ * Delete a dataspace app dataset owned by the calling organization.
223
219
  * @param id The stored app dataset id.
224
220
  */
225
221
  deleteAppDataset(id: string): Promise<void>;
@@ -30,7 +30,6 @@ export interface IDataspaceControlPlaneServiceConstructorOptions {
30
30
  federatedCatalogueComponentType?: string;
31
31
  /**
32
32
  * Logging component type.
33
- * @default logging
34
33
  */
35
34
  loggingComponentType?: string;
36
35
  /**
@@ -71,17 +70,17 @@ export interface IDataspaceControlPlaneServiceConstructorOptions {
71
70
  * @default dataspace-data-plane
72
71
  */
73
72
  dataPlaneComponentType?: string;
74
- /**
75
- * URL Transformer component type used to encrypt the tenant token into the data-plane.
76
- * @default url-transformer
77
- */
78
- urlTransformerComponentType?: string;
79
73
  /**
80
74
  * Remote control plane component type used to make outbound DSP transfer requests.
81
75
  * Created dynamically via ComponentFactory.create() with the provider endpoint as config.
82
76
  * @default dataspace-control-plane-rest-client
83
77
  */
84
78
  remoteControlPlaneComponentType?: string;
79
+ /**
80
+ * Platform component type, used to retrieve public origin for constructing data plane URLs.
81
+ * @default platform
82
+ */
83
+ platformComponentType?: string;
85
84
  /**
86
85
  * The configuration of the Dataspace Control Plane Service.
87
86
  */
package/docs/changelog.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.44](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.0.3-next.43...dataspace-control-plane-service-v0.0.3-next.44) (2026-06-12)
4
+
5
+
6
+ ### Miscellaneous Chores
7
+
8
+ * **dataspace-control-plane-service:** Synchronize repo versions
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/dataspace-models bumped from 0.0.3-next.43 to 0.0.3-next.44
16
+
17
+ ## [0.0.3-next.43](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.0.3-next.42...dataspace-control-plane-service-v0.0.3-next.43) (2026-06-11)
18
+
19
+
20
+ ### Features
21
+
22
+ * organization identifiers ([#188](https://github.com/iotaledger/twin-dataspace/issues/188)) ([af643d3](https://github.com/iotaledger/twin-dataspace/commit/af643d3bb7f212d6cbb672e362a9e1bbe886d1a5))
23
+
24
+
25
+ ### Dependencies
26
+
27
+ * The following workspace dependencies were updated
28
+ * dependencies
29
+ * @twin.org/dataspace-models bumped from 0.0.3-next.42 to 0.0.3-next.43
30
+
3
31
  ## [0.0.3-next.42](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.0.3-next.41...dataspace-control-plane-service-v0.0.3-next.42) (2026-06-10)
4
32
 
5
33
 
@@ -173,10 +173,6 @@ The key used when registering the callback.
173
173
  > **start**(`nodeLoggingComponentType?`): `Promise`\<`void`\>
174
174
 
175
175
  The service needs to be started when the application is initialized.
176
- Populates the Federated Catalogue with datasets from registered apps
177
- and starts the stalled negotiation cleanup task. Also captures the node
178
- identity from ContextIdStore when tenant-token encryption is configured
179
- (required to derive the vault key name `${nodeId}/${signingKeyName}`).
180
176
 
181
177
  #### Parameters
182
178
 
@@ -676,7 +672,7 @@ Transfer Context with Agreement, datasetId, and Transfer Process metadata.
676
672
 
677
673
  > **createAppDataset**(`id`, `appId`, `dataset`): `Promise`\<`string`\>
678
674
 
679
- Register a dataset for a dataspace app, owned by the calling tenant.
675
+ Register a dataset for a dataspace app, owned by the calling organization.
680
676
 
681
677
  #### Parameters
682
678
 
@@ -715,7 +711,7 @@ The resolved dataset id.
715
711
 
716
712
  > **getAppDataset**(`id`): `Promise`\<`IDataspaceAppDataset`\>
717
713
 
718
- Get a dataset record owned by the calling tenant.
714
+ Get a dataset record owned by the calling organization.
719
715
 
720
716
  #### Parameters
721
717
 
@@ -741,7 +737,7 @@ The stored dataset record.
741
737
 
742
738
  > **listAppDatasets**(`cursor?`, `limit?`): `Promise`\<\{ `entities`: `IDataspaceAppDataset`[]; `cursor?`: `string`; \}\>
743
739
 
744
- List the dataspace app datasets owned by the calling tenant.
740
+ List the dataspace app datasets owned by the calling organization.
745
741
 
746
742
  #### Parameters
747
743
 
@@ -773,7 +769,7 @@ The stored datasets and the next-page cursor if more exist.
773
769
 
774
770
  > **updateAppDataset**(`id`, `appId`, `dataset`): `Promise`\<`void`\>
775
771
 
776
- Update a dataset record owned by the calling tenant.
772
+ Update a dataset record owned by the calling organization.
777
773
 
778
774
  #### Parameters
779
775
 
@@ -809,7 +805,7 @@ The dataset payload.
809
805
 
810
806
  > **deleteAppDataset**(`id`): `Promise`\<`void`\>
811
807
 
812
- Delete a dataspace app dataset owned by the calling tenant.
808
+ Delete a dataspace app dataset owned by the calling organization.
813
809
 
814
810
  #### Parameters
815
811
 
@@ -71,12 +71,6 @@ federated-catalogue
71
71
 
72
72
  Logging component type.
73
73
 
74
- #### Default
75
-
76
- ```ts
77
- logging
78
- ```
79
-
80
74
  ***
81
75
 
82
76
  ### identityComponentType? {#identitycomponenttype}
@@ -180,31 +174,31 @@ dataspace-data-plane
180
174
 
181
175
  ***
182
176
 
183
- ### urlTransformerComponentType? {#urltransformercomponenttype}
177
+ ### remoteControlPlaneComponentType? {#remotecontrolplanecomponenttype}
184
178
 
185
- > `optional` **urlTransformerComponentType?**: `string`
179
+ > `optional` **remoteControlPlaneComponentType?**: `string`
186
180
 
187
- URL Transformer component type used to encrypt the tenant token into the data-plane.
181
+ Remote control plane component type used to make outbound DSP transfer requests.
182
+ Created dynamically via ComponentFactory.create() with the provider endpoint as config.
188
183
 
189
184
  #### Default
190
185
 
191
186
  ```ts
192
- url-transformer
187
+ dataspace-control-plane-rest-client
193
188
  ```
194
189
 
195
190
  ***
196
191
 
197
- ### remoteControlPlaneComponentType? {#remotecontrolplanecomponenttype}
192
+ ### platformComponentType? {#platformcomponenttype}
198
193
 
199
- > `optional` **remoteControlPlaneComponentType?**: `string`
194
+ > `optional` **platformComponentType?**: `string`
200
195
 
201
- Remote control plane component type used to make outbound DSP transfer requests.
202
- Created dynamically via ComponentFactory.create() with the provider endpoint as config.
196
+ Platform component type, used to retrieve public origin for constructing data plane URLs.
203
197
 
204
198
  #### Default
205
199
 
206
200
  ```ts
207
- dataspace-control-plane-rest-client
201
+ platform
208
202
  ```
209
203
 
210
204
  ***
package/locales/en.json CHANGED
@@ -73,11 +73,8 @@
73
73
  "datasetNotInCatalog": "Dataset \"{datasetId}\" not found in Federated Catalogue (Agreement: {agreementId})",
74
74
  "catalogLookupFailed": "Failed to lookup dataset in Federated Catalogue: {datasetId} (Agreement: {agreementId})",
75
75
  "agreementNotMatchingOffer": "Agreement \"{agreementId}\" does not match any Catalog Offer for dataset {datasetId}. Available Offers: {availableOffers}",
76
- "organizationContextMissing": "Organization context is missing. Cannot verify Agreement authorization for consumerPid: {consumerPid}",
77
- "organizationContextMissingProvider": "Organization context is missing. Cannot verify Agreement authorization for providerPid: {providerPid}",
78
- "agreementAssignerMismatch": "Agreement assigner does not match current caller identity. Agreement: {agreementId}, consumerPid: {consumerPid}, expected: {expectedComposite}, actual: {actualAssigner}",
79
- "agreementAssignerMismatchProvider": "Agreement assigner does not match current caller identity. Agreement: {agreementId}, providerPid: {providerPid}, expected: {expectedComposite}, actual: {actualAssigner}",
80
- "invalidCompositeIdentifier": "Composite tenant identifier is not in a recognised shape (expected `nodeDid` or `nodeDid:tenantIdHash`, where `nodeDid` starts with `did:`). Got: \"{composite}\"",
76
+ "agreementAssignerMismatch": "Agreement assigner does not match current caller identity. Agreement: {agreementId}, consumerPid: {consumerPid}, expected: {organizationIdentity}, actual: {actualAssigner}",
77
+ "agreementAssignerMismatchProvider": "Agreement assigner does not match current caller identity. Agreement: {agreementId}, providerPid: {providerPid}, expected: {organizationIdentity}, actual: {actualAssigner}",
81
78
  "agreementAssigneeMismatch": "Agreement assignee does not match expected consumer identity. Agreement: {agreementId}, providerPid: {providerPid}, expected: {expectedConsumerIdentity}, actual: {actualAssignee}",
82
79
  "negotiationInitiationFailed": "Failed to initiate contract negotiation",
83
80
  "datasetNotFoundInCatalog": "Dataset/Offer \"{offerId}\" not found in Federated Catalogue. Cannot initiate negotiation for non-existent offer.",
@@ -102,11 +99,10 @@
102
99
  "dataPlaneNotRegistered": "Push-mode transfer requires the data plane component to be registered (factory key: \"dataspace-data-plane\"). This deployment was configured without a data plane — register one to enable push, or use pull-mode transfers only.",
103
100
  "datasetPublishFailed": "Failed to publish dataset \"{datasetId}\" for app \"{appId}\" (tenant: \"{tenantId}\")",
104
101
  "datasetRemoveFailed": "Failed to remove dataset \"{datasetId}\" from the Federated Catalogue (tenant: \"{tenantId}\")",
105
- "datasetNodeContextRequired": "A node context is required to register a dataset.",
106
102
  "datasetAlreadyExists": "A dataset with id \"{existingId}\" already exists.",
107
103
  "datasetNotFound": "Dataset not found",
108
- "datasetWrongTenant": "The calling tenant does not own this dataset.",
109
- "transferWrongTenant": "The calling tenant does not own this transfer.",
104
+ "datasetWrongOrganization": "The calling organization does not own this dataset.",
105
+ "transferWrongOrganization": "The calling organization does not own this transfer.",
110
106
  "invalidDatasetId": "Dataset ID \"{id}\" is not a valid URN or URL"
111
107
  },
112
108
  "dataspaceControlPlanePolicyRequester": {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/dataspace-control-plane-service",
3
- "version": "0.0.3-next.42",
3
+ "version": "0.0.3-next.44",
4
4
  "description": "Implements agreement negotiation and transfer process lifecycle management for control plane operations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  "@twin.org/context": "next",
20
20
  "@twin.org/core": "next",
21
21
  "@twin.org/crypto": "next",
22
- "@twin.org/dataspace-models": "0.0.3-next.42",
22
+ "@twin.org/dataspace-models": "0.0.3-next.44",
23
23
  "@twin.org/entity": "next",
24
24
  "@twin.org/entity-storage-models": "next",
25
25
  "@twin.org/federated-catalogue-models": "next",