@twin.org/dataspace-models 0.0.3-next.42 → 0.0.3-next.43
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 +4 -5
- package/dist/es/entities/dataspaceAppDataset.js.map +1 -1
- package/dist/es/entities/transferProcess.js +4 -7
- package/dist/es/entities/transferProcess.js.map +1 -1
- package/dist/es/models/app/IDataspaceApp.js.map +1 -1
- package/dist/es/models/controlPlane/ITransferProcess.js.map +1 -1
- package/dist/types/entities/dataspaceAppDataset.d.ts +3 -4
- package/dist/types/entities/transferProcess.d.ts +2 -5
- package/dist/types/models/app/IDataspaceApp.d.ts +1 -3
- package/dist/types/models/controlPlane/ITransferProcess.d.ts +3 -4
- package/docs/changelog.md +7 -0
- package/docs/reference/classes/DataspaceAppDataset.md +4 -5
- package/docs/reference/classes/TransferProcess.md +3 -6
- package/docs/reference/interfaces/IDataspaceApp.md +1 -8
- package/docs/reference/interfaces/ITransferProcess.md +4 -5
- package/package.json +1 -1
|
@@ -10,14 +10,13 @@ let DataspaceAppDataset = class DataspaceAppDataset {
|
|
|
10
10
|
*/
|
|
11
11
|
id;
|
|
12
12
|
/**
|
|
13
|
-
* The identity of the
|
|
13
|
+
* The identity of the organization that owns this entity.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
organizationIdentity;
|
|
16
16
|
/**
|
|
17
17
|
* The tenant that owns this dataset, captured from the request context at
|
|
18
18
|
* write time. Optional — single-tenant nodes (no `TWIN_TENANT_ENABLED`)
|
|
19
|
-
* register datasets without a tenant context
|
|
20
|
-
* the dataset with no `tenantId` and URL-baking is skipped.
|
|
19
|
+
* register datasets without a tenant context.
|
|
21
20
|
*/
|
|
22
21
|
tenantId;
|
|
23
22
|
/**
|
|
@@ -48,7 +47,7 @@ __decorate([
|
|
|
48
47
|
__decorate([
|
|
49
48
|
property({ type: "string", isSecondary: true }),
|
|
50
49
|
__metadata("design:type", String)
|
|
51
|
-
], DataspaceAppDataset.prototype, "
|
|
50
|
+
], DataspaceAppDataset.prototype, "organizationIdentity", void 0);
|
|
52
51
|
__decorate([
|
|
53
52
|
property({ type: "string", optional: true }),
|
|
54
53
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataspaceAppDataset.js","sourceRoot":"","sources":["../../../src/entities/dataspaceAppDataset.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;GAEG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B;;OAEG;IAEI,EAAE,CAAU;IAEnB;;OAEG;IAEI,
|
|
1
|
+
{"version":3,"file":"dataspaceAppDataset.js","sourceRoot":"","sources":["../../../src/entities/dataspaceAppDataset.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;GAEG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B;;OAEG;IAEI,EAAE,CAAU;IAEnB;;OAEG;IAEI,oBAAoB,CAAU;IAErC;;;;OAIG;IAEI,QAAQ,CAAU;IAEzB;;;;;OAKG;IAEI,KAAK,CAAU;IAEtB;;;OAGG;IAEI,OAAO,CAA8B;IAE5C;;OAEG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,YAAY,CAAU;CAC7B,CAAA;AA3CO;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;+CAC3B;AAMZ;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;;iEACX;AAQ9B;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACpB;AASlB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;kDACP;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;;oDACD;AAMrC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC;;wDAC/D;AAMrB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;;yDACrB;AA/CjB,mBAAmB;IAD/B,MAAM,EAAE;GACI,mBAAmB,CAgD/B","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { entity, property, SortDirection } from \"@twin.org/entity\";\n\n/**\n * Tenant-supplied Dataset shape persisted by the Control Plane.\n */\n@entity()\nexport class DataspaceAppDataset {\n\t/**\n\t * The unique identifier for the dataset.\n\t */\n\t@property({ type: \"string\", isPrimary: true })\n\tpublic id!: string;\n\n\t/**\n\t * The identity of the organization that owns this entity.\n\t */\n\t@property({ type: \"string\", isSecondary: true })\n\tpublic organizationIdentity!: string;\n\n\t/**\n\t * The tenant that owns this dataset, captured from the request context at\n\t * write time. Optional — single-tenant nodes (no `TWIN_TENANT_ENABLED`)\n\t * register datasets without a tenant context.\n\t */\n\t@property({ type: \"string\", optional: true })\n\tpublic tenantId?: string;\n\n\t/**\n\t * The dataspace app that this dataset belongs to. Matches the app's\n\t * registered name in `DataspaceAppFactory` (typically the app's URI).\n\t * Used as the join key when dispatching to an app's optional\n\t * `datasetsHandled` override.\n\t */\n\t@property({ type: \"string\" })\n\tpublic appId!: string;\n\n\t/**\n\t * The user-controlled JSON-LD dataset payload. Stored as an\n\t * opaque object and validated/populated at publish time.\n\t */\n\t@property({ type: \"object\", format: \"json\" })\n\tpublic dataset!: { [key: string]: unknown };\n\n\t/**\n\t * Creation timestamp (ISO string format).\n\t */\n\t@property({ type: \"string\", format: \"date-time\", sortDirection: SortDirection.Descending })\n\tpublic dateCreated!: string;\n\n\t/**\n\t * Last update timestamp (ISO string format).\n\t */\n\t@property({ type: \"string\", format: \"date-time\" })\n\tpublic dateModified!: string;\n}\n"]}
|
|
@@ -54,12 +54,9 @@ let TransferProcess = class TransferProcess {
|
|
|
54
54
|
*/
|
|
55
55
|
callbackAddress;
|
|
56
56
|
/**
|
|
57
|
-
* The
|
|
58
|
-
* at write time. Optional — single-tenant nodes (no `TWIN_TENANT_ENABLED`) register
|
|
59
|
-
* transfers without a tenant context. Persisted so async push delivery tasks and
|
|
60
|
-
* setTimeout-delayed state transitions can re-enter the right tenant context.
|
|
57
|
+
* The organization that owns this transfer process, captured from the request context at write time.
|
|
61
58
|
*/
|
|
62
|
-
|
|
59
|
+
organizationIdentity;
|
|
63
60
|
/**
|
|
64
61
|
* Creation timestamp (ISO string format).
|
|
65
62
|
*/
|
|
@@ -122,9 +119,9 @@ __decorate([
|
|
|
122
119
|
__metadata("design:type", String)
|
|
123
120
|
], TransferProcess.prototype, "callbackAddress", void 0);
|
|
124
121
|
__decorate([
|
|
125
|
-
property({ type: "string"
|
|
122
|
+
property({ type: "string" }),
|
|
126
123
|
__metadata("design:type", String)
|
|
127
|
-
], TransferProcess.prototype, "
|
|
124
|
+
], TransferProcess.prototype, "organizationIdentity", void 0);
|
|
128
125
|
__decorate([
|
|
129
126
|
property({ type: "string", format: "date-time", sortDirection: SortDirection.Descending }),
|
|
130
127
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferProcess.js","sourceRoot":"","sources":["../../../src/entities/transferProcess.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOnE;;;GAGG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B;;;OAGG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,EAAE,CAAU;IAEnB;;;OAGG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,WAAW,CAAU;IAE5B;;;OAGG;IAEI,KAAK,CAA6C;IAEzD;;OAEG;IAEI,SAAS,CAAU;IAE1B;;OAEG;IAEI,OAAO,CAAU;IAExB;;OAEG;IAEI,gBAAgB,CAAU;IAEjC;;OAEG;IAEI,gBAAgB,CAAU;IAEjC;;OAEG;IAEI,MAAM,CAAU;IAEvB;;OAEG;IAEI,eAAe,CAAU;IAEhC
|
|
1
|
+
{"version":3,"file":"transferProcess.js","sourceRoot":"","sources":["../../../src/entities/transferProcess.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOnE;;;GAGG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B;;;OAGG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,EAAE,CAAU;IAEnB;;;OAGG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,WAAW,CAAU;IAE5B;;;OAGG;IAEI,KAAK,CAA6C;IAEzD;;OAEG;IAEI,SAAS,CAAU;IAE1B;;OAEG;IAEI,OAAO,CAAU;IAExB;;OAEG;IAEI,gBAAgB,CAAU;IAEjC;;OAEG;IAEI,gBAAgB,CAAU;IAEjC;;OAEG;IAEI,MAAM,CAAU;IAEvB;;OAEG;IAEI,eAAe,CAAU;IAEhC;;OAEG;IAEI,oBAAoB,CAAU;IAErC;;OAEG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,YAAY,CAAU;IAE7B;;OAEG;IAEI,QAAQ,CAA8B;IAE7C;;OAEG;IAEI,WAAW,CAAiC;CACnD,CAAA;AA7FO;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;oDAClB;AAMrB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;2CACV;AAOZ;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;;oDACpB;AAMrB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;oDACD;AAOrB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;8CAC4B;AAMlD;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;kDACH;AAMnB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;gDACL;AAMjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACZ;AAM1B;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACZ;AAM1B;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACtB;AAMhB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACb;AAMzB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;6DACQ;AAM9B;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC;;oDAC/D;AAMrB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;;qDACrB;AAMtB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACf;AAMtC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACV;AAlGvC,eAAe;IAD3B,MAAM,EAAE;GACI,eAAe,CAmG3B","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { entity, property, SortDirection } from \"@twin.org/entity\";\nimport type {\n\tDataspaceProtocolTransferProcessStateType,\n\tIDataspaceProtocolDataAddress,\n\tIDataspaceProtocolPolicy\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Transfer Process for shared storage between Control Plane and Data Plane.\n * This entity is the persistent representation of ITransferProcess.\n */\n@entity()\nexport class TransferProcess {\n\t/**\n\t * The consumer PID is the primary key.\n\t * Used for direct lookup by consumerPid.\n\t */\n\t@property({ type: \"string\", isPrimary: true })\n\tpublic consumerPid!: string;\n\n\t/**\n\t * Internal UUID for storage (secondary key for providerPid lookup).\n\t */\n\t@property({ type: \"string\" })\n\tpublic id!: string;\n\n\t/**\n\t * Provider Process ID from the DSP protocol.\n\t * Indexed for lookup by providerPid.\n\t */\n\t@property({ type: \"string\", isSecondary: true })\n\tpublic providerPid!: string;\n\n\t/**\n\t * Agreement ID linking to the rights-management Agreement.\n\t */\n\t@property({ type: \"string\" })\n\tpublic agreementId!: string;\n\n\t/**\n\t * Transfer Process state from the DSP protocol.\n\t * One of: REQUESTED, STARTED, COMPLETED, SUSPENDED, TERMINATED.\n\t */\n\t@property({ type: \"string\" })\n\tpublic state!: DataspaceProtocolTransferProcessStateType;\n\n\t/**\n\t * Dataset ID for DSC resolution.\n\t */\n\t@property({ type: \"string\" })\n\tpublic datasetId!: string;\n\n\t/**\n\t * Offer ID from the original Catalog offer.\n\t */\n\t@property({ type: \"string\" })\n\tpublic offerId!: string;\n\n\t/**\n\t * Consumer identity (DID or URI).\n\t */\n\t@property({ type: \"string\", optional: true })\n\tpublic consumerIdentity?: string;\n\n\t/**\n\t * Provider identity (DID or URI).\n\t */\n\t@property({ type: \"string\", optional: true })\n\tpublic providerIdentity?: string;\n\n\t/**\n\t * Data format from the Dataset Distribution.\n\t */\n\t@property({ type: \"string\", optional: true })\n\tpublic format?: string;\n\n\t/**\n\t * Callback address for Consumer notifications.\n\t */\n\t@property({ type: \"string\", optional: true })\n\tpublic callbackAddress?: string;\n\n\t/**\n\t * The organization that owns this transfer process, captured from the request context at write time.\n\t */\n\t@property({ type: \"string\" })\n\tpublic organizationIdentity!: string;\n\n\t/**\n\t * Creation timestamp (ISO string format).\n\t */\n\t@property({ type: \"string\", format: \"date-time\", sortDirection: SortDirection.Descending })\n\tpublic dateCreated!: string;\n\n\t/**\n\t * Last update timestamp (ISO string format).\n\t */\n\t@property({ type: \"string\", format: \"date-time\" })\n\tpublic dateModified!: string;\n\n\t/**\n\t * Policies from the Agreement (stored as JSON).\n\t */\n\t@property({ type: \"array\", format: \"json\", optional: true })\n\tpublic policies?: IDataspaceProtocolPolicy[];\n\n\t/**\n\t * Data address for push mode transfers (stored as JSON).\n\t */\n\t@property({ type: \"object\", format: \"json\", optional: true })\n\tpublic dataAddress?: IDataspaceProtocolDataAddress;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDataspaceApp.js","sourceRoot":"","sources":["../../../../src/models/app/IDataspaceApp.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IJsonLdDocument } from \"@twin.org/data-json-ld\";\nimport type { IDataspaceProtocolDataset } from \"@twin.org/standards-dataspace-protocol\";\nimport type { IActivityQuery } from \"./IActivityQuery.js\";\nimport type { IDataRequest } from \"./IDataRequest.js\";\nimport type { IFollowActivity } from \"./IFollowActivity.js\";\nimport type { IUndoActivity } from \"./IUndoActivity.js\";\nimport type { IDataspaceActivity } from \"../IDataspaceActivity.js\";\nimport type { IProcessingGroupOptions } from \"./IProcessingGroupOptions.js\";\n\n/**\n * Interface describes a Dataspace App.\n */\nexport interface IDataspaceApp extends IComponent {\n\t/**\n\t * The settings for the processing groups for tasks.\n\t * @returns The options for each process group.\n\t */\n\tprocessingGroups?(): { [id: string]: IProcessingGroupOptions };\n\n\t/**\n\t * The activities handled by the App.\n\t * @returns A query that describes the set of activities handled by the App.\n\t */\n\tactivitiesHandled(): IActivityQuery[];\n\n\t/**\n\t * Optional override called by the Control Plane when publishing a stored dataset for this app.\n\t * The Control Plane always calls `populateDefaults` (e.g. `dcterms:publisher`)\n\t * on every dataset returned here, so apps don't need to populate publisher themselves.\n\t * @param payload The user-stored dataset payload.\n\t * @
|
|
1
|
+
{"version":3,"file":"IDataspaceApp.js","sourceRoot":"","sources":["../../../../src/models/app/IDataspaceApp.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IJsonLdDocument } from \"@twin.org/data-json-ld\";\nimport type { IDataspaceProtocolDataset } from \"@twin.org/standards-dataspace-protocol\";\nimport type { IActivityQuery } from \"./IActivityQuery.js\";\nimport type { IDataRequest } from \"./IDataRequest.js\";\nimport type { IFollowActivity } from \"./IFollowActivity.js\";\nimport type { IUndoActivity } from \"./IUndoActivity.js\";\nimport type { IDataspaceActivity } from \"../IDataspaceActivity.js\";\nimport type { IProcessingGroupOptions } from \"./IProcessingGroupOptions.js\";\n\n/**\n * Interface describes a Dataspace App.\n */\nexport interface IDataspaceApp extends IComponent {\n\t/**\n\t * The settings for the processing groups for tasks.\n\t * @returns The options for each process group.\n\t */\n\tprocessingGroups?(): { [id: string]: IProcessingGroupOptions };\n\n\t/**\n\t * The activities handled by the App.\n\t * @returns A query that describes the set of activities handled by the App.\n\t */\n\tactivitiesHandled(): IActivityQuery[];\n\n\t/**\n\t * Optional override called by the Control Plane when publishing a stored dataset for this app.\n\t * The Control Plane always calls `populateDefaults` (e.g. `dcterms:publisher`)\n\t * on every dataset returned here, so apps don't need to populate publisher themselves.\n\t * @param payload The user-stored dataset payload.\n\t * @returns One or more datasets to publish to the catalogue. System-stamped\n\t * fields like `dcterms:publisher` may be omitted — the Control Plane fills them in.\n\t */\n\tdatasetsHandled?(payload: IDataspaceProtocolDataset): Promise<IDataspaceProtocolDataset[]>;\n\n\t/**\n\t * The types of queries supported.\n\t * @returns The types of queries supported by the Dataspace App to retrieve data.\n\t */\n\tsupportedQueryTypes(): string[];\n\n\t/**\n\t * Handles an Activity and report about results through the Dataspace Data Plane Callback\n\t * @param activity The Activity to be handled\n\t * @returns The result of executing the Activity.\n\t */\n\thandleActivity?<T>(activity: IDataspaceActivity): Promise<T>;\n\n\t/**\n\t * Handles a Data Request.\n\t * @param dataRequest The data request.\n\t * @param cursor Cursor that points to the next item in the result set.\n\t * @param limit Maximum number of entries retrieved or to be retrieved.\n\t * @returns Data as JSON-Ld.\n\t */\n\thandleDataRequest?(\n\t\tdataRequest: IDataRequest,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{ data: IJsonLdDocument; cursor?: string }>;\n\n\t/**\n\t * Subscribe the app to produce data for a follower. Called by the\n\t * DS Connector after a push transfer enters STARTED state.\n\t * @param followActivity The Follow activity describing the follower + filter.\n\t * @returns Promise that resolves when the subscription is set up.\n\t */\n\tsubscribeToData?(followActivity: IFollowActivity): Promise<void>;\n\n\t/**\n\t * Undo a previous subscription. Called on transfer complete/terminate.\n\t * @param undoActivity The Undo activity referencing the original Follow.\n\t * @returns Promise that resolves when the subscription is torn down.\n\t */\n\tunsubscribeToData?(undoActivity: IUndoActivity): Promise<void>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITransferProcess.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/ITransferProcess.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolTransferProcessStateType,\n\tIDataspaceProtocolDataAddress,\n\tIDataspaceProtocolPolicy\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Transfer Process for internal storage.\n * Combines DSP protocol fields with internal TWIN fields.\n * This is NOT the DSP wire format (use ITransferProcess from standards for that).\n */\nexport interface ITransferProcess {\n\t/**\n\t * Internal UUID (primary key for entity storage).\n\t */\n\tid: string;\n\n\t// === DSP Protocol fields (public) ===\n\n\t/**\n\t * Consumer Process ID from the DSP protocol.\n\t * Refers to the transfer identifier on the Consumer side.\n\t */\n\tconsumerPid: string;\n\n\t/**\n\t * Provider Process ID from the DSP protocol.\n\t * Refers to the transfer identifier on the Provider side.\n\t */\n\tproviderPid: string;\n\n\t/**\n\t * Transfer Process state from the DSP protocol.\n\t * One of: REQUESTED, STARTED, COMPLETED, SUSPENDED, TERMINATED.\n\t */\n\tstate: DataspaceProtocolTransferProcessStateType;\n\n\t// === Internal TWIN fields (NOT in DSP protocol) ===\n\n\t/**\n\t * Agreement ID linking to the rights-management Agreement.\n\t * Used to resolve policies and permissions.\n\t */\n\tagreementId: string;\n\n\t/**\n\t * Dataset ID for DSC resolution.\n\t * Identifies the dataset being transferred.\n\t */\n\tdatasetId: string;\n\n\t/**\n\t * Offer ID from the original Catalog offer.\n\t */\n\tofferId: string;\n\n\t/**\n\t * Policies from the Agreement.\n\t * Used by DSC for runtime policy enforcement.\n\t */\n\tpolicies?: IDataspaceProtocolPolicy[];\n\n\t/**\n\t * Consumer identity (DID or URI).\n\t * Used for auditing and access control.\n\t */\n\tconsumerIdentity?: string;\n\n\t/**\n\t * Provider identity (DID or URI).\n\t * Used for auditing.\n\t */\n\tproviderIdentity?: string;\n\n\t/**\n\t * Callback address for Consumer notifications.\n\t * URI where messages to the Consumer should be sent.\n\t */\n\tcallbackAddress?: string;\n\n\t/**\n\t * The
|
|
1
|
+
{"version":3,"file":"ITransferProcess.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/ITransferProcess.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolTransferProcessStateType,\n\tIDataspaceProtocolDataAddress,\n\tIDataspaceProtocolPolicy\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Transfer Process for internal storage.\n * Combines DSP protocol fields with internal TWIN fields.\n * This is NOT the DSP wire format (use ITransferProcess from standards for that).\n */\nexport interface ITransferProcess {\n\t/**\n\t * Internal UUID (primary key for entity storage).\n\t */\n\tid: string;\n\n\t// === DSP Protocol fields (public) ===\n\n\t/**\n\t * Consumer Process ID from the DSP protocol.\n\t * Refers to the transfer identifier on the Consumer side.\n\t */\n\tconsumerPid: string;\n\n\t/**\n\t * Provider Process ID from the DSP protocol.\n\t * Refers to the transfer identifier on the Provider side.\n\t */\n\tproviderPid: string;\n\n\t/**\n\t * Transfer Process state from the DSP protocol.\n\t * One of: REQUESTED, STARTED, COMPLETED, SUSPENDED, TERMINATED.\n\t */\n\tstate: DataspaceProtocolTransferProcessStateType;\n\n\t// === Internal TWIN fields (NOT in DSP protocol) ===\n\n\t/**\n\t * Agreement ID linking to the rights-management Agreement.\n\t * Used to resolve policies and permissions.\n\t */\n\tagreementId: string;\n\n\t/**\n\t * Dataset ID for DSC resolution.\n\t * Identifies the dataset being transferred.\n\t */\n\tdatasetId: string;\n\n\t/**\n\t * Offer ID from the original Catalog offer.\n\t */\n\tofferId: string;\n\n\t/**\n\t * Policies from the Agreement.\n\t * Used by DSC for runtime policy enforcement.\n\t */\n\tpolicies?: IDataspaceProtocolPolicy[];\n\n\t/**\n\t * Consumer identity (DID or URI).\n\t * Used for auditing and access control.\n\t */\n\tconsumerIdentity?: string;\n\n\t/**\n\t * Provider identity (DID or URI).\n\t * Used for auditing.\n\t */\n\tproviderIdentity?: string;\n\n\t/**\n\t * Callback address for Consumer notifications.\n\t * URI where messages to the Consumer should be sent.\n\t */\n\tcallbackAddress?: string;\n\n\t/**\n\t * The organization that owns this transfer process, captured at write time so async\n\t * delivery tasks and delayed state transitions can re-enter the right organization context.\n\t */\n\torganizationIdentity: string;\n\n\t/**\n\t * Data format from the Dataset Distribution.\n\t * Specified by a Distribution for the Dataset associated with the Agreement.\n\t */\n\tformat?: string;\n\n\t/**\n\t * Data address for consumer-initiated push transfers (HttpData-PUSH).\n\t * Contains the consumer's /inbox endpoint as supplied in the TransferRequestMessage.\n\t * Absent for PULL (HttpData-PULL) and provider-initiated push (HttpData-POST),\n\t * where the consumer deliberately omits a dataAddress.\n\t */\n\tdataAddress?: IDataspaceProtocolDataAddress;\n\n\t/**\n\t * Creation timestamp.\n\t */\n\tdateCreated: Date;\n\n\t/**\n\t * Last update timestamp.\n\t */\n\tdateModified: Date;\n}\n"]}
|
|
@@ -7,14 +7,13 @@ export declare class DataspaceAppDataset {
|
|
|
7
7
|
*/
|
|
8
8
|
id: string;
|
|
9
9
|
/**
|
|
10
|
-
* The identity of the
|
|
10
|
+
* The identity of the organization that owns this entity.
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
organizationIdentity: string;
|
|
13
13
|
/**
|
|
14
14
|
* The tenant that owns this dataset, captured from the request context at
|
|
15
15
|
* write time. Optional — single-tenant nodes (no `TWIN_TENANT_ENABLED`)
|
|
16
|
-
* register datasets without a tenant context
|
|
17
|
-
* the dataset with no `tenantId` and URL-baking is skipped.
|
|
16
|
+
* register datasets without a tenant context.
|
|
18
17
|
*/
|
|
19
18
|
tenantId?: string;
|
|
20
19
|
/**
|
|
@@ -52,12 +52,9 @@ export declare class TransferProcess {
|
|
|
52
52
|
*/
|
|
53
53
|
callbackAddress?: string;
|
|
54
54
|
/**
|
|
55
|
-
* The
|
|
56
|
-
* at write time. Optional — single-tenant nodes (no `TWIN_TENANT_ENABLED`) register
|
|
57
|
-
* transfers without a tenant context. Persisted so async push delivery tasks and
|
|
58
|
-
* setTimeout-delayed state transitions can re-enter the right tenant context.
|
|
55
|
+
* The organization that owns this transfer process, captured from the request context at write time.
|
|
59
56
|
*/
|
|
60
|
-
|
|
57
|
+
organizationIdentity: string;
|
|
61
58
|
/**
|
|
62
59
|
* Creation timestamp (ISO string format).
|
|
63
60
|
*/
|
|
@@ -28,12 +28,10 @@ export interface IDataspaceApp extends IComponent {
|
|
|
28
28
|
* The Control Plane always calls `populateDefaults` (e.g. `dcterms:publisher`)
|
|
29
29
|
* on every dataset returned here, so apps don't need to populate publisher themselves.
|
|
30
30
|
* @param payload The user-stored dataset payload.
|
|
31
|
-
* @param tenantId The owning tenant for this dataset. Empty string on
|
|
32
|
-
* single-tenant nodes (no `TWIN_TENANT_ENABLED`).
|
|
33
31
|
* @returns One or more datasets to publish to the catalogue. System-stamped
|
|
34
32
|
* fields like `dcterms:publisher` may be omitted — the Control Plane fills them in.
|
|
35
33
|
*/
|
|
36
|
-
datasetsHandled?(payload: IDataspaceProtocolDataset
|
|
34
|
+
datasetsHandled?(payload: IDataspaceProtocolDataset): Promise<IDataspaceProtocolDataset[]>;
|
|
37
35
|
/**
|
|
38
36
|
* The types of queries supported.
|
|
39
37
|
* @returns The types of queries supported by the Dataspace App to retrieve data.
|
|
@@ -59,11 +59,10 @@ export interface ITransferProcess {
|
|
|
59
59
|
*/
|
|
60
60
|
callbackAddress?: string;
|
|
61
61
|
/**
|
|
62
|
-
* The
|
|
63
|
-
* delivery tasks and delayed state transitions can re-enter the right
|
|
64
|
-
* Optional — single-tenant nodes operate without a tenant context.
|
|
62
|
+
* The organization that owns this transfer process, captured at write time so async
|
|
63
|
+
* delivery tasks and delayed state transitions can re-enter the right organization context.
|
|
65
64
|
*/
|
|
66
|
-
|
|
65
|
+
organizationIdentity: string;
|
|
67
66
|
/**
|
|
68
67
|
* Data format from the Dataset Distribution.
|
|
69
68
|
* Specified by a Distribution for the Dataset associated with the Agreement.
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.3-next.43](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.0.3-next.42...dataspace-models-v0.0.3-next.43) (2026-06-11)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* organization identifiers ([#188](https://github.com/iotaledger/twin-dataspace/issues/188)) ([af643d3](https://github.com/iotaledger/twin-dataspace/commit/af643d3bb7f212d6cbb672e362a9e1bbe886d1a5))
|
|
9
|
+
|
|
3
10
|
## [0.0.3-next.42](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.0.3-next.41...dataspace-models-v0.0.3-next.42) (2026-06-10)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -22,11 +22,11 @@ The unique identifier for the dataset.
|
|
|
22
22
|
|
|
23
23
|
***
|
|
24
24
|
|
|
25
|
-
###
|
|
25
|
+
### organizationIdentity {#organizationidentity}
|
|
26
26
|
|
|
27
|
-
> **
|
|
27
|
+
> **organizationIdentity**: `string`
|
|
28
28
|
|
|
29
|
-
The identity of the
|
|
29
|
+
The identity of the organization that owns this entity.
|
|
30
30
|
|
|
31
31
|
***
|
|
32
32
|
|
|
@@ -36,8 +36,7 @@ The identity of the node that owns this entity (required for sync).
|
|
|
36
36
|
|
|
37
37
|
The tenant that owns this dataset, captured from the request context at
|
|
38
38
|
write time. Optional — single-tenant nodes (no `TWIN_TENANT_ENABLED`)
|
|
39
|
-
register datasets without a tenant context
|
|
40
|
-
the dataset with no `tenantId` and URL-baking is skipped.
|
|
39
|
+
register datasets without a tenant context.
|
|
41
40
|
|
|
42
41
|
***
|
|
43
42
|
|
|
@@ -106,14 +106,11 @@ Callback address for Consumer notifications.
|
|
|
106
106
|
|
|
107
107
|
***
|
|
108
108
|
|
|
109
|
-
###
|
|
109
|
+
### organizationIdentity {#organizationidentity}
|
|
110
110
|
|
|
111
|
-
>
|
|
111
|
+
> **organizationIdentity**: `string`
|
|
112
112
|
|
|
113
|
-
The
|
|
114
|
-
at write time. Optional — single-tenant nodes (no `TWIN_TENANT_ENABLED`) register
|
|
115
|
-
transfers without a tenant context. Persisted so async push delivery tasks and
|
|
116
|
-
setTimeout-delayed state transitions can re-enter the right tenant context.
|
|
113
|
+
The organization that owns this transfer process, captured from the request context at write time.
|
|
117
114
|
|
|
118
115
|
***
|
|
119
116
|
|
|
@@ -38,7 +38,7 @@ A query that describes the set of activities handled by the App.
|
|
|
38
38
|
|
|
39
39
|
### datasetsHandled()? {#datasetshandled}
|
|
40
40
|
|
|
41
|
-
> `optional` **datasetsHandled**(`payload
|
|
41
|
+
> `optional` **datasetsHandled**(`payload`): `Promise`\<`IDataspaceProtocolDataset`[]\>
|
|
42
42
|
|
|
43
43
|
Optional override called by the Control Plane when publishing a stored dataset for this app.
|
|
44
44
|
The Control Plane always calls `populateDefaults` (e.g. `dcterms:publisher`)
|
|
@@ -52,13 +52,6 @@ on every dataset returned here, so apps don't need to populate publisher themsel
|
|
|
52
52
|
|
|
53
53
|
The user-stored dataset payload.
|
|
54
54
|
|
|
55
|
-
##### tenantId
|
|
56
|
-
|
|
57
|
-
`string`
|
|
58
|
-
|
|
59
|
-
The owning tenant for this dataset. Empty string on
|
|
60
|
-
single-tenant nodes (no `TWIN_TENANT_ENABLED`).
|
|
61
|
-
|
|
62
55
|
#### Returns
|
|
63
56
|
|
|
64
57
|
`Promise`\<`IDataspaceProtocolDataset`[]\>
|
|
@@ -103,13 +103,12 @@ URI where messages to the Consumer should be sent.
|
|
|
103
103
|
|
|
104
104
|
***
|
|
105
105
|
|
|
106
|
-
###
|
|
106
|
+
### organizationIdentity {#organizationidentity}
|
|
107
107
|
|
|
108
|
-
>
|
|
108
|
+
> **organizationIdentity**: `string`
|
|
109
109
|
|
|
110
|
-
The
|
|
111
|
-
delivery tasks and delayed state transitions can re-enter the right
|
|
112
|
-
Optional — single-tenant nodes operate without a tenant context.
|
|
110
|
+
The organization that owns this transfer process, captured at write time so async
|
|
111
|
+
delivery tasks and delayed state transitions can re-enter the right organization context.
|
|
113
112
|
|
|
114
113
|
***
|
|
115
114
|
|
package/package.json
CHANGED