@twin.org/dataspace-models 0.0.3-next.16 → 0.0.3-next.18

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.
Files changed (47) hide show
  1. package/dist/es/dataTypes/dataspaceDataTypes.js +27 -0
  2. package/dist/es/dataTypes/dataspaceDataTypes.js.map +1 -0
  3. package/dist/es/entities/transferProcess.js.map +1 -1
  4. package/dist/es/index.js +4 -0
  5. package/dist/es/index.js.map +1 -1
  6. package/dist/es/models/IDataspaceActivity.js +4 -0
  7. package/dist/es/models/IDataspaceActivity.js.map +1 -0
  8. package/dist/es/models/IExecutionPayload.js.map +1 -1
  9. package/dist/es/models/app/IDataspaceApp.js.map +1 -1
  10. package/dist/es/models/control-plane/IDataspaceControlPlaneComponent.js.map +1 -1
  11. package/dist/es/models/control-plane/INegotiationCallback.js +0 -2
  12. package/dist/es/models/control-plane/INegotiationCallback.js.map +1 -1
  13. package/dist/es/models/control-plane/ITransferContext.js.map +1 -1
  14. package/dist/es/models/control-plane/ITransferProcess.js.map +1 -1
  15. package/dist/es/models/dataspaceContexts.js +10 -0
  16. package/dist/es/models/dataspaceContexts.js.map +1 -0
  17. package/dist/es/models/dataspaceTypes.js +10 -0
  18. package/dist/es/models/dataspaceTypes.js.map +1 -0
  19. package/dist/es/schemas/DataspaceActivity.json +33 -0
  20. package/dist/types/dataTypes/dataspaceDataTypes.d.ts +9 -0
  21. package/dist/types/entities/transferProcess.d.ts +2 -3
  22. package/dist/types/index.d.ts +4 -0
  23. package/dist/types/models/IDataspaceActivity.d.ts +20 -0
  24. package/dist/types/models/IExecutionPayload.d.ts +2 -2
  25. package/dist/types/models/app/IDataspaceApp.d.ts +2 -2
  26. package/dist/types/models/control-plane/IDataspaceControlPlaneComponent.d.ts +2 -1
  27. package/dist/types/models/control-plane/INegotiationCallback.d.ts +3 -4
  28. package/dist/types/models/control-plane/ITransferContext.d.ts +2 -3
  29. package/dist/types/models/control-plane/ITransferProcess.d.ts +2 -3
  30. package/dist/types/models/dataspaceContexts.d.ts +10 -0
  31. package/dist/types/models/dataspaceTypes.d.ts +10 -0
  32. package/docs/changelog.md +20 -0
  33. package/docs/reference/classes/DataspaceDataTypes.md +25 -0
  34. package/docs/reference/classes/TransferProcess.md +1 -1
  35. package/docs/reference/index.md +6 -0
  36. package/docs/reference/interfaces/IDataspaceActivity.md +37 -0
  37. package/docs/reference/interfaces/IDataspaceApp.md +1 -1
  38. package/docs/reference/interfaces/IDataspaceControlPlaneComponent.md +7 -1
  39. package/docs/reference/interfaces/IExecutionPayload.md +1 -1
  40. package/docs/reference/interfaces/INegotiationCallback.md +2 -2
  41. package/docs/reference/interfaces/ITransferContext.md +1 -1
  42. package/docs/reference/interfaces/ITransferProcess.md +1 -1
  43. package/docs/reference/type-aliases/DataspaceContexts.md +5 -0
  44. package/docs/reference/type-aliases/DataspaceTypes.md +5 -0
  45. package/docs/reference/variables/DataspaceContexts.md +11 -0
  46. package/docs/reference/variables/DataspaceTypes.md +11 -0
  47. package/package.json +1 -1
@@ -0,0 +1,27 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { DataTypeHelper } from "@twin.org/data-core";
4
+ import { ActivityStreamsDataTypes } from "@twin.org/standards-w3c-activity-streams";
5
+ import { DataspaceContexts } from "../models/dataspaceContexts.js";
6
+ import { DataspaceTypes } from "../models/dataspaceTypes.js";
7
+ import DataspaceActivitySchema from "../schemas/DataspaceActivity.json" with { type: "json" };
8
+ /**
9
+ * Dataspace datatypes.
10
+ */
11
+ export class DataspaceDataTypes {
12
+ /**
13
+ * Register all the data types.
14
+ */
15
+ static registerTypes() {
16
+ ActivityStreamsDataTypes.registerRedirects();
17
+ ActivityStreamsDataTypes.registerTypes();
18
+ const types = [
19
+ {
20
+ type: DataspaceTypes.Activity,
21
+ schema: DataspaceActivitySchema
22
+ }
23
+ ];
24
+ DataTypeHelper.registerTypes(DataspaceContexts.JsonSchemaNamespace, DataspaceContexts.JsonSchemaNamespace, types);
25
+ }
26
+ }
27
+ //# sourceMappingURL=dataspaceDataTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/dataspaceDataTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,uBAAuB,MAAM,mCAAmC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE9F;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC9B;;OAEG;IACI,MAAM,CAAC,aAAa;QAC1B,wBAAwB,CAAC,iBAAiB,EAAE,CAAC;QAC7C,wBAAwB,CAAC,aAAa,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAG;YACb;gBACC,IAAI,EAAE,cAAc,CAAC,QAAQ;gBAC7B,MAAM,EAAE,uBAAuB;aAC/B;SACD,CAAC;QAEF,cAAc,CAAC,aAAa,CAC3B,iBAAiB,CAAC,mBAAmB,EACrC,iBAAiB,CAAC,mBAAmB,EACrC,KAAK,CACL,CAAC;IACH,CAAC;CACD","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\nimport { DataTypeHelper } from \"@twin.org/data-core\";\nimport { ActivityStreamsDataTypes } from \"@twin.org/standards-w3c-activity-streams\";\nimport { DataspaceContexts } from \"../models/dataspaceContexts.js\";\nimport { DataspaceTypes } from \"../models/dataspaceTypes.js\";\nimport DataspaceActivitySchema from \"../schemas/DataspaceActivity.json\" with { type: \"json\" };\n\n/**\n * Dataspace datatypes.\n */\nexport class DataspaceDataTypes {\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tActivityStreamsDataTypes.registerRedirects();\n\t\tActivityStreamsDataTypes.registerTypes();\n\n\t\tconst types = [\n\t\t\t{\n\t\t\t\ttype: DataspaceTypes.Activity,\n\t\t\t\tschema: DataspaceActivitySchema\n\t\t\t}\n\t\t];\n\n\t\tDataTypeHelper.registerTypes(\n\t\t\tDataspaceContexts.JsonSchemaNamespace,\n\t\t\tDataspaceContexts.JsonSchemaNamespace,\n\t\t\ttypes\n\t\t);\n\t}\n}\n"]}
@@ -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;;OAEG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,YAAY,CAAU;IAE7B;;OAEG;IAEI,QAAQ,CAAiB;IAEhC;;OAEG;IAEI,WAAW,CAAiC;CACnD,CAAA;AAvFO;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,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;;iDAC5B;AAMzB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACV;AA5FvC,eAAe;IAD3B,MAAM,EAAE;GACI,eAAe,CA6F3B","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} from \"@twin.org/standards-dataspace-protocol\";\nimport type { IOdrlPolicy } from \"@twin.org/standards-w3c-odrl\";\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 * 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?: IOdrlPolicy[];\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
+ {"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,WAAW,CAAU;IAE5B;;OAEG;IAEI,YAAY,CAAU;IAE7B;;OAEG;IAEI,QAAQ,CAA8B;IAE7C;;OAEG;IAEI,WAAW,CAAiC;CACnD,CAAA;AAvFO;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,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;AA5FvC,eAAe;IAD3B,MAAM,EAAE;GACI,eAAe,CA6F3B","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 * 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"]}
package/dist/es/index.js CHANGED
@@ -12,6 +12,10 @@ export * from "./models/control-plane/ITransferContext.js";
12
12
  export * from "./models/control-plane/api/ITransferContextResponse.js";
13
13
  // Data Plane exports
14
14
  export * from "./models/data-plane/IDataspaceDataPlaneComponent.js";
15
+ export * from "./models/IDataspaceActivity.js";
16
+ export * from "./models/dataspaceTypes.js";
17
+ export * from "./models/dataspaceContexts.js";
18
+ export * from "./dataTypes/dataspaceDataTypes.js";
15
19
  // App exports
16
20
  export * from "./factories/dataspaceAppFactory.js";
