@twin.org/dataspace-control-plane-service 0.9.1-next.8 → 0.9.1

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":"INegotiationState.js","sourceRoot":"","sources":["../../../src/models/INegotiationState.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolContractNegotiationStateType,\n\tIDataspaceProtocolAgreement\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Negotiation state tracked internally for callback routing.\n */\nexport interface INegotiationState {\n\t/**\n\t * The negotiation ID (self-reference for lookup).\n\t */\n\tnegotiationId: string;\n\n\t/**\n\t * Current negotiation state.\n\t */\n\tstate: DataspaceProtocolContractNegotiationStateType;\n\n\t/**\n\t * Agreement received from provider (stored until finalized).\n\t */\n\tagreement?: IDataspaceProtocolAgreement;\n\n\t/**\n\t * Timestamp when negotiation started.\n\t */\n\tstartedAt: number;\n\n\t/**\n\t * Timestamp when negotiation state was last updated.\n\t */\n\tupdatedAt: number;\n}\n"]}
1
+ {"version":3,"file":"INegotiationState.js","sourceRoot":"","sources":["../../../src/models/INegotiationState.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRightsManagementAgreement } from \"@twin.org/rights-management-models\";\nimport type { DataspaceProtocolContractNegotiationStateType } from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Negotiation state tracked internally for callback routing.\n */\nexport interface INegotiationState {\n\t/**\n\t * The negotiation ID (self-reference for lookup).\n\t */\n\tnegotiationId: string;\n\n\t/**\n\t * Current negotiation state.\n\t */\n\tstate: DataspaceProtocolContractNegotiationStateType;\n\n\t/**\n\t * Agreement received from provider (stored until finalized).\n\t */\n\tagreement?: IRightsManagementAgreement;\n\n\t/**\n\t * Timestamp when negotiation started.\n\t */\n\tstartedAt: number;\n\n\t/**\n\t * Timestamp when negotiation state was last updated.\n\t */\n\tupdatedAt: number;\n}\n"]}
@@ -81,13 +81,14 @@ export declare class DataspaceControlPlaneService implements IDataspaceControlPl
81
81
  * @param trustPayload Trust payload for authenticating this call.
82
82
  * @returns The consumerPid of the newly created TransferProcess.
83
83
  *
84
- * **Engine configuration requirement:** The outbound call to the provider uses
84
+ * **Engine configuration requirement (remote transfers only):** when `providerEndpoint` is a
85
+ * remote origin the outbound call uses
85
86
  * `ComponentFactory.create(remoteControlPlaneComponentType, { endpoint, pathPrefix })`.
86
87
  * For the runtime `providerEndpoint` to be forwarded correctly, the engine **must** register
87
88
  * the component type (default: `dataspace-control-plane-rest-client`) as a
88
89
  * **multi-instance** component (`isMultiInstance: true` in engine config). A singleton
89
90
  * registration ignores the runtime `endpoint` arg and silently POSTs to its
90
- * static endpoint instead.
91
+ * static endpoint instead. Local-origin (same-node) transfers run in-process and are unaffected.
91
92
  */
