@twin.org/dataspace-control-plane-service 0.0.3-next.48 → 0.0.3-next.50

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 */\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"]}
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 component type for the optional telemetry component used for metrics, defaults to no telemetry.\n\t */\n\ttelemetryComponentType?: string;\n\n\t/**\n\t * The configuration of the Dataspace Control Plane Service.\n\t */\n\tconfig?: IDataspaceControlPlaneServiceConfig;\n}\n"]}
@@ -66,7 +66,7 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
66
66
  * @param options Request options.
67
67
  * @param options.autoStart When true, the provider immediately starts the requested transfer (scheduled
68
68
  * on the next tick); when omitted/false the provider start must be triggered explicitly.
69
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
69
+ * @param trustPayload Trust payload containing authorization information.
70
70
  * @returns Transfer Process (DSP compliant) with state REQUESTED, or TransferError if the operation fails.
71
71
  *
72
72
  * Role Performed: Provider
@@ -100,7 +100,7 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
100
100
  * Start a Transfer Process.
101
101
  * Transitions Transfer Process from REQUESTED to STARTED state or resumes from SUSPENDED state.
102
102
  * @param message Transfer start message (DSP compliant).
103
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
103
+ * @param trustPayload Trust payload containing authorization information.
104
104
  * @returns Transfer Start Message (DSP compliant) with dataAddress for PULL transfers, or TransferError if the operation fails.
105
105
  *
106
106
  * Role Performed: Provider / Consumer
@@ -122,28 +122,28 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
122
122
  /**
123
123
  * Complete a Transfer Process.
124
124
  * @param message Transfer completion message (DSP compliant).
125
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
125
+ * @param trustPayload Trust payload containing authorization information.
126
126
  * @returns Transfer Process (DSP compliant) with state COMPLETED, or TransferError if the operation fails.
127
127
  */
128
128
  completeTransfer(message: IDataspaceProtocolTransferCompletionMessage, trustPayload: unknown): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;
129
129
  /**
130
130
  * Suspend a Transfer Process.
131
131
  * @param message Transfer suspension message (DSP compliant).
132
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
132
+ * @param trustPayload Trust payload containing authorization information.
133
133
  * @returns Transfer Process (DSP compliant) with state SUSPENDED, or TransferError if the operation fails.
134
134
  */
135
135
  suspendTransfer(message: IDataspaceProtocolTransferSuspensionMessage, trustPayload: unknown): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;
136
136
  /**
137
137
  * Terminate a Transfer Process.
138
138
  * @param message Transfer termination message (DSP compliant).
139
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
139
+ * @param trustPayload Trust payload containing authorization information.
140
140
  * @returns Transfer Process (DSP compliant) with state TERMINATED, or TransferError if the operation fails.
141
141
  */
142
142
  terminateTransfer(message: IDataspaceProtocolTransferTerminationMessage, trustPayload: unknown): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;
143
143
  /**
144
144
  * Get Transfer Process state.
145
145
  * @param pid Process ID (consumerPid or providerPid).
146
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
146
+ * @param trustPayload Trust payload containing authorization information.
147
147
  * @returns Transfer Process (DSP compliant) with current state, or TransferError if the operation fails.
148
148
  */
149
149
  getTransferProcess(pid: string, trustPayload: unknown): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;
@@ -156,10 +156,11 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
156
156
  * @param offerId The offer ID from the provider's catalog.
157
157
  * @param providerEndpoint The provider's contract negotiation endpoint URL.
158
158
  * @param trustPayload The trust payload for authentication.
159
- * @returns The negotiation ID. Use the registered callback for completion notification.
159
+ * @returns For implicit trust: `{ agreementId }`. For external negotiation: `{ negotiationId }`.
160
160
  */
161
161
  negotiateAgreement(datasetId: string, offerId: string, providerEndpoint: string, trustPayload: unknown): Promise<{
162
- negotiationId: string;
162
+ negotiationId?: string;
163
+ agreementId?: string;
163
164
  }>;
164
165
  /**
165
166
  * Get the current state of a contract negotiation.
@@ -188,14 +189,14 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
188
189
  /**
189
190
  * Resolve consumerPid to Transfer Context.
190
191
  * @param consumerPid Consumer Process ID.
191
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
192
+ * @param trustPayload Trust payload containing authorization information.
192
193
  * @returns Transfer Context with Agreement, datasetId, and Transfer Process metadata.
193
194
  */
194
195
  resolveConsumerPid(consumerPid: string, trustPayload: unknown): Promise<ITransferContext>;