17
21
  export * from "./models/app/IDataspaceApp.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC,iBAAiB;AACjB,cAAc,+BAA+B,CAAC;AAE9C,wBAAwB;AACxB,cAAc,2DAA2D,CAAC;AAC1E,cAAc,mEAAmE,CAAC;AAClF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wDAAwD,CAAC;AAEvE,qBAAqB;AACrB,cAAc,qDAAqD,CAAC;AAEpE,cAAc;AACd,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAE9C,gBAAgB;AAChB,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AAEvD,wDAAwD;AACxD,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AACrE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAE1E,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n// Entity exports\nexport * from \"./entities/transferProcess.js\";\n\n// Control Plane exports\nexport * from \"./models/control-plane/IDataspaceControlPlaneComponent.js\";\nexport * from \"./models/control-plane/IDataspaceControlPlaneResolverComponent.js\";\nexport * from \"./models/control-plane/INegotiationCallback.js\";\nexport * from \"./models/control-plane/ITransferProcess.js\";\nexport * from \"./models/control-plane/transferProcessRole.js\";\nexport * from \"./models/control-plane/ITransferContext.js\";\nexport * from \"./models/control-plane/api/ITransferContextResponse.js\";\n\n// Data Plane exports\nexport * from \"./models/data-plane/IDataspaceDataPlaneComponent.js\";\n\n// App exports\nexport * from \"./factories/dataspaceAppFactory.js\";\nexport * from \"./models/app/IDataspaceApp.js\";\n\n// Other exports\nexport * from \"./models/activityProcessingStatus.js\";\nexport * from \"./models/api/IActivityLogEntryGetRequest.js\";\nexport * from \"./models/api/IActivityLogEntryGetResponse.js\";\nexport * from \"./models/api/IActivityLogStatusNotificationPayload.js\";\nexport * from \"./models/api/IActivityLogStatusRequest.js\";\nexport * from \"./models/api/IActivityStreamNotifyRequest.js\";\nexport * from \"./models/api/IDataAssetEntitiesResponse.js\";\nexport * from \"./models/api/IDataAssetGetEntitiesRequest.js\";\nexport * from \"./models/api/IDataAssetQueryRequest.js\";\n\n// Control Plane API exports - Transfer Process Protocol\nexport * from \"./models/api/control-plane/IRequestTransferRequest.js\";\nexport * from \"./models/api/control-plane/IRequestTransferResponse.js\";\nexport * from \"./models/api/control-plane/IStartTransferRequest.js\";\nexport * from \"./models/api/control-plane/IStartTransferResponse.js\";\nexport * from \"./models/api/control-plane/ICompleteTransferRequest.js\";\nexport * from \"./models/api/control-plane/ICompleteTransferResponse.js\";\nexport * from \"./models/api/control-plane/ISuspendTransferRequest.js\";\nexport * from \"./models/api/control-plane/ISuspendTransferResponse.js\";\nexport * from \"./models/api/control-plane/ITerminateTransferRequest.js\";\nexport * from \"./models/api/control-plane/ITerminateTransferResponse.js\";\nexport * from \"./models/api/control-plane/IGetTransferProcessRequest.js\";\nexport * from \"./models/api/control-plane/IGetTransferProcessResponse.js\";\n\nexport * from \"./models/app/dataRequestType.js\";\nexport * from \"./models/app/IActivityQuery.js\";\nexport * from \"./models/app/IDataAssetEntitiesRequest.js\";\nexport * from \"./models/app/IDataAssetQuery.js\";\nexport * from \"./models/app/IQueryDataAssetRequest.js\";\nexport * from \"./models/app/IDataRequest.js\";\nexport * from \"./models/IActivityLogDates.js\";\nexport * from \"./models/IActivityLogDetails.js\";\nexport * from \"./models/IActivityLogEntry.js\";\nexport * from \"./models/IActivityLogStatusNotification.js\";\nexport * from \"./models/IActivityTask.js\";\nexport * from \"./models/IDataAssetItemList.js\";\nexport * from \"./models/IDataAssetItemListResult.js\";\nexport * from \"./models/IEntitySet.js\";\nexport * from \"./models/IExecutionPayload.js\";\nexport * from \"./models/IFilteringQuery.js\";\nexport * from \"./models/ITaskApp.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC,iBAAiB;AACjB,cAAc,+BAA+B,CAAC;AAE9C,wBAAwB;AACxB,cAAc,2DAA2D,CAAC;AAC1E,cAAc,mEAAmE,CAAC;AAClF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wDAAwD,CAAC;AAEvE,qBAAqB;AACrB,cAAc,qDAAqD,CAAC;AAEpE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,mCAAmC,CAAC;AAElD,cAAc;AACd,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAE9C,gBAAgB;AAChB,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AAEvD,wDAAwD;AACxD,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AACrE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAE1E,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n// Entity exports\nexport * from \"./entities/transferProcess.js\";\n\n// Control Plane exports\nexport * from \"./models/control-plane/IDataspaceControlPlaneComponent.js\";\nexport * from \"./models/control-plane/IDataspaceControlPlaneResolverComponent.js\";\nexport * from \"./models/control-plane/INegotiationCallback.js\";\nexport * from \"./models/control-plane/ITransferProcess.js\";\nexport * from \"./models/control-plane/transferProcessRole.js\";\nexport * from \"./models/control-plane/ITransferContext.js\";\nexport * from \"./models/control-plane/api/ITransferContextResponse.js\";\n\n// Data Plane exports\nexport * from \"./models/data-plane/IDataspaceDataPlaneComponent.js\";\n\nexport * from \"./models/IDataspaceActivity.js\";\nexport * from \"./models/dataspaceTypes.js\";\nexport * from \"./models/dataspaceContexts.js\";\n\nexport * from \"./dataTypes/dataspaceDataTypes.js\";\n\n// App exports\nexport * from \"./factories/dataspaceAppFactory.js\";\nexport * from \"./models/app/IDataspaceApp.js\";\n\n// Other exports\nexport * from \"./models/activityProcessingStatus.js\";\nexport * from \"./models/api/IActivityLogEntryGetRequest.js\";\nexport * from \"./models/api/IActivityLogEntryGetResponse.js\";\nexport * from \"./models/api/IActivityLogStatusNotificationPayload.js\";\nexport * from \"./models/api/IActivityLogStatusRequest.js\";\nexport * from \"./models/api/IActivityStreamNotifyRequest.js\";\nexport * from \"./models/api/IDataAssetEntitiesResponse.js\";\nexport * from \"./models/api/IDataAssetGetEntitiesRequest.js\";\nexport * from \"./models/api/IDataAssetQueryRequest.js\";\n\n// Control Plane API exports - Transfer Process Protocol\nexport * from \"./models/api/control-plane/IRequestTransferRequest.js\";\nexport * from \"./models/api/control-plane/IRequestTransferResponse.js\";\nexport * from \"./models/api/control-plane/IStartTransferRequest.js\";\nexport * from \"./models/api/control-plane/IStartTransferResponse.js\";\nexport * from \"./models/api/control-plane/ICompleteTransferRequest.js\";\nexport * from \"./models/api/control-plane/ICompleteTransferResponse.js\";\nexport * from \"./models/api/control-plane/ISuspendTransferRequest.js\";\nexport * from \"./models/api/control-plane/ISuspendTransferResponse.js\";\nexport * from \"./models/api/control-plane/ITerminateTransferRequest.js\";\nexport * from \"./models/api/control-plane/ITerminateTransferResponse.js\";\nexport * from \"./models/api/control-plane/IGetTransferProcessRequest.js\";\nexport * from \"./models/api/control-plane/IGetTransferProcessResponse.js\";\n\nexport * from \"./models/app/dataRequestType.js\";\nexport * from \"./models/app/IActivityQuery.js\";\nexport * from \"./models/app/IDataAssetEntitiesRequest.js\";\nexport * from \"./models/app/IDataAssetQuery.js\";\nexport * from \"./models/app/IQueryDataAssetRequest.js\";\nexport * from \"./models/app/IDataRequest.js\";\nexport * from \"./models/IActivityLogDates.js\";\nexport * from \"./models/IActivityLogDetails.js\";\nexport * from \"./models/IActivityLogEntry.js\";\nexport * from \"./models/IActivityLogStatusNotification.js\";\nexport * from \"./models/IActivityTask.js\";\nexport * from \"./models/IDataAssetItemList.js\";\nexport * from \"./models/IDataAssetItemListResult.js\";\nexport * from \"./models/IEntitySet.js\";\nexport * from \"./models/IExecutionPayload.js\";\nexport * from \"./models/IFilteringQuery.js\";\nexport * from \"./models/ITaskApp.js\";\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IDataspaceActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDataspaceActivity.js","sourceRoot":"","sources":["../../../src/models/IDataspaceActivity.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { JsonLdObjectWithContext } from \"@twin.org/data-json-ld\";\nimport type { IActivityStreamsActivity } from \"@twin.org/standards-w3c-activity-streams\";\n\n/**\n * A dataspace activity that restricts an activity so that it can be handled by a Dataspace Data Plane\n */\nexport interface IDataspaceActivity<\n\tO extends object = object,\n\tT extends object = object\n> extends Omit<IActivityStreamsActivity, \"object\"> {\n\t/**\n\t * Activity's Object\n\t */\n\tobject: ObjectOrArray<JsonLdObjectWithContext<O & { type: ObjectOrArray<string> }>>;\n\n\t/**\n\t * Activity's target\n\t */\n\ttarget?: JsonLdObjectWithContext<T & { type: ObjectOrArray<string> }>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IExecutionPayload.js","sourceRoot":"","sources":["../../../src/models/IExecutionPayload.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IActivityStreamsActivity } from \"@twin.org/standards-w3c-activity-streams\";\n\n/**\n * Execution payload.\n */\nexport interface IExecutionPayload {\n\t/**\n\t * The Activity Log Entry Id.\n\t */\n\tactivityLogEntryId: string;\n\n\t/**\n\t * The activity\n\t */\n\tactivity: IActivityStreamsActivity;\n\n\t/**\n\t * The executor App.\n\t */\n\texecutorApp: string;\n}\n"]}