92
93
  prepareTransfer(agreementId: string, providerEndpoint: string, format: string, trustPayload: unknown): Promise<{
93
94
  consumerPid: string;
@@ -1,4 +1,5 @@
1
- import type { DataspaceProtocolContractNegotiationStateType, IDataspaceProtocolAgreement } from "@twin.org/standards-dataspace-protocol";
1
+ import type { IRightsManagementAgreement } from "@twin.org/rights-management-models";
2
+ import type { DataspaceProtocolContractNegotiationStateType } from "@twin.org/standards-dataspace-protocol";
2
3
  /**
3
4
  * Negotiation state tracked internally for callback routing.
4
5
  */
@@ -14,7 +15,7 @@ export interface INegotiationState {
14
15
  /**
15
16
  * Agreement received from provider (stored until finalized).
16
17
  */
17
- agreement?: IDataspaceProtocolAgreement;
18
+ agreement?: IRightsManagementAgreement;
18
19
  /**
19
20
  * Timestamp when negotiation started.
20
21
  */
package/docs/changelog.md CHANGED
@@ -1,5 +1,115 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.1](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.9.1...dataspace-control-plane-service-v0.9.1) (2026-07-27)
4
+
5
+
6
+ ### Features
7
+
8
+ * add consumer transfer callbacks and startDataTransfer convenience method ([#151](https://github.com/iotaledger/twin-dataspace/issues/151)) ([0ab66c3](https://github.com/iotaledger/twin-dataspace/commit/0ab66c3636fd1f98f89baca1e99764d77c6f91d9))
9
+ * add support for the new federated catalogue trust model ([#179](https://github.com/iotaledger/twin-dataspace/issues/179)) ([0d99a93](https://github.com/iotaledger/twin-dataspace/commit/0d99a9331e259e3efe5250e390fdfb1a2f0983b1))
10
+ * 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))
11
+ * add transferStarted provider method to start a data transfer ([#206](https://github.com/iotaledger/twin-dataspace/issues/206)) ([3ec2dc8](https://github.com/iotaledger/twin-dataspace/commit/3ec2dc8943c8531cd8d8e4ab07cb970ef7b11090))
12
+ * align all config times to ms ([40238d5](https://github.com/iotaledger/twin-dataspace/commit/40238d59a2b45caedc01792b682ce7206815dfd1))
13
+ * cross-node transfer callbacks and DataTransferManager auto-start ([#199](https://github.com/iotaledger/twin-dataspace/issues/199)) ([1089aa3](https://github.com/iotaledger/twin-dataspace/commit/1089aa344e3598e382f37a82ca03230c5cf6cacd))
14
+ * docs update ([8b44c7a](https://github.com/iotaledger/twin-dataspace/commit/8b44c7a75afb8d377a6f606616f8a78d58439ab4))
15
+ * endpoint encryption + getDatasetTargets multi-target fix ([#112](https://github.com/iotaledger/twin-dataspace/issues/112)) ([3288941](https://github.com/iotaledger/twin-dataspace/commit/328894113c19c7402f7d00dfa77b6a97ae40ca91))
16
+ * implement DSP push transfer mode ([#109](https://github.com/iotaledger/twin-dataspace/issues/109)) ([71f5fee](https://github.com/iotaledger/twin-dataspace/commit/71f5feec1d92dfec8ed6899c951809818e1bf2a3))
17
+ * improve open-api examples ([1368dbe](https://github.com/iotaledger/twin-dataspace/commit/1368dbed5c36e074b4854942304a19b9ce51e088))
18
+ * improve open-api examples ([44f7350](https://github.com/iotaledger/twin-dataspace/commit/44f7350c625d8d6afdca88b292dd48ef03253412))
19
+ * improve open-api examples ([f065f4b](https://github.com/iotaledger/twin-dataspace/commit/f065f4bd55540041a653ef141c4be29a83c5055e))
20
+ * improve validation ([#82](https://github.com/iotaledger/twin-dataspace/issues/82)) ([8bfaf7b](https://github.com/iotaledger/twin-dataspace/commit/8bfaf7b830f89b63575f8a51ee96bd8ac4da02f4))
21
+ * internalise constant ([9b9b293](https://github.com/iotaledger/twin-dataspace/commit/9b9b2933588ee70811a601bc485b5abaa12bed41))
22
+ * local optimization ([#218](https://github.com/iotaledger/twin-dataspace/issues/218)) ([1daae6b](https://github.com/iotaledger/twin-dataspace/commit/1daae6be8be44abdbe2b4c883c35938506cdd34a))
23
+ * organization identifiers ([#188](https://github.com/iotaledger/twin-dataspace/issues/188)) ([af643d3](https://github.com/iotaledger/twin-dataspace/commit/af643d3bb7f212d6cbb672e362a9e1bbe886d1a5))
24
+ * provider-side transfer auto-start and negotiation/transfer timeout callbacks ([#227](https://github.com/iotaledger/twin-dataspace/issues/227)) ([619d858](https://github.com/iotaledger/twin-dataspace/commit/619d858e8d44e59744dc8a0f73e06be976932b53))
25
+ * release to production ([#243](https://github.com/iotaledger/twin-dataspace/issues/243)) ([9906476](https://github.com/iotaledger/twin-dataspace/commit/9906476c5b9150f0660f7950a3afd4fa87009d14))
26
+ * release to production ([#308](https://github.com/iotaledger/twin-dataspace/issues/308)) ([fba29a0](https://github.com/iotaledger/twin-dataspace/commit/fba29a083d7e4892f1f06b9e2e3faa6a72185cda))
27
+ * remove datasetsHandled method from apps ([9fdc950](https://github.com/iotaledger/twin-dataspace/commit/9fdc95018d38ab49c4a1094642be2ee83ee0e4cd))
28
+ * remove hosting component ([#209](https://github.com/iotaledger/twin-dataspace/issues/209)) ([5e19328](https://github.com/iotaledger/twin-dataspace/commit/5e1932823aa8a0f88f559f096610b9df1f3b8615))
29
+ * rename completed callback ([#147](https://github.com/iotaledger/twin-dataspace/issues/147)) ([f62baad](https://github.com/iotaledger/twin-dataspace/commit/f62baad0ff444e2913439b12dcd06d20c9a4f6a4))
30
+ * resolve DSP transfer flow bugs for cross-node communication ([#76](https://github.com/iotaledger/twin-dataspace/issues/76)) ([506a45c](https://github.com/iotaledger/twin-dataspace/commit/506a45c94e63d5f958b1fc7131adfe452c3e2974))
31
+ * shortcut implicit trust ([#215](https://github.com/iotaledger/twin-dataspace/issues/215)) ([f9bcfea](https://github.com/iotaledger/twin-dataspace/commit/f9bcfeab8f069b62017502833c108b4ee3791414))
32
+ * skip tenant dsp transfer routes ([#97](https://github.com/iotaledger/twin-dataspace/issues/97)) ([2f1ad97](https://github.com/iotaledger/twin-dataspace/commit/2f1ad971bc50ad24bb9f68759fbd4d44527d3d02))
33
+ * types update ([77c338e](https://github.com/iotaledger/twin-dataspace/commit/77c338e9244dcc7e3d597fdb06229513b1f13eac))
34
+ * typescript 6 update ([340f10e](https://github.com/iotaledger/twin-dataspace/commit/340f10e4767f6285c694938944f7e044474f9aaa))
35
+ * unification of the data exchange and the data space connector ([#57](https://github.com/iotaledger/twin-dataspace/issues/57)) ([df2644d](https://github.com/iotaledger/twin-dataspace/commit/df2644d989471e07dadd83d27bef736179e31bf4))
36
+ * update DataspaceTransferFormat names ([2c9d424](https://github.com/iotaledger/twin-dataspace/commit/2c9d424a07b97346faa2124048c4675514d58109))
37
+ * use inbuilt constants ([256bc03](https://github.com/iotaledger/twin-dataspace/commit/256bc0332bf439fcc16022e0b984b9035e9b0100))
38
+
39
+
40
+ ### Bug Fixes
41
+
42
+ * avoid compaction of incoming activities ([#77](https://github.com/iotaledger/twin-dataspace/issues/77)) ([ff43d6a](https://github.com/iotaledger/twin-dataspace/commit/ff43d6a3e1563eb9cb185501134b2a53ae88787c))
43
+ * defer startTransfer state mutation until dispatch succeeds ([#162](https://github.com/iotaledger/twin-dataspace/issues/162)) ([6704bbd](https://github.com/iotaledger/twin-dataspace/commit/6704bbd88c10c8b5b37b621b56cf9d8704e00a15))
44
+ * dependency update ([fbff0dd](https://github.com/iotaledger/twin-dataspace/commit/fbff0ddae93d82bd2899001368d7a03b482ce05c))
45
+ * docs and component init ([8557233](https://github.com/iotaledger/twin-dataspace/commit/8557233fb3b8273c5c9a5b580fb43061f8efe47c))
46
+ * gate implicit-trust shortcut on local provider endpoint ([#221](https://github.com/iotaledger/twin-dataspace/issues/221)) ([1167c53](https://github.com/iotaledger/twin-dataspace/commit/1167c53d2a94d4672191d278fed69b4f2d607a3c))
47
+ * handle missing target in catalogue offers during policy derivation check ([#89](https://github.com/iotaledger/twin-dataspace/issues/89)) ([a0e0dbc](https://github.com/iotaledger/twin-dataspace/commit/a0e0dbc8d9111d5d1c43e905249825e5d8d62816))
48
+ * implement missing trust check on negotiateAgreement ([#136](https://github.com/iotaledger/twin-dataspace/issues/136)) ([a3589c2](https://github.com/iotaledger/twin-dataspace/commit/a3589c279476d5450b68ea7c2790be7e3125bfe2))
49
+ * incorrect docs ([754aa8d](https://github.com/iotaledger/twin-dataspace/commit/754aa8d032a5dfefa69072aa460106badfa41ac9))
50
+ * mock pnap ([35f21f8](https://github.com/iotaledger/twin-dataspace/commit/35f21f847d3fb9d2ffcb9191a18835093cd259b9))
51
+ * persist STARTED before setupPushSubscription so data-plane read-back sees the right state ([#168](https://github.com/iotaledger/twin-dataspace/issues/168)) ([6a7c81a](https://github.com/iotaledger/twin-dataspace/commit/6a7c81a1247dcbfbec5d64958328e8b77798be0c))
52
+ * remove inline i18n ([edde37e](https://github.com/iotaledger/twin-dataspace/commit/edde37e90ac397f253f57bc0d306b4bd0c797920))
53
+ * return 409 Conflict on duplicate dataset creation ([#165](https://github.com/iotaledger/twin-dataspace/issues/165)) ([890a2f5](https://github.com/iotaledger/twin-dataspace/commit/890a2f59d881aed4c50f63f57cdec3a4ccfb572d))
54
+ * use async getStore in tests ([739531e](https://github.com/iotaledger/twin-dataspace/commit/739531e1a159f728301835cd39cf06eab7a7bf4a))
55
+ * validate dataset-id ([#138](https://github.com/iotaledger/twin-dataspace/issues/138)) ([92a6a9b](https://github.com/iotaledger/twin-dataspace/commit/92a6a9b7b82c3dd5c652a3685892f7e9156d458b))
56
+
57
+ ## [0.9.1-next.12](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.9.1-next.11...dataspace-control-plane-service-v0.9.1-next.12) (2026-07-26)
58
+
59
+
60
+ ### Bug Fixes
61
+
62
+ * run prepareTransfer request in-process for local-origin providers ([#291](https://github.com/iotaledger/twin-dataspace/issues/291)) ([eb8cc40](https://github.com/iotaledger/twin-dataspace/commit/eb8cc408df5ce5394fbeb30897595dab2d555840)), refs [#287](https://github.com/iotaledger/twin-dataspace/issues/287)
63
+
64
+
65
+ ### Dependencies
66
+
67
+ * The following workspace dependencies were updated
68
+ * dependencies
69
+ * @twin.org/dataspace-models bumped from 0.9.1-next.11 to 0.9.1-next.12
70
+
71
+ ## [0.9.1-next.11](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.9.1-next.10...dataspace-control-plane-service-v0.9.1-next.11) (2026-07-21)
72
+
73
+
74
+ ### Bug Fixes
75
+
76
+ * retain cursor after pep enforcement ([#296](https://github.com/iotaledger/twin-dataspace/issues/296)) ([5198cd2](https://github.com/iotaledger/twin-dataspace/commit/5198cd29505ceffa532fa4fa18c97a5c8e78f663))
77
+
78
+
79
+ ### Dependencies
80
+
81
+ * The following workspace dependencies were updated
82
+ * dependencies
83
+ * @twin.org/dataspace-models bumped from 0.9.1-next.10 to 0.9.1-next.11
84
+
85
+ ## [0.9.1-next.10](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.9.1-next.9...dataspace-control-plane-service-v0.9.1-next.10) (2026-07-20)
86
+
87
+
88
+ ### Miscellaneous Chores
89
+
90
+ * **dataspace-control-plane-service:** Synchronize repo versions
91
+
92
+
93
+ ### Dependencies
94
+
95
+ * The following workspace dependencies were updated
96
+ * dependencies
97
+ * @twin.org/dataspace-models bumped from 0.9.1-next.9 to 0.9.1-next.10
98
+
99
+ ## [0.9.1-next.9](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.9.1-next.8...dataspace-control-plane-service-v0.9.1-next.9) (2026-07-06)
100
+
101
+
102
+ ### Miscellaneous Chores
103
+
104
+ * **dataspace-control-plane-service:** Synchronize repo versions
105
+
106
+
107
+ ### Dependencies
108
+
109
+ * The following workspace dependencies were updated
110
+ * dependencies
111
+ * @twin.org/dataspace-models bumped from 0.9.1-next.8 to 0.9.1-next.9
112
+
3
113
  ## [0.9.1-next.8](https://github.com/iotaledger/twin-dataspace/compare/dataspace-control-plane-service-v0.9.1-next.7...dataspace-control-plane-service-v0.9.1-next.8) (2026-07-02)
4
114
 
5
115
 
@@ -298,13 +298,14 @@ Trust payload for authenticating this call.
298
298
 
299
299
  The consumerPid of the newly created TransferProcess.
300
300
 
301
- **Engine configuration requirement:** The outbound call to the provider uses
301
+ **Engine configuration requirement (remote transfers only):** when `providerEndpoint` is a
302
+ remote origin the outbound call uses
302
303
  `ComponentFactory.create(remoteControlPlaneComponentType, { endpoint, pathPrefix })`.
303
304
  For the runtime `providerEndpoint` to be forwarded correctly, the engine **must** register
304
305
  the component type (default: `dataspace-control-plane-rest-client`) as a
305
306
  **multi-instance** component (`isMultiInstance: true` in engine config). A singleton
306
307
  registration ignores the runtime `endpoint` arg and silently POSTs to its
307
- static endpoint instead.
308
+ static endpoint instead. Local-origin (same-node) transfers run in-process and are unaffected.
308
309
 
309
310
  #### Implementation of
310
311
 
@@ -22,7 +22,7 @@ Current negotiation state.
22
22
 
23
23
  ### agreement? {#agreement}
24
24
 
25
- > `optional` **agreement?**: `IDataspaceProtocolAgreement`
25
+ > `optional` **agreement?**: `IRightsManagementAgreement`
26
26
 
27
27
  Agreement received from provider (stored until finalized).
28
28
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/dataspace-control-plane-service",
3
- "version": "0.9.1-next.8",
3
+ "version": "0.9.1",
4
4
  "description": "Implements agreement negotiation and transfer process lifecycle management for control plane operations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,26 +11,26 @@
11
11
  "license": "Apache-2.0",
12
12
  "type": "module",
13
13
  "engines": {
14
- "node": ">=20.0.0"
14
+ "node": ">=24.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/api-models": "next",
18
- "@twin.org/api-tenant-processor": "next",
19
- "@twin.org/context": "next",
20
- "@twin.org/core": "next",
21
- "@twin.org/crypto": "next",
22
- "@twin.org/dataspace-models": "0.9.1-next.8",
23
- "@twin.org/entity": "next",
24
- "@twin.org/entity-storage-models": "next",
25
- "@twin.org/federated-catalogue-models": "next",
26
- "@twin.org/logging-models": "next",
27
- "@twin.org/nameof": "next",
28
- "@twin.org/rights-management-models": "next",
29
- "@twin.org/standards-dataspace-protocol": "next",
30
- "@twin.org/standards-w3c-odrl": "next",
31
- "@twin.org/telemetry-models": "next",
32
- "@twin.org/trust-models": "next",
33
- "@twin.org/vault-models": "next"
17
+ "@twin.org/api-models": "^0.9.1",
18
+ "@twin.org/api-tenant-processor": "^0.9.1",
19
+ "@twin.org/context": "^0.9.1",
20
+ "@twin.org/core": "^0.9.1",
21
+ "@twin.org/dataspace-models": "^0.9.1",
22
+ "@twin.org/engine-models": "^0.9.0",
23
+ "@twin.org/entity": "^0.9.1",
24
+ "@twin.org/entity-storage-models": "^0.9.1",
25
+ "@twin.org/federated-catalogue-models": "^0.9.1",
26
+ "@twin.org/logging-models": "^0.9.1",
27
+ "@twin.org/nameof": "^0.9.1",
28
+ "@twin.org/rights-management-models": "^0.9.1",
29
+ "@twin.org/standards-dataspace-protocol": "^0.9.1",
30
+ "@twin.org/standards-w3c-odrl": "^0.9.1",
31
+ "@twin.org/telemetry-models": "^0.9.1",
32
+ "@twin.org/trust-models": "^0.9.1",
33
+ "@twin.org/vault-models": "^0.9.1"
34
34
  },
35
35
  "main": "./dist/es/index.js",
36
36
  "types": "./dist/types/index.d.ts",