@twin.org/dataspace-models 0.9.1 → 0.9.2-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.
- package/dist/es/entities/dataspaceAppDataset.js +11 -2
- package/dist/es/entities/dataspaceAppDataset.js.map +1 -1
- package/dist/es/entities/dataspaceAppDatasetV0.js +73 -0
- package/dist/es/entities/dataspaceAppDatasetV0.js.map +1 -0
- package/dist/es/entities/transferProcess.js +14 -20
- package/dist/es/entities/transferProcess.js.map +1 -1
- package/dist/es/entities/transferProcessV0.js +156 -0
- package/dist/es/entities/transferProcessV0.js.map +1 -0
- package/dist/es/entities/transferRetrieval.js +38 -0
- package/dist/es/entities/transferRetrieval.js.map +1 -0
- package/dist/es/index.js +5 -0
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/IPushDeliveryPayload.js.map +1 -1
- package/dist/es/models/api/controlPlane/IAppDatasetCreateRequest.js.map +1 -1
- package/dist/es/models/api/controlPlane/IAppDatasetUpdateRequest.js.map +1 -1
- package/dist/es/models/controlPlane/IDataspaceAppDataset.js.map +1 -1
- package/dist/es/models/controlPlane/IDataspaceControlPlaneComponent.js.map +1 -1
- package/dist/es/models/controlPlane/ITransferCallback.js.map +1 -1
- package/dist/es/models/controlPlane/ITransferProcess.js.map +1 -1
- package/dist/es/models/controlPlane/ITransferQueryResult.js +2 -0
- package/dist/es/models/controlPlane/ITransferQueryResult.js.map +1 -0
- package/dist/es/models/controlPlane/dataspaceControlPlaneMetricIds.js +5 -1
- package/dist/es/models/controlPlane/dataspaceControlPlaneMetricIds.js.map +1 -1
- package/dist/es/models/controlPlane/dataspaceControlPlaneMetrics.js +5 -0
- package/dist/es/models/controlPlane/dataspaceControlPlaneMetrics.js.map +1 -1
- package/dist/es/models/controlPlane/transferTerminationCode.js +14 -0
- package/dist/es/models/controlPlane/transferTerminationCode.js.map +1 -0
- package/dist/es/models/dataPlane/IDataspaceDataPlaneComponent.js.map +1 -1
- package/dist/types/entities/dataspaceAppDataset.d.ts +6 -1
- package/dist/types/entities/dataspaceAppDatasetV0.d.ts +39 -0
- package/dist/types/entities/transferProcess.d.ts +10 -13
- package/dist/types/entities/transferProcessV0.d.ts +83 -0
- package/dist/types/entities/transferRetrieval.d.ts +18 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/models/IPushDeliveryPayload.d.ts +1 -1
- package/dist/types/models/api/controlPlane/IAppDatasetCreateRequest.d.ts +7 -2
- package/dist/types/models/api/controlPlane/IAppDatasetUpdateRequest.d.ts +5 -0
- package/dist/types/models/controlPlane/IDataspaceAppDataset.d.ts +5 -0
- package/dist/types/models/controlPlane/IDataspaceControlPlaneComponent.d.ts +36 -6
- package/dist/types/models/controlPlane/ITransferCallback.d.ts +3 -3
- package/dist/types/models/controlPlane/ITransferProcess.d.ts +2 -11
- package/dist/types/models/controlPlane/ITransferQueryResult.d.ts +14 -0
- package/dist/types/models/controlPlane/dataspaceControlPlaneMetricIds.d.ts +4 -0
- package/dist/types/models/controlPlane/transferTerminationCode.d.ts +14 -0
- package/dist/types/models/dataPlane/IDataspaceDataPlaneComponent.d.ts +1 -1
- package/docs/changelog.md +110 -0
- package/docs/reference/classes/DataspaceAppDataset.md +10 -1
- package/docs/reference/classes/DataspaceAppDatasetV0.md +77 -0
- package/docs/reference/classes/TransferProcess.md +12 -18
- package/docs/reference/classes/TransferProcessV0.md +156 -0
- package/docs/reference/classes/TransferRetrieval.md +38 -0
- package/docs/reference/index.md +6 -0
- package/docs/reference/interfaces/IAppDatasetCreateRequest.md +9 -2
- package/docs/reference/interfaces/IAppDatasetUpdateRequest.md +7 -0
- package/docs/reference/interfaces/IDataspaceAppDataset.md +9 -0
- package/docs/reference/interfaces/IDataspaceControlPlaneComponent.md +77 -5
- package/docs/reference/interfaces/IDataspaceDataPlaneComponent.md +1 -1
- package/docs/reference/interfaces/IPushDeliveryPayload.md +1 -1
- package/docs/reference/interfaces/ITransferCallback.md +3 -3
- package/docs/reference/interfaces/ITransferProcess.md +2 -14
- package/docs/reference/interfaces/ITransferQueryResult.md +19 -0
- package/docs/reference/type-aliases/TransferTerminationCode.md +5 -0
- package/docs/reference/variables/DataspaceControlPlaneMetricIds.md +6 -0
- package/docs/reference/variables/TransferTerminationCode.md +14 -0
- package/package.json +15 -14
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { IComponent } from "@twin.org/core";
|
|
2
|
-
import type { IDataspaceProtocolContractNegotiation, IDataspaceProtocolContractNegotiationError, IDataspaceProtocolDataset, IDataspaceProtocolTransferCompletionMessage, IDataspaceProtocolTransferError, IDataspaceProtocolTransferProcess, IDataspaceProtocolTransferRequestMessage, IDataspaceProtocolTransferStartMessage, IDataspaceProtocolTransferSuspensionMessage, IDataspaceProtocolTransferTerminationMessage, IDataspaceProtocolVersionResponse } from "@twin.org/standards-dataspace-protocol";
|
|
2
|
+
import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolContractNegotiation, IDataspaceProtocolContractNegotiationError, IDataspaceProtocolDataset, IDataspaceProtocolTransferCompletionMessage, IDataspaceProtocolTransferError, IDataspaceProtocolTransferProcess, IDataspaceProtocolTransferRequestMessage, IDataspaceProtocolTransferStartMessage, IDataspaceProtocolTransferSuspensionMessage, IDataspaceProtocolTransferTerminationMessage, IDataspaceProtocolVersionResponse } from "@twin.org/standards-dataspace-protocol";
|
|
3
3
|
import type { IDataspaceAppDataset } from "./IDataspaceAppDataset.js";
|
|
4
4
|
import type { INegotiationCallback } from "./INegotiationCallback.js";
|
|
5
5
|
import type { ITransferCallback } from "./ITransferCallback.js";
|
|
6
|
+
import type { ITransferQueryResult } from "./ITransferQueryResult.js";
|
|
6
7
|
/**
|
|
7
8
|
* Dataspace Control Plane Component interface.
|
|
8
9
|
* Implements Eclipse Dataspace Protocol (DSP) specifications:
|
|
@@ -40,7 +41,7 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
|
|
|
40
41
|
* notified via the registered INegotiationCallback when the negotiation completes.
|
|
41
42
|
* The negotiation follows DSP state machine: REQUESTED → OFFERED → AGREED → VERIFIED → FINALIZED.
|
|
42
43
|
*
|
|
43
|
-
* The REST client does not support this method and throws a not supported error
|
|
44
|
+
* The REST client does not support this method and throws a not supported error -
|
|
44
45
|
* use ComponentFactory.get() for the in-process service.
|
|
45
46
|
*
|
|
46
47
|
* DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#negotiation-protocol
|
|
@@ -98,7 +99,7 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
|
|
|
98
99
|
* consumer-initiated transfer changes state (STARTED, COMPLETED, SUSPENDED,
|
|
99
100
|
* TERMINATED).
|
|
100
101
|
*
|
|
101
|
-
* The REST client does not support this method and throws a not supported error
|
|
102
|
+
* The REST client does not support this method and throws a not supported error -
|
|
102
103
|
* use ComponentFactory.get() for the in-process service.
|
|
103
104
|
* @param key A unique key identifying this callback registration.
|
|
104
105
|
* @param callback The callback interface to register.
|
|
@@ -123,7 +124,7 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
|
|
|
123
124
|
* via the registered ITransferCallback. The transfer moves to STARTED when the
|
|
124
125
|
* provider POSTs a TransferStartMessage back to this node's callback address.
|
|
125
126
|
*
|
|
126
|
-
* The REST client does not support this method and throws a not supported error
|
|
127
|
+
* The REST client does not support this method and throws a not supported error -
|
|
127
128
|
* use ComponentFactory.get() for the in-process service.
|
|
128
129
|
*
|
|
129
130
|
* @param agreementId The finalized agreement ID (from contract negotiation).
|
|
@@ -245,6 +246,25 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
|
|
|
245
246
|
* @returns Transfer Process (DSP compliant) with current state, or TransferError if the operation fails.
|
|
246
247
|
*/
|
|
247
248
|
getTransferProcess(pid: string, trustPayload: unknown): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;
|
|
249
|
+
/**
|
|
250
|
+
* Query Transfer Processes by agreement id.
|
|
251
|
+
* Lets a caller check whether transfers already exist for an agreement
|
|
252
|
+
* (e.g. before initiating a new one) without knowing any process ids.
|
|
253
|
+
*
|
|
254
|
+
* Role Performed: Consumer / Provider
|
|
255
|
+
* Called by: Consumer orchestration before requesting a new transfer, or either
|
|
256
|
+
* party inspecting the transfers attached to an agreement on their side.
|
|
257
|
+
*
|
|
258
|
+
* Results are limited to transfers where the authenticated caller is a party
|
|
259
|
+
* (consumer or provider identity). A returned dataAddress is a point-in-time copy;
|
|
260
|
+
* if its token has expired the data plane rejects it and a new start is required.
|
|
261
|
+
* @param agreementId The agreement id to look up transfer processes for.
|
|
262
|
+
* @param state Optional filter to a single transfer process state.
|
|
263
|
+
* @param cursor Optional pagination cursor from a previous result page.
|
|
264
|
+
* @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).
|
|
265
|
+
* @returns The matching transfer processes and a pagination cursor when more pages exist, empty when none match.
|
|
266
|
+
*/
|
|
267
|
+
queryDataTransfer(agreementId: string, state: DataspaceProtocolTransferProcessStateType | undefined, cursor: string | undefined, trustPayload: unknown): Promise<ITransferQueryResult>;
|
|
248
268
|
/**
|
|
249
269
|
* Register an app dataset for a dataspace app, owned by the calling tenant.
|
|
250
270
|
* @param id Optional explicit id. If omitted, derived from `dataset["@id"]`
|
|
@@ -252,9 +272,14 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
|
|
|
252
272
|
* @param appId The dataspace app this dataset belongs to (matches
|
|
253
273
|
* `DataspaceAppFactory` registration name).
|
|
254
274
|
* @param dataset The dataset payload (may omit system-stamped fields).
|
|
275
|
+
* @param options Optional dataset settings.
|
|
276
|
+
* @param options.transferIdleTimeoutMs Optional idle window (ms) overriding the node-level idle
|
|
277
|
+
* policy for this dataset's PULL transfers; 0 disables it for this dataset.
|
|
255
278
|
* @returns The resolved dataset id.
|
|
256
279
|
*/
|
|
257
|
-
createAppDataset(id: string | undefined, appId: string, dataset: IDataspaceProtocolDataset
|
|
280
|
+
createAppDataset(id: string | undefined, appId: string, dataset: IDataspaceProtocolDataset, options?: {
|
|
281
|
+
transferIdleTimeoutMs?: number;
|
|
282
|
+
}): Promise<string>;
|
|
258
283
|
/**
|
|
259
284
|
* Get an app dataset record owned by the calling tenant.
|
|
260
285
|
* @param id The stored app dataset id.
|
|
@@ -276,9 +301,14 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
|
|
|
276
301
|
* @param id The stored app dataset id.
|
|
277
302
|
* @param appId The dataspace app this dataset belongs to.
|
|
278
303
|
* @param dataset The dataset payload.
|
|
304
|
+
* @param options Optional dataset settings.
|
|
305
|
+
* @param options.transferIdleTimeoutMs Optional idle window (ms) overriding the node-level idle
|
|
306
|
+
* policy for this dataset's PULL transfers; 0 disables it for this dataset.
|
|
279
307
|
* @returns A promise that resolves when the dataset has been updated in storage and the catalogue.
|
|
280
308
|
*/
|
|
281
|
-
updateAppDataset(id: string, appId: string, dataset: IDataspaceProtocolDataset
|
|
309
|
+
updateAppDataset(id: string, appId: string, dataset: IDataspaceProtocolDataset, options?: {
|
|
310
|
+
transferIdleTimeoutMs?: number;
|
|
311
|
+
}): Promise<void>;
|
|
282
312
|
/**
|
|
283
313
|
* Delete an app dataset record owned by the calling tenant.
|
|
284
314
|
* @param id The stored app dataset id.
|
|
@@ -49,9 +49,9 @@ export interface ITransferCallback {
|
|
|
49
49
|
*/
|
|
50
50
|
onFailed?(consumerPid: string, reason: string): Promise<void>;
|
|
51
51
|
/**
|
|
52
|
-
* Called when the transfer times out
|
|
53
|
-
*
|
|
54
|
-
*
|
|
52
|
+
* Called when the transfer times out: a consumer-side REQUESTED transfer the provider never
|
|
53
|
+
* progressed, or a provider-side STARTED transfer idle beyond the configured window. Optional:
|
|
54
|
+
* otherwise the control plane falls back to `onFailed` with the timeout reason.
|
|
55
55
|
* @param consumerPid The consumer-side process ID.
|
|
56
56
|
* @returns Nothing.
|
|
57
57
|
*/
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { IRightsManagementPolicy } from "@twin.org/rights-management-models";
|
|
2
1
|
import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolDataAddress } from "@twin.org/standards-dataspace-protocol";
|
|
3
2
|
import type { TransferProcessRole } from "./transferProcessRole.js";
|
|
4
3
|
/**
|
|
@@ -28,7 +27,6 @@ export interface ITransferProcess {
|
|
|
28
27
|
state: DataspaceProtocolTransferProcessStateType;
|
|
29
28
|
/**
|
|
30
29
|
* Agreement ID linking to the rights-management Agreement.
|
|
31
|
-
* Used to resolve policies and permissions.
|
|
32
30
|
*/
|
|
33
31
|
agreementId: string;
|
|
34
32
|
/**
|
|
@@ -40,11 +38,6 @@ export interface ITransferProcess {
|
|
|
40
38
|
* Offer ID from the original Catalog offer.
|
|
41
39
|
*/
|
|
42
40
|
offerId: string;
|
|
43
|
-
/**
|
|
44
|
-
* Policies from the Agreement.
|
|
45
|
-
* Used by DSC for runtime policy enforcement.
|
|
46
|
-
*/
|
|
47
|
-
policies?: IRightsManagementPolicy[];
|
|
48
41
|
/**
|
|
49
42
|
* Consumer identity (DID or URI).
|
|
50
43
|
* Used for auditing and access control.
|
|
@@ -76,10 +69,8 @@ export interface ITransferProcess {
|
|
|
76
69
|
*/
|
|
77
70
|
format?: string;
|
|
78
71
|
/**
|
|
79
|
-
* Data address for consumer
|
|
80
|
-
*
|
|
81
|
-
* Absent for PULL (HttpData-PULL) and provider-initiated push (HttpData-POST),
|
|
82
|
-
* where the consumer deliberately omits a dataAddress.
|
|
72
|
+
* Data address for the transfer: the consumer's inbox for PUSH, or the
|
|
73
|
+
* provider-built address persisted at start for PULL/POST; may expire while STARTED.
|
|
83
74
|
*/
|
|
84
75
|
dataAddress?: IDataspaceProtocolDataAddress;
|
|
85
76
|
/**
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ITransferProcess } from "./ITransferProcess.js";
|
|
2
|
+
/**
|
|
3
|
+
* Result of querying Transfer Processes by agreement.
|
|
4
|
+
*/
|
|
5
|
+
export interface ITransferQueryResult {
|
|
6
|
+
/**
|
|
7
|
+
* The transfer processes matching the query, empty when none match.
|
|
8
|
+
*/
|
|
9
|
+
transfers: ITransferProcess[];
|
|
10
|
+
/**
|
|
11
|
+
* Pagination cursor for retrieving the next page, omitted when no more results exist.
|
|
12
|
+
*/
|
|
13
|
+
cursor?: string;
|
|
14
|
+
}
|
|
@@ -42,6 +42,10 @@ export declare const DataspaceControlPlaneMetricIds: {
|
|
|
42
42
|
* Number of app datasets deleted.
|
|
43
43
|
*/
|
|
44
44
|
readonly AppDatasetsDeleted: "dcp_app_datasets_deleted";
|
|
45
|
+
/**
|
|
46
|
+
* Number of agreements removed by the agreement sweep.
|
|
47
|
+
*/
|
|
48
|
+
readonly AgreementsSwept: "dcp_agreements_swept";
|
|
45
49
|
};
|
|
46
50
|
/**
|
|
47
51
|
* Metric IDs for the dataspace control plane service.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Machine-readable codes set on provider-initiated TransferTerminationMessages
|
|
3
|
+
* by the control plane's transfer lifecycle policies.
|
|
4
|
+
*/
|
|
5
|
+
export declare const TransferTerminationCode: {
|
|
6
|
+
/**
|
|
7
|
+
* A Provider-side STARTED transfer had no data-plane activity within the configured idle window.
|
|
8
|
+
*/
|
|
9
|
+
readonly IdleTimeout: "idleTimeout";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Type for TransferTerminationCode values.
|
|
13
|
+
*/
|
|
14
|
+
export type TransferTerminationCode = (typeof TransferTerminationCode)[keyof typeof TransferTerminationCode];
|
|
@@ -37,7 +37,7 @@ export interface IDataspaceDataPlaneComponent extends IComponent {
|
|
|
37
37
|
* @param trustPayload Trust payload to verify the requester's identity.
|
|
38
38
|
* @returns the Activity Log Entry with the processing details.
|
|
39
39
|
* @throws NotFoundError if activity log entry is not known.
|
|
40
|
-
* @throws UnauthorizedError if trustPayload is absent or the verified identity is not the entry
|
|
40
|
+
* @throws UnauthorizedError if trustPayload is absent or the verified identity is not authorised for the entry.
|
|
41
41
|
*/
|
|
42
42
|
getActivityLogEntry(logEntryId: string, trustPayload?: unknown): Promise<IActivityLogEntry>;
|
|
43
43
|
/**
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,115 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.2-next.10](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.9...dataspace-models-v0.9.2-next.10) (2026-08-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add unused agreement sweep to the control plane ([#344](https://github.com/iotaledger/twin-dataspace/issues/344)) ([8633642](https://github.com/iotaledger/twin-dataspace/commit/86336424ced7aeab3259c78373447074f4140e90))
|
|
9
|
+
|
|
10
|
+
## [0.9.2-next.9](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.8...dataspace-models-v0.9.2-next.9) (2026-08-13)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* get activity log auth ([#343](https://github.com/iotaledger/twin-dataspace/issues/343)) ([9514679](https://github.com/iotaledger/twin-dataspace/commit/95146790ccf7b54fd5dce923af64fdaa607ca555))
|
|
16
|
+
|
|
17
|
+
## [0.9.2-next.8](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.7...dataspace-models-v0.9.2-next.8) (2026-08-11)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* transfer process remove inline agreement ([#340](https://github.com/iotaledger/twin-dataspace/issues/340)) ([332eaf6](https://github.com/iotaledger/twin-dataspace/commit/332eaf67e5cf0b13545d013d107658b232ae32ff))
|
|
23
|
+
|
|
24
|
+
## [0.9.2-next.7](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.6...dataspace-models-v0.9.2-next.7) (2026-08-10)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Miscellaneous Chores
|
|
28
|
+
|
|
29
|
+
* **dataspace-models:** Synchronize repo versions
|
|
30
|
+
|
|
31
|
+
## [0.9.2-next.6](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.5...dataspace-models-v0.9.2-next.6) (2026-08-10)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Miscellaneous Chores
|
|
35
|
+
|
|
36
|
+
* **dataspace-models:** Synchronize repo versions
|
|
37
|
+
|
|
38
|
+
## [0.9.2-next.5](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.4...dataspace-models-v0.9.2-next.5) (2026-08-07)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Features
|
|
42
|
+
|
|
43
|
+
* linting and dependency update ([adf8ee0](https://github.com/iotaledger/twin-dataspace/commit/adf8ee04f657f22fb051978591749a4cf19d67a1))
|
|
44
|
+
|
|
45
|
+
## [0.9.2-next.4](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.3...dataspace-models-v0.9.2-next.4) (2026-08-03)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Miscellaneous Chores
|
|
49
|
+
|
|
50
|
+
* **dataspace-models:** Synchronize repo versions
|
|
51
|
+
|
|
52
|
+
## [0.9.2-next.3](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.2...dataspace-models-v0.9.2-next.3) (2026-07-31)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### Bug Fixes
|
|
56
|
+
|
|
57
|
+
* keep one TransferProcess record per role in self transfers ([#321](https://github.com/iotaledger/twin-dataspace/issues/321)) ([91ccc87](https://github.com/iotaledger/twin-dataspace/commit/91ccc87e47d94c6a015e3f974f0dd4cf680c4603))
|
|
58
|
+
|
|
59
|
+
## [0.9.2-next.2](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.1...dataspace-models-v0.9.2-next.2) (2026-07-30)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Miscellaneous Chores
|
|
63
|
+
|
|
64
|
+
* **dataspace-models:** Synchronize repo versions
|
|
65
|
+
|
|
66
|
+
## [0.9.2-next.1](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.0...dataspace-models-v0.9.2-next.1) (2026-07-28)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
### Features
|
|
70
|
+
|
|
71
|
+
* 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))
|
|
72
|
+
* add dataspace transfer format ([#111](https://github.com/iotaledger/twin-dataspace/issues/111)) ([f59ff5e](https://github.com/iotaledger/twin-dataspace/commit/f59ff5ef10d261d1cebbf5c6bb0689e74a10738a))
|
|
73
|
+
* add inline tasks and concurrent options ([#104](https://github.com/iotaledger/twin-dataspace/issues/104)) ([2227a21](https://github.com/iotaledger/twin-dataspace/commit/2227a212d906f58ba77850c79bb20bf2cb7195a8))
|
|
74
|
+
* 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))
|
|
75
|
+
* 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))
|
|
76
|
+
* add well known versions endpoint ([#251](https://github.com/iotaledger/twin-dataspace/issues/251)) ([4b4cbe9](https://github.com/iotaledger/twin-dataspace/commit/4b4cbe91a40980481dad6e0650c1ee73c53ae360))
|
|
77
|
+
* align all config times to ms ([40238d5](https://github.com/iotaledger/twin-dataspace/commit/40238d59a2b45caedc01792b682ce7206815dfd1))
|
|
78
|
+
* 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))
|
|
79
|
+
* docs update ([8b44c7a](https://github.com/iotaledger/twin-dataspace/commit/8b44c7a75afb8d377a6f606616f8a78d58439ab4))
|
|
80
|
+
* endpoint encryption + getDatasetTargets multi-target fix ([#112](https://github.com/iotaledger/twin-dataspace/issues/112)) ([3288941](https://github.com/iotaledger/twin-dataspace/commit/328894113c19c7402f7d00dfa77b6a97ae40ca91))
|
|
81
|
+
* get activity log add trust payload ([#201](https://github.com/iotaledger/twin-dataspace/issues/201)) ([cdb5486](https://github.com/iotaledger/twin-dataspace/commit/cdb5486942c1b94ddf6435236b9b9d190bea0407))
|
|
82
|
+
* implement DSP push transfer mode ([#109](https://github.com/iotaledger/twin-dataspace/issues/109)) ([71f5fee](https://github.com/iotaledger/twin-dataspace/commit/71f5feec1d92dfec8ed6899c951809818e1bf2a3))
|
|
83
|
+
* improve error handling and component usage ([544e20e](https://github.com/iotaledger/twin-dataspace/commit/544e20e640d6f09266942bfc698aead6227a7769))
|
|
84
|
+
* improve open-api examples ([1368dbe](https://github.com/iotaledger/twin-dataspace/commit/1368dbed5c36e074b4854942304a19b9ce51e088))
|
|
85
|
+
* improve validation ([#82](https://github.com/iotaledger/twin-dataspace/issues/82)) ([8bfaf7b](https://github.com/iotaledger/twin-dataspace/commit/8bfaf7b830f89b63575f8a51ee96bd8ac4da02f4))
|
|
86
|
+
* organization identifiers ([#188](https://github.com/iotaledger/twin-dataspace/issues/188)) ([af643d3](https://github.com/iotaledger/twin-dataspace/commit/af643d3bb7f212d6cbb672e362a9e1bbe886d1a5))
|
|
87
|
+
* provider-side idle lifecycle policy for STARTED data transfers ([#284](https://github.com/iotaledger/twin-dataspace/issues/284)) ([a9312ef](https://github.com/iotaledger/twin-dataspace/commit/a9312ef7573a92805c99cb2a314e8b289a6ab195))
|
|
88
|
+
* 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))
|
|
89
|
+
* query existing data transfers by agreement to avoid duplicate preparations ([#289](https://github.com/iotaledger/twin-dataspace/issues/289)) ([53fe251](https://github.com/iotaledger/twin-dataspace/commit/53fe2516b2287b6b6a7a6ca6fc6063ea4a446cf0))
|
|
90
|
+
* remove datasetsHandled method from apps ([9fdc950](https://github.com/iotaledger/twin-dataspace/commit/9fdc95018d38ab49c4a1094642be2ee83ee0e4cd))
|
|
91
|
+
* remove hosting component ([#209](https://github.com/iotaledger/twin-dataspace/issues/209)) ([5e19328](https://github.com/iotaledger/twin-dataspace/commit/5e1932823aa8a0f88f559f096610b9df1f3b8615))
|
|
92
|
+
* rename completed callback ([#147](https://github.com/iotaledger/twin-dataspace/issues/147)) ([f62baad](https://github.com/iotaledger/twin-dataspace/commit/f62baad0ff444e2913439b12dcd06d20c9a4f6a4))
|
|
93
|
+
* 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))
|
|
94
|
+
* shortcut implicit trust ([#215](https://github.com/iotaledger/twin-dataspace/issues/215)) ([f9bcfea](https://github.com/iotaledger/twin-dataspace/commit/f9bcfeab8f069b62017502833c108b4ee3791414))
|
|
95
|
+
* types update ([77c338e](https://github.com/iotaledger/twin-dataspace/commit/77c338e9244dcc7e3d597fdb06229513b1f13eac))
|
|
96
|
+
* typescript 6 update ([340f10e](https://github.com/iotaledger/twin-dataspace/commit/340f10e4767f6285c694938944f7e044474f9aaa))
|
|
97
|
+
* 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))
|
|
98
|
+
* update DataspaceTransferFormat names ([2c9d424](https://github.com/iotaledger/twin-dataspace/commit/2c9d424a07b97346faa2124048c4675514d58109))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
### Bug Fixes
|
|
102
|
+
|
|
103
|
+
* always verify trust in notifyActivity, no internal by ([#192](https://github.com/iotaledger/twin-dataspace/issues/192)) ([2cfc160](https://github.com/iotaledger/twin-dataspace/commit/2cfc16082a7c9d417f0b05f90f123e40f47d1e05))
|
|
104
|
+
* avoid compaction of incoming activities ([#77](https://github.com/iotaledger/twin-dataspace/issues/77)) ([ff43d6a](https://github.com/iotaledger/twin-dataspace/commit/ff43d6a3e1563eb9cb185501134b2a53ae88787c))
|
|
105
|
+
* docs ([652f4f2](https://github.com/iotaledger/twin-dataspace/commit/652f4f2fec8601bb3772e054b2c823f599ef68dc))
|
|
106
|
+
* filtering query optional q ([#248](https://github.com/iotaledger/twin-dataspace/issues/248)) ([e9e8ff1](https://github.com/iotaledger/twin-dataspace/commit/e9e8ff1e1bb3b93f0960260c21a46d6f58dbfaa2))
|
|
107
|
+
* implement missing trust check on negotiateAgreement ([#136](https://github.com/iotaledger/twin-dataspace/issues/136)) ([a3589c2](https://github.com/iotaledger/twin-dataspace/commit/a3589c279476d5450b68ea7c2790be7e3125bfe2))
|
|
108
|
+
* missing dependencies ([54e9e9c](https://github.com/iotaledger/twin-dataspace/commit/54e9e9c474b61cce3b9a82f9ccec27c7f8133382))
|
|
109
|
+
* retain cursor after pep enforcement ([#296](https://github.com/iotaledger/twin-dataspace/issues/296)) ([5198cd2](https://github.com/iotaledger/twin-dataspace/commit/5198cd29505ceffa532fa4fa18c97a5c8e78f663))
|
|
110
|
+
* return 422/500 when inline activity processing fails ([#135](https://github.com/iotaledger/twin-dataspace/issues/135)) ([8635187](https://github.com/iotaledger/twin-dataspace/commit/863518724cb90af15edc5f456d9a93c6cad7d661))
|
|
111
|
+
* throw not supported error for in-process only control plane methods ([#185](https://github.com/iotaledger/twin-dataspace/issues/185)) ([130f00a](https://github.com/iotaledger/twin-dataspace/commit/130f00a87412b34defde891855bee7aa3ac34130))
|
|
112
|
+
|
|
3
113
|
## [0.9.1](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.1...dataspace-models-v0.9.1) (2026-07-27)
|
|
4
114
|
|
|
5
115
|
|
|
@@ -35,7 +35,7 @@ The identity of the organization that owns this entity.
|
|
|
35
35
|
> `optional` **tenantId?**: `string`
|
|
36
36
|
|
|
37
37
|
The tenant that owns this dataset, captured from the request context at
|
|
38
|
-
write time. Optional
|
|
38
|
+
write time. Optional - single-tenant nodes (no `TWIN_TENANT_ENABLED`)
|
|
39
39
|
register datasets without a tenant context.
|
|
40
40
|
|
|
41
41
|
***
|
|
@@ -62,6 +62,15 @@ opaque object and validated/populated at publish time.
|
|
|
62
62
|
|
|
63
63
|
***
|
|
64
64
|
|
|
65
|
+
### transferIdleTimeoutMs? {#transferidletimeoutms}
|
|
66
|
+
|
|
67
|
+
> `optional` **transferIdleTimeoutMs?**: `number`
|
|
68
|
+
|
|
69
|
+
Idle window (ms) for this dataset's PULL transfers, overriding the node-level
|
|
70
|
+
providerTransferIdleTimeoutMs; 0 disables the idle policy for this dataset.
|
|
71
|
+
|
|
72
|
+
***
|
|
73
|
+
|
|
65
74
|
### dateCreated {#datecreated}
|
|
66
75
|
|
|
67
76
|
> **dateCreated**: `string`
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Class: DataspaceAppDatasetV0
|
|
2
|
+
|
|
3
|
+
Tenant-supplied Dataset shape persisted by the Control Plane, version 0.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new DataspaceAppDatasetV0**(): `DataspaceAppDatasetV0`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`DataspaceAppDatasetV0`
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
### id {#id}
|
|
18
|
+
|
|
19
|
+
> **id**: `string`
|
|
20
|
+
|
|
21
|
+
The unique identifier for the dataset.
|
|
22
|
+
|
|
23
|
+
***
|
|
24
|
+
|
|
25
|
+
### organizationIdentity {#organizationidentity}
|
|
26
|
+
|
|
27
|
+
> **organizationIdentity**: `string`
|
|
28
|
+
|
|
29
|
+
The identity of the organization that owns this entity.
|
|
30
|
+
|
|
31
|
+
***
|
|
32
|
+
|
|
33
|
+
### tenantId? {#tenantid}
|
|
34
|
+
|
|
35
|
+
> `optional` **tenantId?**: `string`
|
|
36
|
+
|
|
37
|
+
The tenant that owns this dataset, captured from the request context at
|
|
38
|
+
write time. Optional - single-tenant nodes (no `TWIN_TENANT_ENABLED`)
|
|
39
|
+
register datasets without a tenant context.
|
|
40
|
+
|
|
41
|
+
***
|
|
42
|
+
|
|
43
|
+
### appId {#appid}
|
|
44
|
+
|
|
45
|
+
> **appId**: `string`
|
|
46
|
+
|
|
47
|
+
The dataspace app that this dataset belongs to. Matches the app's
|
|
48
|
+
registered name in `DataspaceAppFactory` (typically the app's URI).
|
|
49
|
+
|
|
50
|
+
***
|
|
51
|
+
|
|
52
|
+
### dataset {#dataset}
|
|
53
|
+
|
|
54
|
+
> **dataset**: `object`
|
|
55
|
+
|
|
56
|
+
The user-controlled JSON-LD dataset payload. Stored as an
|
|
57
|
+
opaque object and validated/populated at publish time.
|
|
58
|
+
|
|
59
|
+
#### Index Signature
|
|
60
|
+
|
|
61
|
+
\[`key`: `string`\]: `unknown`
|
|
62
|
+
|
|
63
|
+
***
|
|
64
|
+
|
|
65
|
+
### dateCreated {#datecreated}
|
|
66
|
+
|
|
67
|
+
> **dateCreated**: `string`
|
|
68
|
+
|
|
69
|
+
Creation timestamp (ISO string format).
|
|
70
|
+
|
|
71
|
+
***
|
|
72
|
+
|
|
73
|
+
### dateModified {#datemodified}
|
|
74
|
+
|
|
75
|
+
> **dateModified**: `string`
|
|
76
|
+
|
|
77
|
+
Last update timestamp (ISO string format).
|
|
@@ -15,20 +15,21 @@ This entity is the persistent representation of ITransferProcess.
|
|
|
15
15
|
|
|
16
16
|
## Properties
|
|
17
17
|
|
|
18
|
-
###
|
|
18
|
+
### id {#id}
|
|
19
19
|
|
|
20
|
-
> **
|
|
20
|
+
> **id**: `string`
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
Internal id, the primary key. Both role records of a self transfer share consumerPid and
|
|
23
|
+
providerPid, so only the internal id is collision-free within one partition.
|
|
24
24
|
|
|
25
25
|
***
|
|
26
26
|
|
|
27
|
-
###
|
|
27
|
+
### consumerPid {#consumerpid}
|
|
28
28
|
|
|
29
|
-
> **
|
|
29
|
+
> **consumerPid**: `string`
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
Consumer Process ID from the DSP protocol.
|
|
32
|
+
Indexed for lookup by consumerPid.
|
|
32
33
|
|
|
33
34
|
***
|
|
34
35
|
|
|
@@ -95,8 +96,8 @@ Provider identity (DID or URI).
|
|
|
95
96
|
> `optional` **localRole?**: [`TransferProcessRole`](../type-aliases/TransferProcessRole.md)
|
|
96
97
|
|
|
97
98
|
This node's role in the transfer, captured at write time so state transitions and async delivery
|
|
98
|
-
can tell which party we are without inferring it from the matched PID (
|
|
99
|
-
|
|
99
|
+
can tell which party we are without inferring it from the matched PID (a self transfer stores two
|
|
100
|
+
records sharing both pids). Optional for back-compat with records written before this field existed.
|
|
100
101
|
|
|
101
102
|
***
|
|
102
103
|
|
|
@@ -140,16 +141,9 @@ Last update timestamp (ISO string format).
|
|
|
140
141
|
|
|
141
142
|
***
|
|
142
143
|
|
|
143
|
-
### policies? {#policies}
|
|
144
|
-
|
|
145
|
-
> `optional` **policies?**: `IRightsManagementPolicy`[]
|
|
146
|
-
|
|
147
|
-
Policies from the Agreement (stored as JSON).
|
|
148
|
-
|
|
149
|
-
***
|
|
150
|
-
|
|
151
144
|
### dataAddress? {#dataaddress}
|
|
152
145
|
|
|
153
146
|
> `optional` **dataAddress?**: `IDataspaceProtocolDataAddress`
|
|
154
147
|
|
|
155
|
-
Data address for
|
|
148
|
+
Data address for the transfer (stored as JSON): the consumer's inbox for PUSH, or the
|
|
149
|
+
provider-built address persisted at start for PULL/POST; may expire while STARTED.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Class: TransferProcessV0
|
|
2
|
+
|
|
3
|
+
Transfer Process for shared storage between Control Plane and Data Plane, version 0.
|
|
4
|
+
Keyed on consumerPid; superseded by the version keyed on the internal id.
|
|
5
|
+
|
|
6
|
+
## Constructors
|
|
7
|
+
|
|
8
|
+
### Constructor
|
|
9
|
+
|
|
10
|
+
> **new TransferProcessV0**(): `TransferProcessV0`
|
|
11
|
+
|
|
12
|
+
#### Returns
|
|
13
|
+
|
|
14
|
+
`TransferProcessV0`
|
|
15
|
+
|
|
16
|
+
## Properties
|
|
17
|
+
|
|
18
|
+
### consumerPid {#consumerpid}
|
|
19
|
+
|
|
20
|
+
> **consumerPid**: `string`
|
|
21
|
+
|
|
22
|
+
The consumer PID is the primary key.
|
|
23
|
+
Used for direct lookup by consumerPid.
|
|
24
|
+
|
|
25
|
+
***
|
|
26
|
+
|
|
27
|
+
### id {#id}
|
|
28
|
+
|
|
29
|
+
> **id**: `string`
|
|
30
|
+
|
|
31
|
+
Internal UUID for storage (secondary key for providerPid lookup).
|
|
32
|
+
|
|
33
|
+
***
|
|
34
|
+
|
|
35
|
+
### providerPid {#providerpid}
|
|
36
|
+
|
|
37
|
+
> **providerPid**: `string`
|
|
38
|
+
|
|
39
|
+
Provider Process ID from the DSP protocol.
|
|
40
|
+
Indexed for lookup by providerPid.
|
|
41
|
+
|
|
42
|
+
***
|
|
43
|
+
|
|
44
|
+
### agreementId {#agreementid}
|
|
45
|
+
|
|
46
|
+
> **agreementId**: `string`
|
|
47
|
+
|
|
48
|
+
Agreement ID linking to the rights-management Agreement.
|
|
49
|
+
|
|
50
|
+
***
|
|
51
|
+
|
|
52
|
+
### state {#state}
|
|
53
|
+
|
|
54
|
+
> **state**: `DataspaceProtocolTransferProcessStateType`
|
|
55
|
+
|
|
56
|
+
Transfer Process state from the DSP protocol.
|
|
57
|
+
One of: REQUESTED, STARTED, COMPLETED, SUSPENDED, TERMINATED.
|
|
58
|
+
|
|
59
|
+
***
|
|
60
|
+
|
|
61
|
+
### datasetId {#datasetid}
|
|
62
|
+
|
|
63
|
+
> **datasetId**: `string`
|
|
64
|
+
|
|
65
|
+
Dataset ID for DSC resolution.
|
|
66
|
+
|
|
67
|
+
***
|
|
68
|
+
|
|
69
|
+
### offerId {#offerid}
|
|
70
|
+
|
|
71
|
+
> **offerId**: `string`
|
|
72
|
+
|
|
73
|
+
Offer ID from the original Catalog offer.
|
|
74
|
+
|
|
75
|
+
***
|
|
76
|
+
|
|
77
|
+
### consumerIdentity? {#consumeridentity}
|
|
78
|
+
|
|
79
|
+
> `optional` **consumerIdentity?**: `string`
|
|
80
|
+
|
|
81
|
+
Consumer identity (DID or URI).
|
|
82
|
+
|
|
83
|
+
***
|
|
84
|
+
|
|
85
|
+
### providerIdentity? {#provideridentity}
|
|
86
|
+
|
|
87
|
+
> `optional` **providerIdentity?**: `string`
|
|
88
|
+
|
|
89
|
+
Provider identity (DID or URI).
|
|
90
|
+
|
|
91
|
+
***
|
|
92
|
+
|
|
93
|
+
### localRole? {#localrole}
|
|
94
|
+
|
|
95
|
+
> `optional` **localRole?**: [`TransferProcessRole`](../type-aliases/TransferProcessRole.md)
|
|
96
|
+
|
|
97
|
+
This node's role in the transfer, captured at write time so state transitions and async delivery
|
|
98
|
+
can tell which party we are without inferring it from the matched PID (consumerPid is the primary
|
|
99
|
+
key on both nodes). Optional for back-compat with records written before this field existed.
|
|
100
|
+
|
|
101
|
+
***
|
|
102
|
+
|
|
103
|
+
### format? {#format}
|
|
104
|
+
|
|
105
|
+
> `optional` **format?**: `string`
|
|
106
|
+
|
|
107
|
+
Data format from the Dataset Distribution.
|
|
108
|
+
|
|
109
|
+
***
|
|
110
|
+
|
|
111
|
+
### callbackAddress? {#callbackaddress}
|
|
112
|
+
|
|
113
|
+
> `optional` **callbackAddress?**: `string`
|
|
114
|
+
|
|
115
|
+
Callback address for Consumer notifications.
|
|
116
|
+
|
|
117
|
+
***
|
|
118
|
+
|
|
119
|
+
### organizationIdentity {#organizationidentity}
|
|
120
|
+
|
|
121
|
+
> **organizationIdentity**: `string`
|
|
122
|
+
|
|
123
|
+
The organization that owns this transfer process, captured from the request context at write time.
|
|
124
|
+
|
|
125
|
+
***
|
|
126
|
+
|
|
127
|
+
### dateCreated {#datecreated}
|
|
128
|
+
|
|
129
|
+
> **dateCreated**: `string`
|
|
130
|
+
|
|
131
|
+
Creation timestamp (ISO string format).
|
|
132
|
+
|
|
133
|
+
***
|
|
134
|
+
|
|
135
|
+
### dateModified {#datemodified}
|
|
136
|
+
|
|
137
|
+
> **dateModified**: `string`
|
|
138
|
+
|
|
139
|
+
Last update timestamp (ISO string format).
|
|
140
|
+
|
|
141
|
+
***
|
|
142
|
+
|
|
143
|
+
### policies? {#policies}
|
|
144
|
+
|
|
145
|
+
> `optional` **policies?**: `IRightsManagementPolicy`[]
|
|
146
|
+
|
|
147
|
+
Policies from the Agreement (stored as JSON).
|
|
148
|
+
|
|
149
|
+
***
|
|
150
|
+
|
|
151
|
+
### dataAddress? {#dataaddress}
|
|
152
|
+
|
|
153
|
+
> `optional` **dataAddress?**: `IDataspaceProtocolDataAddress`
|
|
154
|
+
|
|
155
|
+
Data address for the transfer (stored as JSON): the consumer's inbox for PUSH, or the
|
|
156
|
+
provider-built address persisted at start for PULL/POST; may expire while STARTED.
|