1
+ {"version":3,"file":"IExecutionPayload.js","sourceRoot":"","sources":["../../../src/models/IExecutionPayload.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceActivity } from \"./IDataspaceActivity.js\";\n\n/**\n * Execution payload.\n */\nexport interface IExecutionPayload {\n\t/**\n\t * The Activity Log Entry Id.\n\t */\n\tactivityLogEntryId: string;\n\n\t/**\n\t * The activity\n\t */\n\tactivity: IDataspaceActivity;\n\n\t/**\n\t * The executor App.\n\t */\n\texecutorApp: string;\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 { IActivityStreamsActivity } from \"@twin.org/standards-w3c-activity-streams\";\nimport type { IActivityQuery } from \"./IActivityQuery.js\";\nimport type { IDataRequest } from \"./IDataRequest.js\";\n\n/**\n * Interface describes a Dataspace App.\n */\nexport interface IDataspaceApp extends IComponent {\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 * The datasets handled by the App.\n\t * @returns The Dataspace Protocol compliant datasets handled by the App.\n\t */\n\tdatasetsHandled(): 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: IActivityStreamsActivity): 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"]}
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 { IDataspaceActivity } from \"../IDataspaceActivity.js\";\n\n/**\n * Interface describes a Dataspace App.\n */\nexport interface IDataspaceApp extends IComponent {\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 * The datasets handled by the App.\n\t * @returns The Dataspace Protocol compliant datasets handled by the App.\n\t */\n\tdatasetsHandled(): 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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDataspaceControlPlaneComponent.js","sourceRoot":"","sources":["../../../../src/models/control-plane/IDataspaceControlPlaneComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tIDataspaceProtocolContractNegotiation,\n\tIDataspaceProtocolContractNegotiationError,\n\tIDataspaceProtocolTransferCompletionMessage,\n\tIDataspaceProtocolTransferError,\n\tIDataspaceProtocolTransferProcess,\n\tIDataspaceProtocolTransferRequestMessage,\n\tIDataspaceProtocolTransferStartMessage,\n\tIDataspaceProtocolTransferSuspensionMessage,\n\tIDataspaceProtocolTransferTerminationMessage\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { INegotiationCallback } from \"./INegotiationCallback.js\";\n\n/**\n * Dataspace Control Plane Component interface.\n * Implements Eclipse Dataspace Protocol (DSP) specifications:\n * - Contract Negotiation Protocol\n * - Transfer Process Protocol\n *\n * This component acts as the Control Plane for contract negotiation and\n * data transfers between nodes in a dataspace.\n *\n * DSP 2025-1 Specification: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/\n */\nexport interface IDataspaceControlPlaneComponent extends IComponent {\n\t// ============================================================================\n\t// CONTRACT NEGOTIATION PROTOCOL (DSP)\n\t// Methods for negotiating agreements before transfers\n\t// ============================================================================\n\n\t/**\n\t * Register a callback to receive negotiation state change notifications.\n\t * Upstream modules (e.g. supply-chain) register their callback here\n\t * to be notified when negotiations complete, fail, or change state.\n\t * @param key A unique key identifying this callback registration.\n\t * @param callback The callback interface to register.\n\t */\n\tregisterNegotiationCallback(key: string, callback: INegotiationCallback): void;\n\n\t/**\n\t * Unregister a previously registered negotiation callback.\n\t * @param key The key used when registering the callback.\n\t */\n\tunregisterNegotiationCallback(key: string): void;\n\n\t/**\n\t * Negotiate a contract agreement with a provider.\n\t * Implements DSP Contract Negotiation Protocol.\n\t *\n\t * Returns immediately with a negotiationId. The caller is notified\n\t * via the registered INegotiationCallback when the negotiation completes.\n\t * The negotiation follows DSP state machine: REQUESTED → OFFERED → AGREED → VERIFIED → FINALIZED.\n\t *\n\t * This method has NO REST client implementation — it is only accessible via ComponentFactory.get().\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#negotiation-protocol\n\t *\n\t * @param offerId The offer ID from the provider's catalog.\n\t * @param providerEndpoint The provider's contract negotiation endpoint URL.\n\t * @param publicOrigin The public origin URL of this control plane (for callbacks).\n\t * @param trustPayload Trust payload for authentication (JWT or Verifiable Credential).\n\t * @returns The negotiation ID for tracking. Use registered callback for completion.\n\t */\n\tnegotiateAgreement(\n\t\tofferId: string,\n\t\tproviderEndpoint: string,\n\t\tpublicOrigin: string,\n\t\ttrustPayload: unknown\n\t): Promise<{ negotiationId: string }>;\n\n\t/**\n\t * Get the current state of a contract negotiation.\n\t * Implements DSP Contract Negotiation Protocol.\n\t *\n\t * Queries the current state of an ongoing or completed negotiation.\n\t * Use this to monitor negotiation progress.\n\t * Returns the DSP-compliant negotiation state or error.\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#negotiation-protocol\n\t *\n\t * @param negotiationId The unique identifier of the negotiation.\n\t * @param trustPayload Trust payload for authentication.\n\t * @returns DSP ContractNegotiation with current state, or error.\n\t */\n\tgetNegotiation(\n\t\tnegotiationId: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolContractNegotiation | IDataspaceProtocolContractNegotiationError>;\n\n\t/**\n\t * Get negotiation history.\n\t * Queries past contract negotiations for audit trails and debugging.\n\t *\n\t * Returns a list of past negotiations with their states and metadata.\n\t * Supports optional filtering by state and pagination via cursor.\n\t *\n\t * @param state Optional filter by negotiation state (e.g., \"FINALIZED\", \"TERMINATED\").\n\t * @param cursor Optional pagination cursor for fetching next page.\n\t * @param trustPayload Trust payload for authentication.\n\t * @returns List of negotiation history entries with pagination cursor.\n\t */\n\tgetNegotiationHistory(\n\t\tstate: string | undefined,\n\t\tcursor: string | undefined,\n\t\ttrustPayload: unknown\n\t): Promise<{\n\t\tnegotiations: {\n\t\t\tnegotiation:\n\t\t\t\t| IDataspaceProtocolContractNegotiation\n\t\t\t\t| IDataspaceProtocolContractNegotiationError;\n\t\t\tcreatedAt: string;\n\t\t\tofferId?: string;\n\t\t\tagreementId?: string;\n\t\t}[];\n\t\tcursor?: string;\n\t\tcount: number;\n\t}>;\n\n\t// ============================================================================\n\t// TRANSFER PROCESS PROTOCOL (DSP)\n\t// Methods for managing data transfers after agreements are established\n\t// ============================================================================\n\n\t// ----------------------------------------------------------------------------\n\t// CONSUMER SIDE OPERATIONS\n\t// Methods called by the Data Consumer to initiate transfers\n\t// ----------------------------------------------------------------------------\n\n\t/**\n\t * Request a Transfer Process.\n\t * Creates a new Transfer Process in REQUESTED state.\n\t *\n\t * Role Performed: Provider\n\t * Called by: Consumer when it wants to request a new Transfer Process\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-request-message\n\t *\n\t * @param request Transfer request message (DSP compliant) containing agreementId,\n\t * consumerPid, callbackAddress, and format.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * The consumer must prove their identity by providing a valid trust payload.\n\t * @returns Transfer Process (DSP compliant) with state REQUESTED, including\n\t * both consumerPid and providerPid, or TransferError if the operation fails.\n\t */\n\trequestTransfer(\n\t\trequest: IDataspaceProtocolTransferRequestMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t// ============================================================================\n\t// PROVIDER SIDE OPERATIONS\n\t// Methods called by the Data Provider to respond to transfer requests\n\t// ============================================================================\n\n\t/**\n\t * Start a Transfer Process.\n\t * Transitions Transfer Process from REQUESTED to STARTED state, or resumes from SUSPENDED state.\n\t *\n\t * Role Performed: Provider / Consumer\n\t * Called by: Provider when a Transfer Process starts, or Consumer to attempt to start a Transfer Process after it has been suspended\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-start-message\n\t *\n\t * @param message Transfer start message (DSP compliant).\n\t * @param publicOrigin The public origin URL of this service (used to construct data plane endpoint for PULL transfers).\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Start Message (DSP compliant) with dataAddress for PULL transfers, or TransferError if the operation fails.\n\t */\n\tstartTransfer(\n\t\tmessage: IDataspaceProtocolTransferStartMessage,\n\t\tpublicOrigin: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferStartMessage | IDataspaceProtocolTransferError>;\n\n\t// ============================================================================\n\t// SHARED STATE MANAGEMENT OPERATIONS\n\t// Methods that can be called by either Consumer or Provider\n\t// ============================================================================\n\n\t/**\n\t * Complete a Transfer Process.\n\t * Transitions Transfer Process to COMPLETED state.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when a Transfer process is completed on their side\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-completion-message\n\t *\n\t * @param message Transfer completion message (DSP compliant).\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with state COMPLETED, or TransferError if the operation fails.\n\t */\n\tcompleteTransfer(\n\t\tmessage: IDataspaceProtocolTransferCompletionMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t/**\n\t * Suspend a Transfer Process.\n\t * Transitions Transfer Process to SUSPENDED state.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when a Transfer process needs to be temporarily suspended on their side\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-suspension-message\n\t *\n\t * @param message Transfer suspension message (DSP compliant) with optional reason.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with state SUSPENDED, or TransferError if the operation fails.\n\t */\n\tsuspendTransfer(\n\t\tmessage: IDataspaceProtocolTransferSuspensionMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t/**\n\t * Terminate a Transfer Process.\n\t * Transitions Transfer Process to TERMINATED state.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when a Transfer process needs to be terminated on their side (e.g., due to error)\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-termination-message\n\t *\n\t * @param message Transfer termination message (DSP compliant) with optional reason.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with state TERMINATED, or TransferError if the operation fails.\n\t */\n\tterminateTransfer(\n\t\tmessage: IDataspaceProtocolTransferTerminationMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t/**\n\t * Get Transfer Process State.\n\t * Query the current state of a Transfer Process.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when they need to check the status of a Transfer process on their side\n\t *\n\t * Supports role-agnostic lookup using either consumerPid or providerPid.\n\t * The service will automatically detect which role the caller is acting as\n\t * (Consumer or Provider) based on the PID provided.\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#ack-transfer-process\n\t *\n\t * @param pid The Process ID (consumerPid or providerPid) used to identify the transfer.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with current state, or TransferError if the operation fails.\n\t */\n\tgetTransferProcess(\n\t\tpid: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n}\n"]}
1
+ {"version":3,"file":"IDataspaceControlPlaneComponent.js","sourceRoot":"","sources":["../../../../src/models/control-plane/IDataspaceControlPlaneComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tIDataspaceProtocolContractNegotiation,\n\tIDataspaceProtocolContractNegotiationError,\n\tIDataspaceProtocolTransferCompletionMessage,\n\tIDataspaceProtocolTransferError,\n\tIDataspaceProtocolTransferProcess,\n\tIDataspaceProtocolTransferRequestMessage,\n\tIDataspaceProtocolTransferStartMessage,\n\tIDataspaceProtocolTransferSuspensionMessage,\n\tIDataspaceProtocolTransferTerminationMessage\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { INegotiationCallback } from \"./INegotiationCallback.js\";\n\n/**\n * Dataspace Control Plane Component interface.\n * Implements Eclipse Dataspace Protocol (DSP) specifications:\n * - Contract Negotiation Protocol\n * - Transfer Process Protocol\n *\n * This component acts as the Control Plane for contract negotiation and\n * data transfers between nodes in a dataspace.\n *\n * DSP 2025-1 Specification: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/\n */\nexport interface IDataspaceControlPlaneComponent extends IComponent {\n\t// ============================================================================\n\t// CONTRACT NEGOTIATION PROTOCOL (DSP)\n\t// Methods for negotiating agreements before transfers\n\t// ============================================================================\n\n\t/**\n\t * Register a callback to receive negotiation state change notifications.\n\t * Upstream modules (e.g. supply-chain) register their callback here\n\t * to be notified when negotiations complete, fail, or change state.\n\t * @param key A unique key identifying this callback registration.\n\t * @param callback The callback interface to register.\n\t */\n\tregisterNegotiationCallback(key: string, callback: INegotiationCallback): void;\n\n\t/**\n\t * Unregister a previously registered negotiation callback.\n\t * @param key The key used when registering the callback.\n\t */\n\tunregisterNegotiationCallback(key: string): void;\n\n\t/**\n\t * Negotiate a contract agreement with a provider.\n\t * Implements DSP Contract Negotiation Protocol.\n\t *\n\t * Returns immediately with a negotiationId. The caller is notified\n\t * via the registered INegotiationCallback when the negotiation completes.\n\t * The negotiation follows DSP state machine: REQUESTED → OFFERED → AGREED → VERIFIED → FINALIZED.\n\t *\n\t * This method has NO REST client implementation — it is only accessible via ComponentFactory.get().\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#negotiation-protocol\n\t *\n\t * @param datasetId The dataset ID from the provider's catalog.\n\t * @param offerId The offer ID from the provider's catalog.\n\t * @param providerEndpoint The provider's contract negotiation endpoint URL.\n\t * @param publicOrigin The public origin URL of this control plane (for callbacks).\n\t * @param trustPayload Trust payload for authentication (JWT or Verifiable Credential).\n\t * @returns The negotiation ID for tracking. Use registered callback for completion.\n\t */\n\tnegotiateAgreement(\n\t\tdatasetId: string,\n\t\tofferId: string,\n\t\tproviderEndpoint: string,\n\t\tpublicOrigin: string,\n\t\ttrustPayload: unknown\n\t): Promise<{ negotiationId: string }>;\n\n\t/**\n\t * Get the current state of a contract negotiation.\n\t * Implements DSP Contract Negotiation Protocol.\n\t *\n\t * Queries the current state of an ongoing or completed negotiation.\n\t * Use this to monitor negotiation progress.\n\t * Returns the DSP-compliant negotiation state or error.\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#negotiation-protocol\n\t *\n\t * @param negotiationId The unique identifier of the negotiation.\n\t * @param trustPayload Trust payload for authentication.\n\t * @returns DSP ContractNegotiation with current state, or error.\n\t */\n\tgetNegotiation(\n\t\tnegotiationId: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolContractNegotiation | IDataspaceProtocolContractNegotiationError>;\n\n\t/**\n\t * Get negotiation history.\n\t * Queries past contract negotiations for audit trails and debugging.\n\t *\n\t * Returns a list of past negotiations with their states and metadata.\n\t * Supports optional filtering by state and pagination via cursor.\n\t *\n\t * @param state Optional filter by negotiation state (e.g., \"FINALIZED\", \"TERMINATED\").\n\t * @param cursor Optional pagination cursor for fetching next page.\n\t * @param trustPayload Trust payload for authentication.\n\t * @returns List of negotiation history entries with pagination cursor.\n\t */\n\tgetNegotiationHistory(\n\t\tstate: string | undefined,\n\t\tcursor: string | undefined,\n\t\ttrustPayload: unknown\n\t): Promise<{\n\t\tnegotiations: {\n\t\t\tnegotiation:\n\t\t\t\t| IDataspaceProtocolContractNegotiation\n\t\t\t\t| IDataspaceProtocolContractNegotiationError;\n\t\t\tcreatedAt: string;\n\t\t\tofferId?: string;\n\t\t\tagreementId?: string;\n\t\t}[];\n\t\tcursor?: string;\n\t\tcount: number;\n\t}>;\n\n\t// ============================================================================\n\t// TRANSFER PROCESS PROTOCOL (DSP)\n\t// Methods for managing data transfers after agreements are established\n\t// ============================================================================\n\n\t// ----------------------------------------------------------------------------\n\t// CONSUMER SIDE OPERATIONS\n\t// Methods called by the Data Consumer to initiate transfers\n\t// ----------------------------------------------------------------------------\n\n\t/**\n\t * Request a Transfer Process.\n\t * Creates a new Transfer Process in REQUESTED state.\n\t *\n\t * Role Performed: Provider\n\t * Called by: Consumer when it wants to request a new Transfer Process\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-request-message\n\t *\n\t * @param request Transfer request message (DSP compliant) containing agreementId,\n\t * consumerPid, callbackAddress, and format.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * The consumer must prove their identity by providing a valid trust payload.\n\t * @returns Transfer Process (DSP compliant) with state REQUESTED, including\n\t * both consumerPid and providerPid, or TransferError if the operation fails.\n\t */\n\trequestTransfer(\n\t\trequest: IDataspaceProtocolTransferRequestMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t// ============================================================================\n\t// PROVIDER SIDE OPERATIONS\n\t// Methods called by the Data Provider to respond to transfer requests\n\t// ============================================================================\n\n\t/**\n\t * Start a Transfer Process.\n\t * Transitions Transfer Process from REQUESTED to STARTED state, or resumes from SUSPENDED state.\n\t *\n\t * Role Performed: Provider / Consumer\n\t * Called by: Provider when a Transfer Process starts, or Consumer to attempt to start a Transfer Process after it has been suspended\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-start-message\n\t *\n\t * @param message Transfer start message (DSP compliant).\n\t * @param publicOrigin The public origin URL of this service (used to construct data plane endpoint for PULL transfers).\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Start Message (DSP compliant) with dataAddress for PULL transfers, or TransferError if the operation fails.\n\t */\n\tstartTransfer(\n\t\tmessage: IDataspaceProtocolTransferStartMessage,\n\t\tpublicOrigin: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferStartMessage | IDataspaceProtocolTransferError>;\n\n\t// ============================================================================\n\t// SHARED STATE MANAGEMENT OPERATIONS\n\t// Methods that can be called by either Consumer or Provider\n\t// ============================================================================\n\n\t/**\n\t * Complete a Transfer Process.\n\t * Transitions Transfer Process to COMPLETED state.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when a Transfer process is completed on their side\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-completion-message\n\t *\n\t * @param message Transfer completion message (DSP compliant).\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with state COMPLETED, or TransferError if the operation fails.\n\t */\n\tcompleteTransfer(\n\t\tmessage: IDataspaceProtocolTransferCompletionMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t/**\n\t * Suspend a Transfer Process.\n\t * Transitions Transfer Process to SUSPENDED state.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when a Transfer process needs to be temporarily suspended on their side\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-suspension-message\n\t *\n\t * @param message Transfer suspension message (DSP compliant) with optional reason.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with state SUSPENDED, or TransferError if the operation fails.\n\t */\n\tsuspendTransfer(\n\t\tmessage: IDataspaceProtocolTransferSuspensionMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t/**\n\t * Terminate a Transfer Process.\n\t * Transitions Transfer Process to TERMINATED state.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when a Transfer process needs to be terminated on their side (e.g., due to error)\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-termination-message\n\t *\n\t * @param message Transfer termination message (DSP compliant) with optional reason.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with state TERMINATED, or TransferError if the operation fails.\n\t */\n\tterminateTransfer(\n\t\tmessage: IDataspaceProtocolTransferTerminationMessage,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n\n\t/**\n\t * Get Transfer Process State.\n\t * Query the current state of a Transfer Process.\n\t *\n\t * Role Performed: Consumer / Provider\n\t * Called by: Provider or Consumer when they need to check the status of a Transfer process on their side\n\t *\n\t * Supports role-agnostic lookup using either consumerPid or providerPid.\n\t * The service will automatically detect which role the caller is acting as\n\t * (Consumer or Provider) based on the PID provided.\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#ack-transfer-process\n\t *\n\t * @param pid The Process ID (consumerPid or providerPid) used to identify the transfer.\n\t * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).\n\t * @returns Transfer Process (DSP compliant) with current state, or TransferError if the operation fails.\n\t */\n\tgetTransferProcess(\n\t\tpid: string,\n\t\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;\n}\n"]}
@@ -1,4 +1,2 @@
1
- // Copyright 2025 IOTA Stiftung.
2
- // SPDX-License-Identifier: Apache-2.0.
3
1
  export {};