195
196
  /**
196
197
  * Resolve providerPid to Transfer Context.
197
198
  * @param providerPid Provider Process ID.
198
- * @param trustPayload Trust payload containing authorization information (Base64-encoded token).
199
+ * @param trustPayload Trust payload containing authorization information.
199
200
  * @returns Transfer Context with Agreement, datasetId, and Transfer Process metadata.
200
201
  */
201
202
  resolveProviderPid(providerPid: string, trustPayload: unknown): Promise<ITransferContext>;
@@ -81,6 +81,10 @@ export interface IDataspaceControlPlaneServiceConstructorOptions {
81
81
  * @default platform
82
82
  */
83
83
  platformComponentType?: string;
84
+ /**
85
+ * The component type for the optional telemetry component used for metrics, defaults to no telemetry.
86
+ */
87
+ telemetryComponentType?: string;
84
88
  /**
85
89
  * The configuration of the Dataspace Control Plane Service.
86
90
  */
package/docs/changelog.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.50](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.0.3-next.49...dataspace-control-plane-service-v0.0.3-next.50) (2026-06-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * shortcut implicit trust ([#215](https://github.com/iotaledger/twin-dataspace/issues/215)) ([f9bcfea](https://github.com/iotaledger/twin-dataspace/commit/f9bcfeab8f069b62017502833c108b4ee3791414))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * remove inline i18n ([edde37e](https://github.com/iotaledger/twin-dataspace/commit/edde37e90ac397f253f57bc0d306b4bd0c797920))
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * The following workspace dependencies were updated
19
+ * dependencies
20
+ * @twin.org/dataspace-models bumped from 0.0.3-next.49 to 0.0.3-next.50
21
+
22
+ ## [0.0.3-next.49](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.0.3-next.48...dataspace-control-plane-service-v0.0.3-next.49) (2026-06-19)
23
+
24
+
25
+ ### Features
26
+
27
+ * add telemetry metrics to dataspace control and data plane services ([#212](https://github.com/iotaledger/twin-dataspace/issues/212)) ([b5b0248](https://github.com/iotaledger/twin-dataspace/commit/b5b024899ed12c0f639c5d51aefa3e509753eac6))
28
+ * remove datasetsHandled method from apps ([9fdc950](https://github.com/iotaledger/twin-dataspace/commit/9fdc95018d38ab49c4a1094642be2ee83ee0e4cd))
29
+
30
+
31
+ ### Dependencies
32
+
33
+ * The following workspace dependencies were updated
34
+ * dependencies
35
+ * @twin.org/dataspace-models bumped from 0.0.3-next.48 to 0.0.3-next.49
36
+
3
37
  ## [0.0.3-next.48](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.0.3-next.47...dataspace-control-plane-service-v0.0.3-next.48) (2026-06-18)
4
38
 
5
39
 
@@ -263,7 +263,7 @@ on the next tick); when omitted/false the provider start must be triggered expli
263
263
 
264
264
  `unknown`
265
265
 
266
- Trust payload containing authorization information (Base64-encoded token).
266
+ Trust payload containing authorization information.
267
267
 
268
268
  #### Returns
269
269
 
@@ -353,7 +353,7 @@ Transfer start message (DSP compliant).
353
353
 
354
354
  `unknown`
355
355
 
356
- Trust payload containing authorization information (Base64-encoded token).
356
+ Trust payload containing authorization information.
357
357
 
358
358
  #### Returns
359
359
 
@@ -425,7 +425,7 @@ Transfer completion message (DSP compliant).
425
425
 
426
426
  `unknown`
427
427
 
428
- Trust payload containing authorization information (Base64-encoded token).
428
+ Trust payload containing authorization information.
429
429
 
430
430
  #### Returns
431
431
 
@@ -457,7 +457,7 @@ Transfer suspension message (DSP compliant).
457
457
 
458
458
  `unknown`
459
459
 
460
- Trust payload containing authorization information (Base64-encoded token).
460
+ Trust payload containing authorization information.
461
461
 
462
462
  #### Returns
463
463
 
@@ -489,7 +489,7 @@ Transfer termination message (DSP compliant).
489
489
 
490
490
  `unknown`
491
491
 
492
- Trust payload containing authorization information (Base64-encoded token).
492
+ Trust payload containing authorization information.
493
493
 
494
494
  #### Returns
495
495
 
@@ -521,7 +521,7 @@ Process ID (consumerPid or providerPid).
521
521
 
522
522
  `unknown`
523
523
 
524
- Trust payload containing authorization information (Base64-encoded token).
524
+ Trust payload containing authorization information.
525
525
 
526
526
  #### Returns
527
527
 
@@ -537,7 +537,7 @@ Transfer Process (DSP compliant) with current state, or TransferError if the ope
537
537
 
538
538
  ### negotiateAgreement() {#negotiateagreement}
539
539
 
540
- > **negotiateAgreement**(`datasetId`, `offerId`, `providerEndpoint`, `trustPayload`): `Promise`\<\{ `negotiationId`: `string`; \}\>
540
+ > **negotiateAgreement**(`datasetId`, `offerId`, `providerEndpoint`, `trustPayload`): `Promise`\<\{ `negotiationId?`: `string`; `agreementId?`: `string`; \}\>
541
541
 
542
542
  Negotiate a contract agreement with a provider.
543
543
  Returns immediately with a negotiationId. The caller is notified
@@ -571,9 +571,9 @@ The trust payload for authentication.
571
571
 
572
572
  #### Returns
573
573
 
574
- `Promise`\<\{ `negotiationId`: `string`; \}\>
574
+ `Promise`\<\{ `negotiationId?`: `string`; `agreementId?`: `string`; \}\>
575
575
 
576
- The negotiation ID. Use the registered callback for completion notification.
576
+ For implicit trust: `{ agreementId }`. For external negotiation: `{ negotiationId }`.
577
577
 
578
578
  #### Implementation of
579
579
 
@@ -669,7 +669,7 @@ Consumer Process ID.
669
669
 
670
670
  `unknown`
671
671
 
672
- Trust payload containing authorization information (Base64-encoded token).
672
+ Trust payload containing authorization information.
673
673
 
674
674
  #### Returns
675
675
 
@@ -701,7 +701,7 @@ Provider Process ID.
701
701
 
702
702
  `unknown`
703
703
 
704
- Trust payload containing authorization information (Base64-encoded token).
704
+ Trust payload containing authorization information.
705
705
 
706
706
  #### Returns
707
707
 
@@ -203,6 +203,14 @@ platform
203
203
 
204
204
  ***
205
205
 
206
+ ### telemetryComponentType? {#telemetrycomponenttype}
207
+
208
+ > `optional` **telemetryComponentType?**: `string`
209
+
210
+ The component type for the optional telemetry component used for metrics, defaults to no telemetry.
211
+
212
+ ***
213
+
206
214
  ### config? {#config}
207
215
 
208
216
  > `optional` **config?**: [`IDataspaceControlPlaneServiceConfig`](IDataspaceControlPlaneServiceConfig.md)
package/locales/en.json CHANGED
@@ -17,6 +17,8 @@
17
17
  "startingContractNegotiation": "Starting contract negotiation with provider",
18
18
  "offerFoundInCatalog": "Offer found in Federated Catalogue and validated",
19
19
  "negotiationInitiated": "Contract negotiation initiated successfully",
20
+ "implicitTrustAgreementCreated": "Implicit trust agreement created (agreementId: {agreementId}, datasetId: {datasetId}, organizationId: {organizationId})",
21
+ "implicitTrustAgreementReused": "Existing implicit trust agreement reused (agreementId: {agreementId}, datasetId: {datasetId}, organizationId: {organizationId})",
20
22
  "getNegotiation": "Retrieving negotiation status",
21
23
  "negotiationStateRetrieved": "Negotiation state retrieved successfully",
22
24
  "getNegotiationHistory": "Retrieving negotiation history",
@@ -71,7 +73,7 @@
71
73
  "invalidTransferSuspensionMessage": "Transfer Suspension Message does not conform to Dataspace Protocol specification",
72
74
  "invalidTransferTerminationMessage": "Transfer Termination Message does not conform to Dataspace Protocol specification",
73
75
  "agreementLookupFailed": "Failed to lookup Agreement: {agreementId}",
74
- "agreementNotFound": "Agreement not found",
76
+ "agreementNotFound": "Agreement not found \"{notFoundId}\"",
75
77
  "agreementMissingTarget": "Agreement is missing target (dataset): {agreementId}",
76
78
  "agreementMultipleTargetsNotSupported": "Agreement has multiple targets which is not supported. Only single target Agreements are allowed: {agreementId}, target count: {targetCount}",
77
79
  "agreementTargetMissingUid": "Agreement target object is missing required \"uid\" property: {agreementId}",
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.48",
3
+ "version": "0.0.3-next.50",
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.48",
22
+ "@twin.org/dataspace-models": "0.0.3-next.50",
23
23
  "@twin.org/entity": "next",
24
24
  "@twin.org/entity-storage-models": "next",
25
25
  "@twin.org/federated-catalogue-models": "next",
@@ -28,6 +28,7 @@
28
28
  "@twin.org/rights-management-models": "next",
29
29
  "@twin.org/standards-dataspace-protocol": "next",
30
30
  "@twin.org/standards-w3c-odrl": "next",
31
+ "@twin.org/telemetry-models": "next",
31
32
  "@twin.org/trust-models": "next",
32
33
  "@twin.org/vault-models": "next"
33
34
  },