4
2
  //# sourceMappingURL=INegotiationCallback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"INegotiationCallback.js","sourceRoot":"","sources":["../../../../src/models/control-plane/INegotiationCallback.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\nimport type { DataspaceProtocolContractNegotiationStateType } from \"@twin.org/standards-dataspace-protocol\";\nimport type { IOdrlAgreement, IOdrlOffer } from \"@twin.org/standards-w3c-odrl\";\n\n/**\n * Callback interface for negotiation state change notifications.\n * Upstream modules register an implementation of this interface\n * via IDataspaceControlPlaneComponent.registerNegotiationCallback()\n * to be notified when PNP callbacks fire.\n */\nexport interface INegotiationCallback {\n\t/**\n\t * Called when the negotiation state changes (offer received, agreement received).\n\t * @param negotiationId The negotiation ID.\n\t * @param state The new state.\n\t * @param data Optional data associated with the state change.\n\t * @param data.offer The offer received from the provider.\n\t * @param data.agreement The agreement received from the provider.\n\t * @returns Nothing.\n\t */\n\tonStateChanged(\n\t\tnegotiationId: string,\n\t\tstate: DataspaceProtocolContractNegotiationStateType,\n\t\tdata?: { offer?: IOdrlOffer; agreement?: IOdrlAgreement }\n\t): Promise<void>;\n\n\t/**\n\t * Called when the negotiation completes successfully (finalized).\n\t * @param negotiationId The negotiation ID.\n\t * @param agreementId The agreement ID (from agreement.uid).\n\t * @returns Nothing.\n\t */\n\tonCompleted(negotiationId: string, agreementId: string): Promise<void>;\n\n\t/**\n\t * Called when the negotiation fails (terminated or stalled).\n\t * @param negotiationId The negotiation ID.\n\t * @param reason The failure reason.\n\t * @returns Nothing.\n\t */\n\tonFailed(negotiationId: string, reason: string): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"INegotiationCallback.js","sourceRoot":"","sources":["../../../../src/models/control-plane/INegotiationCallback.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolContractNegotiationStateType,\n\tIDataspaceProtocolAgreement,\n\tIDataspaceProtocolOffer\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Callback interface for negotiation state change notifications.\n * Upstream modules register an implementation of this interface\n * via IDataspaceControlPlaneComponent.registerNegotiationCallback()\n * to be notified when PNP callbacks fire.\n */\nexport interface INegotiationCallback {\n\t/**\n\t * Called when the negotiation state changes (offer received, agreement received).\n\t * @param negotiationId The negotiation ID.\n\t * @param state The new state.\n\t * @param data Optional data associated with the state change.\n\t * @param data.offer The offer received from the provider.\n\t * @param data.agreement The agreement received from the provider.\n\t * @returns Nothing.\n\t */\n\tonStateChanged(\n\t\tnegotiationId: string,\n\t\tstate: DataspaceProtocolContractNegotiationStateType,\n\t\tdata?: { offer?: IDataspaceProtocolOffer; agreement?: IDataspaceProtocolAgreement }\n\t): Promise<void>;\n\n\t/**\n\t * Called when the negotiation completes successfully (finalized).\n\t * @param negotiationId The negotiation ID.\n\t * @param agreementId The agreement ID (from agreement.uid).\n\t * @returns Nothing.\n\t */\n\tonCompleted(negotiationId: string, agreementId: string): Promise<void>;\n\n\t/**\n\t * Called when the negotiation fails (terminated or stalled).\n\t * @param negotiationId The negotiation ID.\n\t * @param reason The failure reason.\n\t * @returns Nothing.\n\t */\n\tonFailed(negotiationId: string, reason: string): Promise<void>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ITransferContext.js","sourceRoot":"","sources":["../../../../src/models/control-plane/ITransferContext.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolTransferProcessStateType,\n\tIDataspaceProtocolDataAddress\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { IOdrlAgreement } from \"@twin.org/standards-w3c-odrl\";\n\n/**\n * Transfer Context data structure.\n * Contains all information needed by DSC to execute queries.\n * This is NOT part of the DSP protocol - it's a TWIN internal API\n * used by dataspace-control-plane to resolve consumerPid to datasetId and policies.\n */\nexport interface ITransferContext {\n\t/**\n\t * Consumer Process ID.\n\t */\n\tconsumerPid: string;\n\n\t/**\n\t * Provider Process ID.\n\t */\n\tproviderPid: string;\n\n\t/**\n\t * Agreement associated with this Transfer Process.\n\t * Contains permissions, obligations, and prohibitions that DSC uses for runtime policy enforcement.\n\t */\n\tagreement: IOdrlAgreement;\n\n\t/**\n\t * Dataset ID - what the DSC needs to execute the query.\n\t * Convenience field extracted from agreement.target for quick access.\n\t */\n\tdatasetId: string;\n\n\t/**\n\t * Offer ID.\n\t */\n\tofferId: string;\n\n\t/**\n\t * Current Transfer Process state.\n\t * DSC should only allow queries if state is STARTED.\n\t */\n\tstate: DataspaceProtocolTransferProcessStateType;\n\n\t/**\n\t * Consumer identity (for auditing).\n\t */\n\tconsumerIdentity?: string;\n\n\t/**\n\t * Provider identity (for auditing).\n\t * Extracted from Agreement's assigner field.\n\t */\n\tproviderIdentity?: string;\n\n\t/**\n\t * Data address for push mode transfers.\n\t * Contains endpoint information where data should be pushed (for Activity Stream push mode).\n\t * Only present when format is Http-Push-Activity-Stream-Format or Http-Post-Activity-Stream-Format.\n\t */\n\tdataAddress?: IDataspaceProtocolDataAddress;\n}\n"]}
1
+ {"version":3,"file":"ITransferContext.js","sourceRoot":"","sources":["../../../../src/models/control-plane/ITransferContext.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolTransferProcessStateType,\n\tIDataspaceProtocolAgreement,\n\tIDataspaceProtocolDataAddress\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Transfer Context data structure.\n * Contains all information needed by DSC to execute queries.\n * This is NOT part of the DSP protocol - it's a TWIN internal API\n * used by dataspace-control-plane to resolve consumerPid to datasetId and policies.\n */\nexport interface ITransferContext {\n\t/**\n\t * Consumer Process ID.\n\t */\n\tconsumerPid: string;\n\n\t/**\n\t * Provider Process ID.\n\t */\n\tproviderPid: string;\n\n\t/**\n\t * Agreement associated with this Transfer Process.\n\t * Contains permissions, obligations, and prohibitions that DSC uses for runtime policy enforcement.\n\t */\n\tagreement: IDataspaceProtocolAgreement;\n\n\t/**\n\t * Dataset ID - what the DSC needs to execute the query.\n\t * Convenience field extracted from agreement.target for quick access.\n\t */\n\tdatasetId: string;\n\n\t/**\n\t * Offer ID.\n\t */\n\tofferId: string;\n\n\t/**\n\t * Current Transfer Process state.\n\t * DSC should only allow queries if state is STARTED.\n\t */\n\tstate: DataspaceProtocolTransferProcessStateType;\n\n\t/**\n\t * Consumer identity (for auditing).\n\t */\n\tconsumerIdentity?: string;\n\n\t/**\n\t * Provider identity (for auditing).\n\t * Extracted from Agreement's assigner field.\n\t */\n\tproviderIdentity?: string;\n\n\t/**\n\t * Data address for push mode transfers.\n\t * Contains endpoint information where data should be pushed (for Activity Stream push mode).\n\t * Only present when format is Http-Push-Activity-Stream-Format or Http-Post-Activity-Stream-Format.\n\t */\n\tdataAddress?: IDataspaceProtocolDataAddress;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ITransferProcess.js","sourceRoot":"","sources":["../../../../src/models/control-plane/ITransferProcess.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolTransferProcessStateType,\n\tIDataspaceProtocolDataAddress\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { IOdrlPolicy } from \"@twin.org/standards-w3c-odrl\";\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?: IOdrlPolicy[];\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 * 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 push mode transfers.\n\t * Contains endpoint information where data should be pushed (for Activity Stream push mode).\n\t * Only present when format is Http-Push-Activity-Stream-Format or Http-Post-Activity-Stream-Format.\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"]}
1
+ {"version":3,"file":"ITransferProcess.js","sourceRoot":"","sources":["../../../../src/models/control-plane/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 * 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 push mode transfers.\n\t * Contains endpoint information where data should be pushed (for Activity Stream push mode).\n\t * Only present when format is Http-Push-Activity-Stream-Format or Http-Post-Activity-Stream-Format.\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"]}
@@ -0,0 +1,10 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * The contexts related to Dataspace
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export const DataspaceContexts = {
8
+ JsonSchemaNamespace: "https://schema.twindev.org/dataspace/"
9
+ };
10
+ //# sourceMappingURL=dataspaceContexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceContexts.js","sourceRoot":"","sources":["../../../src/models/dataspaceContexts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,mBAAmB,EAAE,uCAAuC;CACnD,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The contexts related to Dataspace\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const DataspaceContexts = {\n\tJsonSchemaNamespace: \"https://schema.twindev.org/dataspace/\"\n} as const;\n\n/**\n * The types concerning dataspace.\n */\nexport type DataspaceContexts = (typeof DataspaceContexts)[keyof typeof DataspaceContexts];\n"]}
@@ -0,0 +1,10 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * The types concerning dataspace
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export const DataspaceTypes = {
8
+ Activity: "Activity"
9
+ };
10
+ //# sourceMappingURL=dataspaceTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceTypes.js","sourceRoot":"","sources":["../../../src/models/dataspaceTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,QAAQ,EAAE,UAAU;CACX,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The types concerning dataspace\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const DataspaceTypes = {\n\tActivity: \"Activity\"\n} as const;\n\n/**\n * The types concerning dataspace.\n */\nexport type DataspaceTypes = (typeof DataspaceTypes)[keyof typeof DataspaceTypes];\n"]}
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/dataspace/DataspaceActivity",
4
+ "description": "Activity Streams Activity expected by the Dataspace Data Plane",
5
+ "title": "DataspaceActivity",
6
+ "allOf": [
7
+ {
8
+ "$ref": "https://schema.twindev.org/w3c-activity-streams/ActivityStreamsActivity"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "object": {
14
+ "type": "object",
15
+ "required": [
16
+ "@context",
17
+ "type"
18
+ ]
19
+ },
20
+ "target": {
21
+ "type": "object",
22
+ "required": [
23
+ "@context",
24
+ "type"
25
+ ]
26
+ }
27
+ },
28
+ "required": [
29
+ "object"
30
+ ]
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Dataspace datatypes.
3
+ */
4
+ export declare class DataspaceDataTypes {
5
+ /**
6
+ * Register all the data types.
7
+ */
8
+ static registerTypes(): void;
9
+ }
@@ -1,5 +1,4 @@
1
- import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolDataAddress } from "@twin.org/standards-dataspace-protocol";
2
- import type { IOdrlPolicy } from "@twin.org/standards-w3c-odrl";
1
+ import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolDataAddress, IDataspaceProtocolPolicy } from "@twin.org/standards-dataspace-protocol";
3
2
  /**
4
3
  * Transfer Process for shared storage between Control Plane and Data Plane.
5
4
  * This entity is the persistent representation of ITransferProcess.
@@ -63,7 +62,7 @@ export declare class TransferProcess {
63
62
  /**
64
63
  * Policies from the Agreement (stored as JSON).
65
64
  */
66
- policies?: IOdrlPolicy[];
65
+ policies?: IDataspaceProtocolPolicy[];
67
66
  /**
68
67
  * Data address for push mode transfers (stored as JSON).
69
68
  */
@@ -7,6 +7,10 @@ export * from "./models/control-plane/transferProcessRole.js";
7
7
  export * from "./models/control-plane/ITransferContext.js";
8
8
  export * from "./models/control-plane/api/ITransferContextResponse.js";
9
9
  export * from "./models/data-plane/IDataspaceDataPlaneComponent.js";
10
+ export * from "./models/IDataspaceActivity.js";
11
+ export * from "./models/dataspaceTypes.js";
12
+ export * from "./models/dataspaceContexts.js";
13
+ export * from "./dataTypes/dataspaceDataTypes.js";
10
14
  export * from "./factories/dataspaceAppFactory.js";
11
15
  export * from "./models/app/IDataspaceApp.js";
12
16
  export * from "./models/activityProcessingStatus.js";
@@ -0,0 +1,20 @@
1
+ import type { ObjectOrArray } from "@twin.org/core";
2
+ import type { JsonLdObjectWithContext } from "@twin.org/data-json-ld";
3
+ import type { IActivityStreamsActivity } from "@twin.org/standards-w3c-activity-streams";
4
+ /**
5
+ * A dataspace activity that restricts an activity so that it can be handled by a Dataspace Data Plane
6
+ */
7
+ export interface IDataspaceActivity<O extends object = object, T extends object = object> extends Omit<IActivityStreamsActivity, "object"> {
8
+ /**
9
+ * Activity's Object
10
+ */
11
+ object: ObjectOrArray<JsonLdObjectWithContext<O & {
12
+ type: ObjectOrArray<string>;
13
+ }>>;
14
+ /**
15
+ * Activity's target
16
+ */
17
+ target?: JsonLdObjectWithContext<T & {
18
+ type: ObjectOrArray<string>;
19
+ }>;
20
+ }
@@ -1,4 +1,4 @@
1
- import type { IActivityStreamsActivity } from "@twin.org/standards-w3c-activity-streams";
1
+ import type { IDataspaceActivity } from "./IDataspaceActivity.js";
2
2
  /**
3
3
  * Execution payload.
4
4
  */
@@ -10,7 +10,7 @@ export interface IExecutionPayload {
10
10
  /**
11
11
  * The activity
12
12
  */
13
- activity: IActivityStreamsActivity;
13
+ activity: IDataspaceActivity;
14
14
  /**
15
15
  * The executor App.
16
16
  */
@@ -1,9 +1,9 @@
1
1
  import type { IComponent } from "@twin.org/core";
2
2
  import type { IJsonLdDocument } from "@twin.org/data-json-ld";
3
3
  import type { IDataspaceProtocolDataset } from "@twin.org/standards-dataspace-protocol";
4
- import type { IActivityStreamsActivity } from "@twin.org/standards-w3c-activity-streams";
5
4
  import type { IActivityQuery } from "./IActivityQuery.js";
6
5
  import type { IDataRequest } from "./IDataRequest.js";
6
+ import type { IDataspaceActivity } from "../IDataspaceActivity.js";
7
7
  /**
8
8
  * Interface describes a Dataspace App.
9
9
  */
@@ -28,7 +28,7 @@ export interface IDataspaceApp extends IComponent {
28
28
  * @param activity The Activity to be handled
29
29
  * @returns The result of executing the Activity.
30
30
  */
31
- handleActivity?<T>(activity: IActivityStreamsActivity): Promise<T>;
31
+ handleActivity?<T>(activity: IDataspaceActivity): Promise<T>;
32
32
  /**
33
33
  * Handles a Data Request.
34
34
  * @param dataRequest The data request.
@@ -38,13 +38,14 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
38
38
  *
39
39
  * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#negotiation-protocol
40
40
  *
41
+ * @param datasetId The dataset ID from the provider's catalog.
41
42
  * @param offerId The offer ID from the provider's catalog.
42
43
  * @param providerEndpoint The provider's contract negotiation endpoint URL.
43
44
  * @param publicOrigin The public origin URL of this control plane (for callbacks).
44
45
  * @param trustPayload Trust payload for authentication (JWT or Verifiable Credential).
45
46
  * @returns The negotiation ID for tracking. Use registered callback for completion.
46
47
  */
47
- negotiateAgreement(offerId: string, providerEndpoint: string, publicOrigin: string, trustPayload: unknown): Promise<{
48
+ negotiateAgreement(datasetId: string, offerId: string, providerEndpoint: string, publicOrigin: string, trustPayload: unknown): Promise<{
48
49
  negotiationId: string;
49
50
  }>;
50
51
  /**
@@ -1,5 +1,4 @@
1
- import type { DataspaceProtocolContractNegotiationStateType } from "@twin.org/standards-dataspace-protocol";
2
- import type { IOdrlAgreement, IOdrlOffer } from "@twin.org/standards-w3c-odrl";
1
+ import type { DataspaceProtocolContractNegotiationStateType, IDataspaceProtocolAgreement, IDataspaceProtocolOffer } from "@twin.org/standards-dataspace-protocol";
3
2
  /**
4
3
  * Callback interface for negotiation state change notifications.
5
4
  * Upstream modules register an implementation of this interface
@@ -17,8 +16,8 @@ export interface INegotiationCallback {
17
16
  * @returns Nothing.
18
17
  */
19
18
  onStateChanged(negotiationId: string, state: DataspaceProtocolContractNegotiationStateType, data?: {
20
- offer?: IOdrlOffer;
21
- agreement?: IOdrlAgreement;
19
+ offer?: IDataspaceProtocolOffer;
20
+ agreement?: IDataspaceProtocolAgreement;
22
21
  }): Promise<void>;
23
22
  /**
24
23
  * Called when the negotiation completes successfully (finalized).
@@ -1,5 +1,4 @@
1
- import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolDataAddress } from "@twin.org/standards-dataspace-protocol";
2
- import type { IOdrlAgreement } from "@twin.org/standards-w3c-odrl";
1
+ import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolAgreement, IDataspaceProtocolDataAddress } from "@twin.org/standards-dataspace-protocol";
3
2
  /**
4
3
  * Transfer Context data structure.
5
4
  * Contains all information needed by DSC to execute queries.
@@ -19,7 +18,7 @@ export interface ITransferContext {
19
18
  * Agreement associated with this Transfer Process.
20
19
  * Contains permissions, obligations, and prohibitions that DSC uses for runtime policy enforcement.
21
20
  */
22
- agreement: IOdrlAgreement;
21
+ agreement: IDataspaceProtocolAgreement;
23
22
  /**
24
23
  * Dataset ID - what the DSC needs to execute the query.
25
24
  * Convenience field extracted from agreement.target for quick access.
@@ -1,5 +1,4 @@
1
- import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolDataAddress } from "@twin.org/standards-dataspace-protocol";
2
- import type { IOdrlPolicy } from "@twin.org/standards-w3c-odrl";
1
+ import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolDataAddress, IDataspaceProtocolPolicy } from "@twin.org/standards-dataspace-protocol";
3
2
  /**
4
3
  * Transfer Process for internal storage.
5
4
  * Combines DSP protocol fields with internal TWIN fields.
@@ -43,7 +42,7 @@ export interface ITransferProcess {
43
42
  * Policies from the Agreement.
44
43
  * Used by DSC for runtime policy enforcement.
45
44
  */
46
- policies?: IOdrlPolicy[];
45
+ policies?: IDataspaceProtocolPolicy[];
47
46
  /**
48
47
  * Consumer identity (DID or URI).
49
48
  * Used for auditing and access control.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The contexts related to Dataspace
3
+ */
4
+ export declare const DataspaceContexts: {
5
+ readonly JsonSchemaNamespace: "https://schema.twindev.org/dataspace/";
6
+ };
7
+ /**
8
+ * The types concerning dataspace.
9
+ */
10
+ export type DataspaceContexts = (typeof DataspaceContexts)[keyof typeof DataspaceContexts];
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The types concerning dataspace
3
+ */
4
+ export declare const DataspaceTypes: {
5
+ readonly Activity: "Activity";
6
+ };
7
+ /**
8
+ * The types concerning dataspace.
9
+ */
10
+ export type DataspaceTypes = (typeof DataspaceTypes)[keyof typeof DataspaceTypes];
package/docs/changelog.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.18](https://github.com/twinfoundation/dataspace/compare/dataspace-models-v0.0.3-next.17...dataspace-models-v0.0.3-next.18) (2026-03-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * resolve DSP transfer flow bugs for cross-node communication ([#76](https://github.com/twinfoundation/dataspace/issues/76)) ([506a45c](https://github.com/twinfoundation/dataspace/commit/506a45c94e63d5f958b1fc7131adfe452c3e2974))
9
+
10
+ ## [0.0.3-next.17](https://github.com/twinfoundation/dataspace/compare/dataspace-models-v0.0.3-next.16...dataspace-models-v0.0.3-next.17) (2026-03-06)
11
+
12
+
13
+ ### Features
14
+
15
+ * docs update ([8b44c7a](https://github.com/twinfoundation/dataspace/commit/8b44c7a75afb8d377a6f606616f8a78d58439ab4))
16
+ * types update ([77c338e](https://github.com/twinfoundation/dataspace/commit/77c338e9244dcc7e3d597fdb06229513b1f13eac))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * avoid compaction of incoming activities ([#77](https://github.com/twinfoundation/dataspace/issues/77)) ([ff43d6a](https://github.com/twinfoundation/dataspace/commit/ff43d6a3e1563eb9cb185501134b2a53ae88787c))
22
+
3
23
  ## [0.0.3-next.16](https://github.com/twinfoundation/dataspace/compare/dataspace-models-v0.0.3-next.15...dataspace-models-v0.0.3-next.16) (2026-03-02)
4
24
 
5
25
 
@@ -0,0 +1,25 @@
1
+ # Class: DataspaceDataTypes
2
+
3
+ Dataspace datatypes.
4
+
5
+ ## Constructors
6
+
7
+ ### Constructor
8
+
9
+ > **new DataspaceDataTypes**(): `DataspaceDataTypes`
10
+
11
+ #### Returns
12
+
13
+ `DataspaceDataTypes`
14
+
15
+ ## Methods
16
+
17
+ ### registerTypes()
18
+
19
+ > `static` **registerTypes**(): `void`
20
+
21
+ Register all the data types.
22
+
23
+ #### Returns
24
+
25
+ `void`
@@ -124,7 +124,7 @@ Last update timestamp (ISO string format).
124
124
 
125
125
  ### policies?
126
126
 
127
- > `optional` **policies**: `IOdrlPolicy`[]
127
+ > `optional` **policies**: `IDataspaceProtocolPolicy`[]
128
128
 
129
129
  Policies from the Agreement (stored as JSON).
130
130
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  ## Classes
4
4
 
5
+ - [DataspaceDataTypes](classes/DataspaceDataTypes.md)
5
6
  - [TransferProcess](classes/TransferProcess.md)
6
7
 
7
8
  ## Interfaces
@@ -13,6 +14,7 @@
13
14
  - [IActivityTask](interfaces/IActivityTask.md)
14
15
  - [IDataAssetItemList](interfaces/IDataAssetItemList.md)
15
16
  - [IDataAssetItemListResult](interfaces/IDataAssetItemListResult.md)
17
+ - [IDataspaceActivity](interfaces/IDataspaceActivity.md)
16
18
  - [IEntitySet](interfaces/IEntitySet.md)
17
19
  - [IExecutionPayload](interfaces/IExecutionPayload.md)
18
20
  - [IFilteringQuery](interfaces/IFilteringQuery.md)
@@ -56,6 +58,8 @@
56
58
  - [IDataRequest](type-aliases/IDataRequest.md)
57
59
  - [DataRequestType](type-aliases/DataRequestType.md)
58
60
  - [TransferProcessRole](type-aliases/TransferProcessRole.md)
61
+ - [DataspaceContexts](type-aliases/DataspaceContexts.md)
62
+ - [DataspaceTypes](type-aliases/DataspaceTypes.md)
59
63
 
60
64
  ## Variables
61
65
 
@@ -63,3 +67,5 @@
63
67
  - [ActivityProcessingStatus](variables/ActivityProcessingStatus.md)
64
68
  - [DataRequestType](variables/DataRequestType.md)
65
69
  - [TransferProcessRole](variables/TransferProcessRole.md)
70
+ - [DataspaceContexts](variables/DataspaceContexts.md)
71
+ - [DataspaceTypes](variables/DataspaceTypes.md)
@@ -0,0 +1,37 @@
1
+ # Interface: IDataspaceActivity\<O, T\>
2
+
3
+ A dataspace activity that restricts an activity so that it can be handled by a Dataspace Data Plane
4
+
5
+ ## Extends
6
+
7
+ - `Omit`\<`IActivityStreamsActivity`, `"object"`\>
8
+
9
+ ## Type Parameters
10
+
11
+ ### O
12
+
13
+ `O` *extends* `object` = `object`
14
+
15
+ ### T
16
+
17
+ `T` *extends* `object` = `object`
18
+
19
+ ## Properties
20
+
21
+ ### object
22
+
23
+ > **object**: `ObjectOrArray`\<`JsonLdObjectWithContext`\<`O` & `object`\>\>
24
+
25
+ Activity's Object
26
+
27
+ ***
28
+
29
+ ### target?
30
+
31
+ > `optional` **target**: `JsonLdObjectWithContext`\<`T` & `object`\>
32
+
33
+ Activity's target
34
+
35
+ #### Overrides
36
+
37
+ `Omit.target`
@@ -66,7 +66,7 @@ Handles an Activity and report about results through the Dataspace Data Plane Ca
66
66
 
67
67
  ##### activity
68
68
 
69
- `IActivityStreamsActivity`
69
+ [`IDataspaceActivity`](IDataspaceActivity.md)
70
70
 
71
71
  The Activity to be handled
72
72
 
@@ -66,7 +66,7 @@ The key used when registering the callback.
66
66
 
67
67
  ### negotiateAgreement()
68
68
 
69
- > **negotiateAgreement**(`offerId`, `providerEndpoint`, `publicOrigin`, `trustPayload`): `Promise`\<\{ `negotiationId`: `string`; \}\>
69
+ > **negotiateAgreement**(`datasetId`, `offerId`, `providerEndpoint`, `publicOrigin`, `trustPayload`): `Promise`\<\{ `negotiationId`: `string`; \}\>
70
70
 
71
71
  Negotiate a contract agreement with a provider.
72
72
  Implements DSP Contract Negotiation Protocol.
@@ -81,6 +81,12 @@ DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/20
81
81
 
82
82
  #### Parameters
83
83
 
84
+ ##### datasetId
85
+
86
+ `string`
87
+
88
+ The dataset ID from the provider's catalog.
89
+
84
90
  ##### offerId
85
91
 
86
92
  `string`
@@ -14,7 +14,7 @@ The Activity Log Entry Id.
14
14
 
15
15
  ### activity
16
16
 
17
- > **activity**: `IActivityStreamsActivity`
17
+ > **activity**: [`IDataspaceActivity`](IDataspaceActivity.md)
18
18
 
19
19
  The activity
20
20
 
@@ -33,13 +33,13 @@ Optional data associated with the state change.
33
33
 
34
34
  ###### offer?
35
35
 
36
- `IOdrlOffer`
36
+ `IDataspaceProtocolOffer`
37
37
 
38
38
  The offer received from the provider.
39
39
 
40
40
  ###### agreement?
41
41
 
42
- `IOdrlAgreement`
42
+ `IDataspaceProtocolAgreement`
43
43
 
44
44
  The agreement received from the provider.
45
45
 
@@ -25,7 +25,7 @@ Provider Process ID.
25
25
 
26
26
  ### agreement
27
27
 
28
- > **agreement**: `IOdrlAgreement`
28
+ > **agreement**: `IDataspaceProtocolAgreement`
29
29
 
30
30
  Agreement associated with this Transfer Process.
31
31
  Contains permissions, obligations, and prohibitions that DSC uses for runtime policy enforcement.
@@ -69,7 +69,7 @@ Offer ID from the original Catalog offer.
69
69
 
70
70
  ### policies?
71
71
 
72
- > `optional` **policies**: `IOdrlPolicy`[]
72
+ > `optional` **policies**: `IDataspaceProtocolPolicy`[]
73
73
 
74
74
  Policies from the Agreement.
75
75
  Used by DSC for runtime policy enforcement.
@@ -0,0 +1,5 @@
1
+ # Type Alias: DataspaceContexts
2
+
3
+ > **DataspaceContexts** = *typeof* [`DataspaceContexts`](../variables/DataspaceContexts.md)\[keyof *typeof* [`DataspaceContexts`](../variables/DataspaceContexts.md)\]
4
+
5
+ The types concerning dataspace.
@@ -0,0 +1,5 @@
1
+ # Type Alias: DataspaceTypes
2
+
3
+ > **DataspaceTypes** = *typeof* [`DataspaceTypes`](../variables/DataspaceTypes.md)\[keyof *typeof* [`DataspaceTypes`](../variables/DataspaceTypes.md)\]
4
+
5
+ The types concerning dataspace.
@@ -0,0 +1,11 @@
1
+ # Variable: DataspaceContexts
2
+
3
+ > `const` **DataspaceContexts**: `object`
4
+
5
+ The contexts related to Dataspace
6
+
7
+ ## Type Declaration
8
+
9
+ ### JsonSchemaNamespace
10
+
11
+ > `readonly` **JsonSchemaNamespace**: `"https://schema.twindev.org/dataspace/"` = `"https://schema.twindev.org/dataspace/"`
@@ -0,0 +1,11 @@
1
+ # Variable: DataspaceTypes
2
+
3
+ > `const` **DataspaceTypes**: `object`
4
+
5
+ The types concerning dataspace
6
+
7
+ ## Type Declaration
8
+
9
+ ### Activity
10
+
11
+ > `readonly` **Activity**: `"Activity"` = `"Activity"`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/dataspace-models",
3
- "version": "0.0.3-next.16",
3
+ "version": "0.0.3-next.18",
4
4
  "description": "Models which define the structure of the Dataspace (Control Plane and Data Plane)",
5
5
  "repository": {
6
6
  "type": "git",