@twin.org/dataspace-models 0.0.3-next.47 → 0.0.3-next.49

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 (37) hide show
  1. package/dist/es/entities/dataspaceAppDataset.js +0 -2
  2. package/dist/es/entities/dataspaceAppDataset.js.map +1 -1
  3. package/dist/es/index.js +4 -0
  4. package/dist/es/index.js.map +1 -1
  5. package/dist/es/models/app/IDataAssetQuery.js.map +1 -1
  6. package/dist/es/models/app/IDataspaceApp.js.map +1 -1
  7. package/dist/es/models/controlPlane/IDataspaceControlPlaneComponent.js.map +1 -1
  8. package/dist/es/models/controlPlane/dataspaceControlPlaneMetricIds.js +49 -0
  9. package/dist/es/models/controlPlane/dataspaceControlPlaneMetricIds.js.map +1 -0
  10. package/dist/es/models/controlPlane/dataspaceControlPlaneMetrics.js +61 -0
  11. package/dist/es/models/controlPlane/dataspaceControlPlaneMetrics.js.map +1 -0
  12. package/dist/es/models/dataPlane/dataspaceDataPlaneMetricIds.js +33 -0
  13. package/dist/es/models/dataPlane/dataspaceDataPlaneMetricIds.js.map +1 -0
  14. package/dist/es/models/dataPlane/dataspaceDataPlaneMetrics.js +41 -0
  15. package/dist/es/models/dataPlane/dataspaceDataPlaneMetrics.js.map +1 -0
  16. package/dist/types/entities/dataspaceAppDataset.d.ts +0 -2
  17. package/dist/types/index.d.ts +4 -0
  18. package/dist/types/models/app/IDataAssetQuery.d.ts +1 -4
  19. package/dist/types/models/app/IDataspaceApp.d.ts +2 -12
  20. package/dist/types/models/controlPlane/IDataspaceControlPlaneComponent.d.ts +5 -11
  21. package/dist/types/models/controlPlane/dataspaceControlPlaneMetricIds.d.ts +49 -0
  22. package/dist/types/models/controlPlane/dataspaceControlPlaneMetrics.d.ts +5 -0
  23. package/dist/types/models/dataPlane/dataspaceDataPlaneMetricIds.d.ts +33 -0
  24. package/dist/types/models/dataPlane/dataspaceDataPlaneMetrics.d.ts +5 -0
  25. package/docs/changelog.md +15 -0
  26. package/docs/reference/classes/DataspaceAppDataset.md +0 -2
  27. package/docs/reference/index.md +6 -0
  28. package/docs/reference/interfaces/IDataAssetQuery.md +1 -6
  29. package/docs/reference/interfaces/IDataspaceApp.md +0 -25
  30. package/docs/reference/interfaces/IDataspaceControlPlaneComponent.md +5 -36
  31. package/docs/reference/type-aliases/DataspaceControlPlaneMetricIds.md +5 -0
  32. package/docs/reference/type-aliases/DataspaceDataPlaneMetricIds.md +5 -0
  33. package/docs/reference/variables/DataspaceControlPlaneMetricIds.md +67 -0
  34. package/docs/reference/variables/DataspaceControlPlaneMetrics.md +5 -0
  35. package/docs/reference/variables/DataspaceDataPlaneMetricIds.md +43 -0
  36. package/docs/reference/variables/DataspaceDataPlaneMetrics.md +5 -0
  37. package/package.json +3 -2
@@ -22,8 +22,6 @@ let DataspaceAppDataset = class DataspaceAppDataset {
22
22
  /**
23
23
  * The dataspace app that this dataset belongs to. Matches the app's
24
24
  * registered name in `DataspaceAppFactory` (typically the app's URI).
25
- * Used as the join key when dispatching to an app's optional
26
- * `datasetsHandled` override.
27
25
  */
28
26
  appId;
29
27
  /**
@@ -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,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"]}
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;;;OAGG;IAEI,KAAK,CAAU;IAEtB;;;OAGG;IAEI,OAAO,CAA8B;IAE5C;;OAEG;IAEI,WAAW,CAAU;IAE5B;;OAEG;IAEI,YAAY,CAAU;CAC7B,CAAA;AAzCO;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;AAOlB;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;AA7CjB,mBAAmB;IAD/B,MAAM,EAAE;GACI,mBAAmB,CA8C/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 */\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"]}
package/dist/es/index.js CHANGED
@@ -5,6 +5,8 @@ export * from "./entities/dataspaceAppDataset.js";
5
5
  export * from "./entities/transferProcess.js";
6
6
  // Control Plane exports
7
7
  export * from "./models/controlPlane/api/ITransferContextResponse.js";
8
+ export * from "./models/controlPlane/dataspaceControlPlaneMetricIds.js";
9
+ export * from "./models/controlPlane/dataspaceControlPlaneMetrics.js";
8
10
  export * from "./models/controlPlane/IDataspaceAppDataset.js";
9
11
  export * from "./models/controlPlane/IDataspaceControlPlaneComponent.js";
10
12
  export * from "./models/controlPlane/IDataspaceControlPlaneResolverComponent.js";
@@ -14,6 +16,8 @@ export * from "./models/controlPlane/ITransferContext.js";
14
16
  export * from "./models/controlPlane/ITransferProcess.js";
15
17
  export * from "./models/controlPlane/transferProcessRole.js";
16
18
  // Data Plane exports
19
+ export * from "./models/dataPlane/dataspaceDataPlaneMetricIds.js";
20
+ export * from "./models/dataPlane/dataspaceDataPlaneMetrics.js";
17
21
  export * from "./models/dataPlane/IDataspaceDataPlaneComponent.js";
18
22
  export * from "./models/dataspaceContexts.js";
19
23
  export * from "./models/dataspaceTransferFormat.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC,iBAAiB;AACjB,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAE9C,wBAAwB;AACxB,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0DAA0D,CAAC;AACzE,cAAc,kEAAkE,CAAC;AACjF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAE7D,qBAAqB;AACrB,cAAc,oDAAoD,CAAC;AAEnE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,mCAAmC,CAAC;AAElD,cAAc;AACd,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AAExD,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,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AAEvD,wDAAwD;AACxD,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,0DAA0D,CAAC;AACzE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AAExE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AAEjD,kBAAkB;AAClB,cAAc,wBAAwB,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n// Entity exports\nexport * from \"./entities/dataspaceAppDataset.js\";\nexport * from \"./entities/transferProcess.js\";\n\n// Control Plane exports\nexport * from \"./models/controlPlane/api/ITransferContextResponse.js\";\nexport * from \"./models/controlPlane/IDataspaceAppDataset.js\";\nexport * from \"./models/controlPlane/IDataspaceControlPlaneComponent.js\";\nexport * from \"./models/controlPlane/IDataspaceControlPlaneResolverComponent.js\";\nexport * from \"./models/controlPlane/INegotiationCallback.js\";\nexport * from \"./models/controlPlane/ITransferCallback.js\";\nexport * from \"./models/controlPlane/ITransferContext.js\";\nexport * from \"./models/controlPlane/ITransferProcess.js\";\nexport * from \"./models/controlPlane/transferProcessRole.js\";\n\n// Data Plane exports\nexport * from \"./models/dataPlane/IDataspaceDataPlaneComponent.js\";\n\nexport * from \"./models/dataspaceContexts.js\";\nexport * from \"./models/dataspaceTransferFormat.js\";\nexport * from \"./models/dataspaceTypes.js\";\nexport * from \"./models/IDataspaceActivity.js\";\n\nexport * from \"./dataTypes/dataspaceDataTypes.js\";\n\n// App exports\nexport * from \"./factories/dataspaceAppFactory.js\";\nexport * from \"./models/app/IDataspaceApp.js\";\nexport * from \"./models/app/IFollowActivity.js\";\nexport * from \"./models/app/IUndoActivity.js\";\nexport * from \"./models/app/IProcessingGroupOptions.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/IActivityStreamNotifyResponse.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/controlPlane/IAppDatasetCreateRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetCreateResponse.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetDeleteRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetGetRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetGetResponse.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetListRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetListResponse.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetUpdateRequest.js\";\nexport * from \"./models/api/controlPlane/ICompleteTransferRequest.js\";\nexport * from \"./models/api/controlPlane/ICompleteTransferResponse.js\";\nexport * from \"./models/api/controlPlane/IGetTransferProcessRequest.js\";\nexport * from \"./models/api/controlPlane/IGetTransferProcessResponse.js\";\nexport * from \"./models/api/controlPlane/IRequestTransferRequest.js\";\nexport * from \"./models/api/controlPlane/IRequestTransferResponse.js\";\nexport * from \"./models/api/controlPlane/IStartTransferRequest.js\";\nexport * from \"./models/api/controlPlane/IStartTransferResponse.js\";\nexport * from \"./models/api/controlPlane/ISuspendTransferRequest.js\";\nexport * from \"./models/api/controlPlane/ISuspendTransferResponse.js\";\nexport * from \"./models/api/controlPlane/ITerminateTransferRequest.js\";\nexport * from \"./models/api/controlPlane/ITerminateTransferResponse.js\";\n\nexport * from \"./models/activityTaskStatus.js\";\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/IDataRequest.js\";\nexport * from \"./models/app/IQueryDataAssetRequest.js\";\nexport * from \"./models/IActivityLogDetails.js\";\nexport * from \"./models/IActivityLogEntry.js\";\nexport * from \"./models/IActivityLogStatusNotification.js\";\nexport * from \"./models/IActivityTask.js\";\nexport * from \"./models/IActivityTaskEntry.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/IPushDeliveryPayload.js\";\n\n// Utility exports\nexport * from \"./utils/jsonLdUtils.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC,iBAAiB;AACjB,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAE9C,wBAAwB;AACxB,cAAc,uDAAuD,CAAC;AACtE,cAAc,yDAAyD,CAAC;AACxE,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0DAA0D,CAAC;AACzE,cAAc,kEAAkE,CAAC;AACjF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAE7D,qBAAqB;AACrB,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,oDAAoD,CAAC;AAEnE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,mCAAmC,CAAC;AAElD,cAAc;AACd,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AAExD,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,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AAEvD,wDAAwD;AACxD,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,0DAA0D,CAAC;AACzE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AACtE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AAExE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AAEjD,kBAAkB;AAClB,cAAc,wBAAwB,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n// Entity exports\nexport * from \"./entities/dataspaceAppDataset.js\";\nexport * from \"./entities/transferProcess.js\";\n\n// Control Plane exports\nexport * from \"./models/controlPlane/api/ITransferContextResponse.js\";\nexport * from \"./models/controlPlane/dataspaceControlPlaneMetricIds.js\";\nexport * from \"./models/controlPlane/dataspaceControlPlaneMetrics.js\";\nexport * from \"./models/controlPlane/IDataspaceAppDataset.js\";\nexport * from \"./models/controlPlane/IDataspaceControlPlaneComponent.js\";\nexport * from \"./models/controlPlane/IDataspaceControlPlaneResolverComponent.js\";\nexport * from \"./models/controlPlane/INegotiationCallback.js\";\nexport * from \"./models/controlPlane/ITransferCallback.js\";\nexport * from \"./models/controlPlane/ITransferContext.js\";\nexport * from \"./models/controlPlane/ITransferProcess.js\";\nexport * from \"./models/controlPlane/transferProcessRole.js\";\n\n// Data Plane exports\nexport * from \"./models/dataPlane/dataspaceDataPlaneMetricIds.js\";\nexport * from \"./models/dataPlane/dataspaceDataPlaneMetrics.js\";\nexport * from \"./models/dataPlane/IDataspaceDataPlaneComponent.js\";\n\nexport * from \"./models/dataspaceContexts.js\";\nexport * from \"./models/dataspaceTransferFormat.js\";\nexport * from \"./models/dataspaceTypes.js\";\nexport * from \"./models/IDataspaceActivity.js\";\n\nexport * from \"./dataTypes/dataspaceDataTypes.js\";\n\n// App exports\nexport * from \"./factories/dataspaceAppFactory.js\";\nexport * from \"./models/app/IDataspaceApp.js\";\nexport * from \"./models/app/IFollowActivity.js\";\nexport * from \"./models/app/IUndoActivity.js\";\nexport * from \"./models/app/IProcessingGroupOptions.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/IActivityStreamNotifyResponse.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/controlPlane/IAppDatasetCreateRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetCreateResponse.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetDeleteRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetGetRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetGetResponse.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetListRequest.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetListResponse.js\";\nexport * from \"./models/api/controlPlane/IAppDatasetUpdateRequest.js\";\nexport * from \"./models/api/controlPlane/ICompleteTransferRequest.js\";\nexport * from \"./models/api/controlPlane/ICompleteTransferResponse.js\";\nexport * from \"./models/api/controlPlane/IGetTransferProcessRequest.js\";\nexport * from \"./models/api/controlPlane/IGetTransferProcessResponse.js\";\nexport * from \"./models/api/controlPlane/IRequestTransferRequest.js\";\nexport * from \"./models/api/controlPlane/IRequestTransferResponse.js\";\nexport * from \"./models/api/controlPlane/IStartTransferRequest.js\";\nexport * from \"./models/api/controlPlane/IStartTransferResponse.js\";\nexport * from \"./models/api/controlPlane/ISuspendTransferRequest.js\";\nexport * from \"./models/api/controlPlane/ISuspendTransferResponse.js\";\nexport * from \"./models/api/controlPlane/ITerminateTransferRequest.js\";\nexport * from \"./models/api/controlPlane/ITerminateTransferResponse.js\";\n\nexport * from \"./models/activityTaskStatus.js\";\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/IDataRequest.js\";\nexport * from \"./models/app/IQueryDataAssetRequest.js\";\nexport * from \"./models/IActivityLogDetails.js\";\nexport * from \"./models/IActivityLogEntry.js\";\nexport * from \"./models/IActivityLogStatusNotification.js\";\nexport * from \"./models/IActivityTask.js\";\nexport * from \"./models/IActivityTaskEntry.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/IPushDeliveryPayload.js\";\n\n// Utility exports\nexport * from \"./utils/jsonLdUtils.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDataAssetQuery.js","sourceRoot":"","sources":["../../../../src/models/app/IDataAssetQuery.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Data Asset query for internal service matching of datasets to apps.\n *\n * This interface is used internally by the Dataspace Data Plane service to match\n * datasets with their corresponding apps. Apps should use `datasetsHandled(): IDataset[]`\n * to declare which datasets they handle.\n *\n * @see IDataspaceDataPlaneApp.datasetsHandled\n */\nexport interface IDataAssetQuery {\n\t/**\n\t * Id of the dataset in the Catalogue (dataset @id).\n\t */\n\tdatasetId: string;\n}\n"]}
1
+ {"version":3,"file":"IDataAssetQuery.js","sourceRoot":"","sources":["../../../../src/models/app/IDataAssetQuery.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Data Asset query for internal service matching of datasets to apps.\n *\n * This interface is used internally by the Dataspace Data Plane service to match\n * datasets with their corresponding apps.\n */\nexport interface IDataAssetQuery {\n\t/**\n\t * Id of the dataset in the Catalogue (dataset @id).\n\t */\n\tdatasetId: 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 { 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
+ {"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 { IDataspaceActivity } from \"../IDataspaceActivity.js\";\nimport type { IActivityQuery } from \"./IActivityQuery.js\";\nimport type { IDataRequest } from \"./IDataRequest.js\";\nimport type { IFollowActivity } from \"./IFollowActivity.js\";\nimport type { IProcessingGroupOptions } from \"./IProcessingGroupOptions.js\";\nimport type { IUndoActivity } from \"./IUndoActivity.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 * 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":"IDataspaceControlPlaneComponent.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/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\tIDataspaceProtocolDataset,\n\tIDataspaceProtocolTransferCompletionMessage,\n\tIDataspaceProtocolTransferError,\n\tIDataspaceProtocolTransferProcess,\n\tIDataspaceProtocolTransferRequestMessage,\n\tIDataspaceProtocolTransferStartMessage,\n\tIDataspaceProtocolTransferSuspensionMessage,\n\tIDataspaceProtocolTransferTerminationMessage\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { IDataspaceAppDataset } from \"./IDataspaceAppDataset.js\";\nimport type { INegotiationCallback } from \"./INegotiationCallback.js\";\nimport type { ITransferCallback } from \"./ITransferCallback.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 * The REST client does not support this method and throws a not supported error —\n\t * use ComponentFactory.get() for the in-process service.\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 * Register a callback to receive transfer process state change notifications.\n\t * Upstream modules register their callback here to be notified when a\n\t * consumer-initiated transfer changes state (STARTED, COMPLETED, SUSPENDED,\n\t * TERMINATED).\n\t *\n\t * The REST client does not support this method and throws a not supported error —\n\t * use ComponentFactory.get() for the in-process service.\n\t * @param key A unique key identifying this callback registration.\n\t * @param callback The callback interface to register.\n\t */\n\tregisterTransferCallback(key: string, callback: ITransferCallback): void;\n\n\t/**\n\t * Unregister a previously registered transfer callback.\n\t * @param key The key used when registering the callback.\n\t */\n\tunregisterTransferCallback(key: string): void;\n\n\t/**\n\t * Prepare a data transfer as a Consumer.\n\t * High-level convenience wrapper around the DSP Transfer Request protocol.\n\t *\n\t * This method:\n\t * 1. Generates a consumerPid.\n\t * 2. POSTs a TransferRequestMessage to the provider's DSP endpoint.\n\t * 3. Persists a local TransferProcess in REQUESTED state (only if provider accepts).\n\t * 4. Returns the consumerPid immediately.\n\t *\n\t * The caller is notified of subsequent state changes (STARTED, COMPLETED, etc.)\n\t * via the registered ITransferCallback. The transfer moves to STARTED when the\n\t * provider POSTs a TransferStartMessage back to this node's callback address.\n\t *\n\t * The REST client does not support this method and throws a not supported error —\n\t * use ComponentFactory.get() for the in-process service.\n\t *\n\t * @param agreementId The finalized agreement ID (from contract negotiation).\n\t * @param providerEndpoint The provider's DSP control plane base URL.\n\t * @param publicOrigin The public origin URL of this control plane (used as callbackAddress).\n\t * @param format The transfer format (e.g. \"HttpData-PULL\", \"HttpData-PUSH\").\n\t * @param trustPayload Trust payload for authentication.\n\t * @returns The consumerPid of the newly created TransferProcess.\n\t */\n\tprepareTransfer(\n\t\tagreementId: string,\n\t\tproviderEndpoint: string,\n\t\tpublicOrigin: string,\n\t\tformat: string,\n\t\ttrustPayload: unknown\n\t): Promise<{ consumerPid: string }>;\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 publicOrigin The public origin of this provider node (resolved server-side by the REST route\n\t * from the hosting component); used to build the data-plane endpoint when auto-starting.\n\t * @param options Request options.\n\t * @param options.autoStart When true, the provider immediately starts the requested transfer; when\n\t * omitted/false the provider start must be triggered explicitly.\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\tpublicOrigin: string,\n\t\toptions: { autoStart?: boolean } | undefined,\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 * Start a Transfer Process as the Provider.\n\t * Implements DSP Transfer Process Protocol.\n\t *\n\t * Builds a DSP TransferStartMessage for a transfer this node already accepted (created in\n\t * REQUESTED state by requestTransfer, or in SUSPENDED state to resume), transitions it to\n\t * STARTED, and POSTs the message to the consumer's callback address. Use this when the\n\t * transfer was requested with autoStart=false and the provider now wants to start (or\n\t * resume) it explicitly.\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-start-message\n\t *\n\t * @param pid The Process ID (consumerPid or providerPid) identifying the transfer to start.\n\t * @param publicOrigin The public origin URL of this provider node (used to construct the data plane endpoint for PULL transfers).\n\t * @param trustPayload Trust payload proving the caller is the provider (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\ttransferStarted(\n\t\tpid: string,\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\t// ============================================================================\n\t// DATASET MANAGEMENT\n\t// CRUD over the tenant-scoped dataset records the Control Plane reads at\n\t// start time to populate the federated catalogue.\n\t// ============================================================================\n\n\t/**\n\t * Register an app dataset for a dataspace app, owned by the calling tenant.\n\t * @param id Optional explicit id. If omitted, derived from `dataset[\"@id\"]`\n\t * or generated.\n\t * @param appId The dataspace app this dataset belongs to (matches\n\t * `DataspaceAppFactory` registration name).\n\t * @param dataset The dataset payload (may omit system-stamped fields).\n\t * @returns The resolved dataset id.\n\t */\n\tcreateAppDataset(\n\t\tid: string | undefined,\n\t\tappId: string,\n\t\tdataset: IDataspaceProtocolDataset\n\t): Promise<string>;\n\n\t/**\n\t * Get an app dataset record owned by the calling tenant.\n\t * @param id The stored app dataset id.\n\t * @returns The stored app dataset record.\n\t */\n\tgetAppDataset(id: string): Promise<IDataspaceAppDataset>;\n\n\t/**\n\t * List the app datasets owned by the calling tenant.\n\t * @param cursor Optional pagination cursor.\n\t * @param limit Optional maximum number of entries to return.\n\t * @returns The stored app datasets and the next-page cursor if more exist.\n\t */\n\tlistAppDatasets(\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\tentities: IDataspaceAppDataset[];\n\t\tcursor?: string;\n\t}>;\n\n\t/**\n\t * Update an app dataset record owned by the calling tenant.\n\t * @param id The stored app dataset id.\n\t * @param appId The dataspace app this dataset belongs to.\n\t * @param dataset The dataset payload.\n\t * @returns A promise that resolves when the dataset has been updated in storage and the catalogue.\n\t */\n\tupdateAppDataset(id: string, appId: string, dataset: IDataspaceProtocolDataset): Promise<void>;\n\n\t/**\n\t * Delete an app dataset record owned by the calling tenant.\n\t * @param id The stored app dataset id.\n\t * @returns A promise that resolves when the dataset has been removed from storage and the catalogue.\n\t */\n\tdeleteAppDataset(id: string): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"IDataspaceControlPlaneComponent.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/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\tIDataspaceProtocolDataset,\n\tIDataspaceProtocolTransferCompletionMessage,\n\tIDataspaceProtocolTransferError,\n\tIDataspaceProtocolTransferProcess,\n\tIDataspaceProtocolTransferRequestMessage,\n\tIDataspaceProtocolTransferStartMessage,\n\tIDataspaceProtocolTransferSuspensionMessage,\n\tIDataspaceProtocolTransferTerminationMessage\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { IDataspaceAppDataset } from \"./IDataspaceAppDataset.js\";\nimport type { INegotiationCallback } from \"./INegotiationCallback.js\";\nimport type { ITransferCallback } from \"./ITransferCallback.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 * The REST client does not support this method and throws a not supported error —\n\t * use ComponentFactory.get() for the in-process service.\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 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\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 * Register a callback to receive transfer process state change notifications.\n\t * Upstream modules register their callback here to be notified when a\n\t * consumer-initiated transfer changes state (STARTED, COMPLETED, SUSPENDED,\n\t * TERMINATED).\n\t *\n\t * The REST client does not support this method and throws a not supported error —\n\t * use ComponentFactory.get() for the in-process service.\n\t * @param key A unique key identifying this callback registration.\n\t * @param callback The callback interface to register.\n\t */\n\tregisterTransferCallback(key: string, callback: ITransferCallback): void;\n\n\t/**\n\t * Unregister a previously registered transfer callback.\n\t * @param key The key used when registering the callback.\n\t */\n\tunregisterTransferCallback(key: string): void;\n\n\t/**\n\t * Prepare a data transfer as a Consumer.\n\t * High-level convenience wrapper around the DSP Transfer Request protocol.\n\t *\n\t * This method:\n\t * 1. Generates a consumerPid.\n\t * 2. POSTs a TransferRequestMessage to the provider's DSP endpoint.\n\t * 3. Persists a local TransferProcess in REQUESTED state (only if provider accepts).\n\t * 4. Returns the consumerPid immediately.\n\t *\n\t * The caller is notified of subsequent state changes (STARTED, COMPLETED, etc.)\n\t * via the registered ITransferCallback. The transfer moves to STARTED when the\n\t * provider POSTs a TransferStartMessage back to this node's callback address.\n\t *\n\t * The REST client does not support this method and throws a not supported error —\n\t * use ComponentFactory.get() for the in-process service.\n\t *\n\t * @param agreementId The finalized agreement ID (from contract negotiation).\n\t * @param providerEndpoint The provider's DSP control plane base URL.\n\t * @param format The transfer format (e.g. \"HttpData-PULL\", \"HttpData-PUSH\").\n\t * @param trustPayload Trust payload for authentication.\n\t * @returns The consumerPid of the newly created TransferProcess.\n\t */\n\tprepareTransfer(\n\t\tagreementId: string,\n\t\tproviderEndpoint: string,\n\t\tformat: string,\n\t\ttrustPayload: unknown\n\t): Promise<{ consumerPid: string }>;\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 options Request options.\n\t * @param options.autoStart When true, the provider immediately starts the requested transfer; when\n\t * omitted/false the provider start must be triggered explicitly.\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\toptions: { autoStart?: boolean } | undefined,\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 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\ttrustPayload: unknown\n\t): Promise<IDataspaceProtocolTransferStartMessage | IDataspaceProtocolTransferError>;\n\n\t/**\n\t * Start a Transfer Process as the Provider.\n\t * Implements DSP Transfer Process Protocol.\n\t *\n\t * Builds a DSP TransferStartMessage for a transfer this node already accepted (created in\n\t * REQUESTED state by requestTransfer, or in SUSPENDED state to resume), transitions it to\n\t * STARTED, and POSTs the message to the consumer's callback address. Use this when the\n\t * transfer was requested with autoStart=false and the provider now wants to start (or\n\t * resume) it explicitly.\n\t *\n\t * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-start-message\n\t *\n\t * @param pid The Process ID (consumerPid or providerPid) identifying the transfer to start.\n\t * @param trustPayload Trust payload proving the caller is the provider (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\ttransferStarted(\n\t\tpid: 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\t// ============================================================================\n\t// DATASET MANAGEMENT\n\t// CRUD over the tenant-scoped dataset records the Control Plane reads at\n\t// start time to populate the federated catalogue.\n\t// ============================================================================\n\n\t/**\n\t * Register an app dataset for a dataspace app, owned by the calling tenant.\n\t * @param id Optional explicit id. If omitted, derived from `dataset[\"@id\"]`\n\t * or generated.\n\t * @param appId The dataspace app this dataset belongs to (matches\n\t * `DataspaceAppFactory` registration name).\n\t * @param dataset The dataset payload (may omit system-stamped fields).\n\t * @returns The resolved dataset id.\n\t */\n\tcreateAppDataset(\n\t\tid: string | undefined,\n\t\tappId: string,\n\t\tdataset: IDataspaceProtocolDataset\n\t): Promise<string>;\n\n\t/**\n\t * Get an app dataset record owned by the calling tenant.\n\t * @param id The stored app dataset id.\n\t * @returns The stored app dataset record.\n\t */\n\tgetAppDataset(id: string): Promise<IDataspaceAppDataset>;\n\n\t/**\n\t * List the app datasets owned by the calling tenant.\n\t * @param cursor Optional pagination cursor.\n\t * @param limit Optional maximum number of entries to return.\n\t * @returns The stored app datasets and the next-page cursor if more exist.\n\t */\n\tlistAppDatasets(\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\tentities: IDataspaceAppDataset[];\n\t\tcursor?: string;\n\t}>;\n\n\t/**\n\t * Update an app dataset record owned by the calling tenant.\n\t * @param id The stored app dataset id.\n\t * @param appId The dataspace app this dataset belongs to.\n\t * @param dataset The dataset payload.\n\t * @returns A promise that resolves when the dataset has been updated in storage and the catalogue.\n\t */\n\tupdateAppDataset(id: string, appId: string, dataset: IDataspaceProtocolDataset): Promise<void>;\n\n\t/**\n\t * Delete an app dataset record owned by the calling tenant.\n\t * @param id The stored app dataset id.\n\t * @returns A promise that resolves when the dataset has been removed from storage and the catalogue.\n\t */\n\tdeleteAppDataset(id: string): Promise<void>;\n}\n"]}
@@ -0,0 +1,49 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * Metric IDs for the dataspace control plane service.
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export const DataspaceControlPlaneMetricIds = {
8
+ /**
9
+ * Number of transfer processes requested.
10
+ */
11
+ TransfersRequested: "dcp_transfers_requested",
12
+ /**
13
+ * Number of transfer processes prepared by the consumer.
14
+ */
15
+ TransfersPrepared: "dcp_transfers_prepared",
16
+ /**
17
+ * Number of transfer processes started.
18
+ */
19
+ TransfersStarted: "dcp_transfers_started",
20
+ /**
21
+ * Number of transfer processes completed.
22
+ */
23
+ TransfersCompleted: "dcp_transfers_completed",
24
+ /**
25
+ * Number of transfer processes suspended.
26
+ */
27
+ TransfersSuspended: "dcp_transfers_suspended",
28
+ /**
29
+ * Number of transfer processes terminated.
30
+ */
31
+ TransfersTerminated: "dcp_transfers_terminated",
32
+ /**
33
+ * Number of contract negotiations initiated.
34
+ */
35
+ NegotiationsInitiated: "dcp_negotiations_initiated",
36
+ /**
37
+ * Number of app datasets created.
38
+ */
39
+ AppDatasetsCreated: "dcp_app_datasets_created",
40
+ /**
41
+ * Number of app datasets updated.
42
+ */
43
+ AppDatasetsUpdated: "dcp_app_datasets_updated",
44
+ /**
45
+ * Number of app datasets deleted.
46
+ */
47
+ AppDatasetsDeleted: "dcp_app_datasets_deleted"
48
+ };
49
+ //# sourceMappingURL=dataspaceControlPlaneMetricIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceControlPlaneMetricIds.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/dataspaceControlPlaneMetricIds.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC7C;;OAEG;IACH,kBAAkB,EAAE,yBAAyB;IAE7C;;OAEG;IACH,iBAAiB,EAAE,wBAAwB;IAE3C;;OAEG;IACH,gBAAgB,EAAE,uBAAuB;IAEzC;;OAEG;IACH,kBAAkB,EAAE,yBAAyB;IAE7C;;OAEG;IACH,kBAAkB,EAAE,yBAAyB;IAE7C;;OAEG;IACH,mBAAmB,EAAE,0BAA0B;IAE/C;;OAEG;IACH,qBAAqB,EAAE,4BAA4B;IAEnD;;OAEG;IACH,kBAAkB,EAAE,0BAA0B;IAE9C;;OAEG;IACH,kBAAkB,EAAE,0BAA0B;IAE9C;;OAEG;IACH,kBAAkB,EAAE,0BAA0B;CACrC,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Metric IDs for the dataspace control plane service.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const DataspaceControlPlaneMetricIds = {\n\t/**\n\t * Number of transfer processes requested.\n\t */\n\tTransfersRequested: \"dcp_transfers_requested\",\n\n\t/**\n\t * Number of transfer processes prepared by the consumer.\n\t */\n\tTransfersPrepared: \"dcp_transfers_prepared\",\n\n\t/**\n\t * Number of transfer processes started.\n\t */\n\tTransfersStarted: \"dcp_transfers_started\",\n\n\t/**\n\t * Number of transfer processes completed.\n\t */\n\tTransfersCompleted: \"dcp_transfers_completed\",\n\n\t/**\n\t * Number of transfer processes suspended.\n\t */\n\tTransfersSuspended: \"dcp_transfers_suspended\",\n\n\t/**\n\t * Number of transfer processes terminated.\n\t */\n\tTransfersTerminated: \"dcp_transfers_terminated\",\n\n\t/**\n\t * Number of contract negotiations initiated.\n\t */\n\tNegotiationsInitiated: \"dcp_negotiations_initiated\",\n\n\t/**\n\t * Number of app datasets created.\n\t */\n\tAppDatasetsCreated: \"dcp_app_datasets_created\",\n\n\t/**\n\t * Number of app datasets updated.\n\t */\n\tAppDatasetsUpdated: \"dcp_app_datasets_updated\",\n\n\t/**\n\t * Number of app datasets deleted.\n\t */\n\tAppDatasetsDeleted: \"dcp_app_datasets_deleted\"\n} as const;\n\n/**\n * Metric IDs for the dataspace control plane service.\n */\nexport type DataspaceControlPlaneMetricIds =\n\t(typeof DataspaceControlPlaneMetricIds)[keyof typeof DataspaceControlPlaneMetricIds];\n"]}
@@ -0,0 +1,61 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { MetricType } from "@twin.org/telemetry-models";
4
+ import { DataspaceControlPlaneMetricIds } from "./dataspaceControlPlaneMetricIds.js";
5
+ /**
6
+ * Metrics registered by the dataspace control plane service.
7
+ */
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
9
+ export const DataspaceControlPlaneMetrics = [
10
+ {
11
+ id: DataspaceControlPlaneMetricIds.TransfersRequested,
12
+ label: "Transfers requested",
13
+ type: MetricType.Counter
14
+ },
15
+ {
16
+ id: DataspaceControlPlaneMetricIds.TransfersPrepared,
17
+ label: "Transfers prepared",
18
+ type: MetricType.Counter
19
+ },
20
+ {
21
+ id: DataspaceControlPlaneMetricIds.TransfersStarted,
22
+ label: "Transfers started",
23
+ type: MetricType.Counter
24
+ },
25
+ {
26
+ id: DataspaceControlPlaneMetricIds.TransfersCompleted,
27
+ label: "Transfers completed",
28
+ type: MetricType.Counter
29
+ },
30
+ {
31
+ id: DataspaceControlPlaneMetricIds.TransfersSuspended,
32
+ label: "Transfers suspended",
33
+ type: MetricType.Counter
34
+ },
35
+ {
36
+ id: DataspaceControlPlaneMetricIds.TransfersTerminated,
37
+ label: "Transfers terminated",
38
+ type: MetricType.Counter
39
+ },
40
+ {
41
+ id: DataspaceControlPlaneMetricIds.NegotiationsInitiated,
42
+ label: "Negotiations initiated",
43
+ type: MetricType.Counter
44
+ },
45
+ {
46
+ id: DataspaceControlPlaneMetricIds.AppDatasetsCreated,
47
+ label: "App datasets created",
48
+ type: MetricType.Counter
49
+ },
50
+ {
51
+ id: DataspaceControlPlaneMetricIds.AppDatasetsUpdated,
52
+ label: "App datasets updated",
53
+ type: MetricType.Counter
54
+ },
55
+ {
56
+ id: DataspaceControlPlaneMetricIds.AppDatasetsDeleted,
57
+ label: "App datasets deleted",
58
+ type: MetricType.Counter
59
+ }
60
+ ];
61
+ //# sourceMappingURL=dataspaceControlPlaneMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceControlPlaneMetrics.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/dataspaceControlPlaneMetrics.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAyB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAuB;IAC/D;QACC,EAAE,EAAE,8BAA8B,CAAC,kBAAkB;QACrD,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,iBAAiB;QACpD,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,gBAAgB;QACnD,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,kBAAkB;QACrD,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,kBAAkB;QACrD,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,mBAAmB;QACtD,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,qBAAqB;QACxD,KAAK,EAAE,wBAAwB;QAC/B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,kBAAkB;QACrD,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,kBAAkB;QACrD,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,kBAAkB;QACrD,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;CACD,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { type ITelemetryMetric, MetricType } from \"@twin.org/telemetry-models\";\nimport { DataspaceControlPlaneMetricIds } from \"./dataspaceControlPlaneMetricIds.js\";\n\n/**\n * Metrics registered by the dataspace control plane service.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const DataspaceControlPlaneMetrics: ITelemetryMetric[] = [\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.TransfersRequested,\n\t\tlabel: \"Transfers requested\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.TransfersPrepared,\n\t\tlabel: \"Transfers prepared\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.TransfersStarted,\n\t\tlabel: \"Transfers started\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.TransfersCompleted,\n\t\tlabel: \"Transfers completed\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.TransfersSuspended,\n\t\tlabel: \"Transfers suspended\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.TransfersTerminated,\n\t\tlabel: \"Transfers terminated\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.NegotiationsInitiated,\n\t\tlabel: \"Negotiations initiated\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.AppDatasetsCreated,\n\t\tlabel: \"App datasets created\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.AppDatasetsUpdated,\n\t\tlabel: \"App datasets updated\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceControlPlaneMetricIds.AppDatasetsDeleted,\n\t\tlabel: \"App datasets deleted\",\n\t\ttype: MetricType.Counter\n\t}\n];\n"]}
@@ -0,0 +1,33 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * Metric IDs for the dataspace data plane service.
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export const DataspaceDataPlaneMetricIds = {
8
+ /**
9
+ * Number of activities notified.
10
+ */
11
+ ActivitiesNotified: "ddp_activities_notified",
12
+ /**
13
+ * Number of data asset queries executed.
14
+ */
15
+ DataAssetsQueried: "ddp_data_assets_queried",
16
+ /**
17
+ * Number of data asset entity retrievals.
18
+ */
19
+ DataAssetsRetrieved: "ddp_data_assets_retrieved",
20
+ /**
21
+ * Number of push subscriptions created.
22
+ */
23
+ PushSubscriptionsCreated: "ddp_push_subscriptions_created",
24
+ /**
25
+ * Number of push subscriptions removed.
26
+ */
27
+ PushSubscriptionsRemoved: "ddp_push_subscriptions_removed",
28
+ /**
29
+ * Number of outbound activities scheduled for push delivery.
30
+ */
31
+ PushActivitiesScheduled: "ddp_push_activities_scheduled"
32
+ };
33
+ //# sourceMappingURL=dataspaceDataPlaneMetricIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceDataPlaneMetricIds.js","sourceRoot":"","sources":["../../../../src/models/dataPlane/dataspaceDataPlaneMetricIds.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IAC1C;;OAEG;IACH,kBAAkB,EAAE,yBAAyB;IAE7C;;OAEG;IACH,iBAAiB,EAAE,yBAAyB;IAE5C;;OAEG;IACH,mBAAmB,EAAE,2BAA2B;IAEhD;;OAEG;IACH,wBAAwB,EAAE,gCAAgC;IAE1D;;OAEG;IACH,wBAAwB,EAAE,gCAAgC;IAE1D;;OAEG;IACH,uBAAuB,EAAE,+BAA+B;CAC/C,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Metric IDs for the dataspace data plane service.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const DataspaceDataPlaneMetricIds = {\n\t/**\n\t * Number of activities notified.\n\t */\n\tActivitiesNotified: \"ddp_activities_notified\",\n\n\t/**\n\t * Number of data asset queries executed.\n\t */\n\tDataAssetsQueried: \"ddp_data_assets_queried\",\n\n\t/**\n\t * Number of data asset entity retrievals.\n\t */\n\tDataAssetsRetrieved: \"ddp_data_assets_retrieved\",\n\n\t/**\n\t * Number of push subscriptions created.\n\t */\n\tPushSubscriptionsCreated: \"ddp_push_subscriptions_created\",\n\n\t/**\n\t * Number of push subscriptions removed.\n\t */\n\tPushSubscriptionsRemoved: \"ddp_push_subscriptions_removed\",\n\n\t/**\n\t * Number of outbound activities scheduled for push delivery.\n\t */\n\tPushActivitiesScheduled: \"ddp_push_activities_scheduled\"\n} as const;\n\n/**\n * Metric IDs for the dataspace data plane service.\n */\nexport type DataspaceDataPlaneMetricIds =\n\t(typeof DataspaceDataPlaneMetricIds)[keyof typeof DataspaceDataPlaneMetricIds];\n"]}
@@ -0,0 +1,41 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { MetricType } from "@twin.org/telemetry-models";
4
+ import { DataspaceDataPlaneMetricIds } from "./dataspaceDataPlaneMetricIds.js";
5
+ /**
6
+ * Metrics registered by the dataspace data plane service.
7
+ */
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
9
+ export const DataspaceDataPlaneMetrics = [
10
+ {
11
+ id: DataspaceDataPlaneMetricIds.ActivitiesNotified,
12
+ label: "Activities notified",
13
+ type: MetricType.Counter
14
+ },
15
+ {
16
+ id: DataspaceDataPlaneMetricIds.DataAssetsQueried,
17
+ label: "Data assets queried",
18
+ type: MetricType.Counter
19
+ },
20
+ {
21
+ id: DataspaceDataPlaneMetricIds.DataAssetsRetrieved,
22
+ label: "Data assets retrieved",
23
+ type: MetricType.Counter
24
+ },
25
+ {
26
+ id: DataspaceDataPlaneMetricIds.PushSubscriptionsCreated,
27
+ label: "Push subscriptions created",
28
+ type: MetricType.Counter
29
+ },
30
+ {
31
+ id: DataspaceDataPlaneMetricIds.PushSubscriptionsRemoved,
32
+ label: "Push subscriptions removed",
33
+ type: MetricType.Counter
34
+ },
35
+ {
36
+ id: DataspaceDataPlaneMetricIds.PushActivitiesScheduled,
37
+ label: "Push activities scheduled",
38
+ type: MetricType.Counter
39
+ }
40
+ ];
41
+ //# sourceMappingURL=dataspaceDataPlaneMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceDataPlaneMetrics.js","sourceRoot":"","sources":["../../../../src/models/dataPlane/dataspaceDataPlaneMetrics.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAyB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC5D;QACC,EAAE,EAAE,2BAA2B,CAAC,kBAAkB;QAClD,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,2BAA2B,CAAC,iBAAiB;QACjD,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,2BAA2B,CAAC,mBAAmB;QACnD,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,2BAA2B,CAAC,wBAAwB;QACxD,KAAK,EAAE,4BAA4B;QACnC,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,2BAA2B,CAAC,wBAAwB;QACxD,KAAK,EAAE,4BAA4B;QACnC,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;IACD;QACC,EAAE,EAAE,2BAA2B,CAAC,uBAAuB;QACvD,KAAK,EAAE,2BAA2B;QAClC,IAAI,EAAE,UAAU,CAAC,OAAO;KACxB;CACD,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { type ITelemetryMetric, MetricType } from \"@twin.org/telemetry-models\";\nimport { DataspaceDataPlaneMetricIds } from \"./dataspaceDataPlaneMetricIds.js\";\n\n/**\n * Metrics registered by the dataspace data plane service.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const DataspaceDataPlaneMetrics: ITelemetryMetric[] = [\n\t{\n\t\tid: DataspaceDataPlaneMetricIds.ActivitiesNotified,\n\t\tlabel: \"Activities notified\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceDataPlaneMetricIds.DataAssetsQueried,\n\t\tlabel: \"Data assets queried\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceDataPlaneMetricIds.DataAssetsRetrieved,\n\t\tlabel: \"Data assets retrieved\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceDataPlaneMetricIds.PushSubscriptionsCreated,\n\t\tlabel: \"Push subscriptions created\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceDataPlaneMetricIds.PushSubscriptionsRemoved,\n\t\tlabel: \"Push subscriptions removed\",\n\t\ttype: MetricType.Counter\n\t},\n\t{\n\t\tid: DataspaceDataPlaneMetricIds.PushActivitiesScheduled,\n\t\tlabel: \"Push activities scheduled\",\n\t\ttype: MetricType.Counter\n\t}\n];\n"]}
@@ -19,8 +19,6 @@ export declare class DataspaceAppDataset {
19
19
  /**
20
20
  * The dataspace app that this dataset belongs to. Matches the app's
21
21
  * registered name in `DataspaceAppFactory` (typically the app's URI).
22
- * Used as the join key when dispatching to an app's optional
23
- * `datasetsHandled` override.
24
22
  */
25
23
  appId: string;
26
24
  /**
@@ -1,6 +1,8 @@
1
1
  export * from "./entities/dataspaceAppDataset.js";
2
2
  export * from "./entities/transferProcess.js";
3
3
  export * from "./models/controlPlane/api/ITransferContextResponse.js";
4
+ export * from "./models/controlPlane/dataspaceControlPlaneMetricIds.js";
5
+ export * from "./models/controlPlane/dataspaceControlPlaneMetrics.js";
4
6
  export * from "./models/controlPlane/IDataspaceAppDataset.js";
5
7
  export * from "./models/controlPlane/IDataspaceControlPlaneComponent.js";
6
8
  export * from "./models/controlPlane/IDataspaceControlPlaneResolverComponent.js";
@@ -9,6 +11,8 @@ export * from "./models/controlPlane/ITransferCallback.js";
9
11
  export * from "./models/controlPlane/ITransferContext.js";
10
12
  export * from "./models/controlPlane/ITransferProcess.js";
11
13
  export * from "./models/controlPlane/transferProcessRole.js";
14
+ export * from "./models/dataPlane/dataspaceDataPlaneMetricIds.js";
15
+ export * from "./models/dataPlane/dataspaceDataPlaneMetrics.js";
12
16
  export * from "./models/dataPlane/IDataspaceDataPlaneComponent.js";
13
17
  export * from "./models/dataspaceContexts.js";
14
18
  export * from "./models/dataspaceTransferFormat.js";
@@ -2,10 +2,7 @@
2
2
  * Data Asset query for internal service matching of datasets to apps.
3
3
  *
4
4
  * This interface is used internally by the Dataspace Data Plane service to match
5
- * datasets with their corresponding apps. Apps should use `datasetsHandled(): IDataset[]`
6
- * to declare which datasets they handle.
7
- *
8
- * @see IDataspaceDataPlaneApp.datasetsHandled
5
+ * datasets with their corresponding apps.
9
6
  */
10
7
  export interface IDataAssetQuery {
11
8
  /**
@@ -1,12 +1,11 @@
1
1
  import type { IComponent } from "@twin.org/core";
2
2
  import type { IJsonLdDocument } from "@twin.org/data-json-ld";
3
- import type { IDataspaceProtocolDataset } from "@twin.org/standards-dataspace-protocol";
3
+ import type { IDataspaceActivity } from "../IDataspaceActivity.js";
4
4
  import type { IActivityQuery } from "./IActivityQuery.js";
5
5
  import type { IDataRequest } from "./IDataRequest.js";
6
6
  import type { IFollowActivity } from "./IFollowActivity.js";
7
- import type { IUndoActivity } from "./IUndoActivity.js";
8
- import type { IDataspaceActivity } from "../IDataspaceActivity.js";
9
7
  import type { IProcessingGroupOptions } from "./IProcessingGroupOptions.js";
8
+ import type { IUndoActivity } from "./IUndoActivity.js";
10
9
  /**
11
10
  * Interface describes a Dataspace App.
12
11
  */
@@ -23,15 +22,6 @@ export interface IDataspaceApp extends IComponent {
23
22
  * @returns A query that describes the set of activities handled by the App.
24
23
  */
25
24
  activitiesHandled(): IActivityQuery[];
26
- /**
27
- * Optional override called by the Control Plane when publishing a stored dataset for this app.
28
- * The Control Plane always calls `populateDefaults` (e.g. `dcterms:publisher`)
29
- * on every dataset returned here, so apps don't need to populate publisher themselves.
30
- * @param payload The user-stored dataset payload.
31
- * @returns One or more datasets to publish to the catalogue. System-stamped
32
- * fields like `dcterms:publisher` may be omitted — the Control Plane fills them in.
33
- */
34
- datasetsHandled?(payload: IDataspaceProtocolDataset): Promise<IDataspaceProtocolDataset[]>;
35
25
  /**
36
26
  * The types of queries supported.
37
27
  * @returns The types of queries supported by the Dataspace App to retrieve data.
@@ -44,11 +44,10 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
44
44
  * @param datasetId The dataset ID from the provider's catalog.
45
45
  * @param offerId The offer ID from the provider's catalog.
46
46
  * @param providerEndpoint The provider's contract negotiation endpoint URL.
47
- * @param publicOrigin The public origin URL of this control plane (for callbacks).
48
47
  * @param trustPayload Trust payload for authentication (JWT or Verifiable Credential).
49
48
  * @returns The negotiation ID for tracking. Use registered callback for completion.
50
49
  */
51
- negotiateAgreement(datasetId: string, offerId: string, providerEndpoint: string, publicOrigin: string, trustPayload: unknown): Promise<{
50
+ negotiateAgreement(datasetId: string, offerId: string, providerEndpoint: string, trustPayload: unknown): Promise<{
52
51
  negotiationId: string;
53
52
  }>;
54
53
  /**
@@ -124,12 +123,11 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
124
123
  *
125
124
  * @param agreementId The finalized agreement ID (from contract negotiation).
126
125
  * @param providerEndpoint The provider's DSP control plane base URL.
127
- * @param publicOrigin The public origin URL of this control plane (used as callbackAddress).
128
126
  * @param format The transfer format (e.g. "HttpData-PULL", "HttpData-PUSH").
129
127
  * @param trustPayload Trust payload for authentication.
130
128
  * @returns The consumerPid of the newly created TransferProcess.
131
129
  */
132
- prepareTransfer(agreementId: string, providerEndpoint: string, publicOrigin: string, format: string, trustPayload: unknown): Promise<{
130
+ prepareTransfer(agreementId: string, providerEndpoint: string, format: string, trustPayload: unknown): Promise<{
133
131
  consumerPid: string;
134
132
  }>;
135
133
  /**
@@ -143,8 +141,6 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
143
141
  *
144
142
  * @param request Transfer request message (DSP compliant) containing agreementId,
145
143
  * consumerPid, callbackAddress, and format.
146
- * @param publicOrigin The public origin of this provider node (resolved server-side by the REST route
147
- * from the hosting component); used to build the data-plane endpoint when auto-starting.
148
144
  * @param options Request options.
149
145
  * @param options.autoStart When true, the provider immediately starts the requested transfer; when
150
146
  * omitted/false the provider start must be triggered explicitly.
@@ -153,7 +149,7 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
153
149
  * @returns Transfer Process (DSP compliant) with state REQUESTED, including
154
150
  * both consumerPid and providerPid, or TransferError if the operation fails.
155
151
  */
156
- requestTransfer(request: IDataspaceProtocolTransferRequestMessage, publicOrigin: string, options: {
152
+ requestTransfer(request: IDataspaceProtocolTransferRequestMessage, options: {
157
153
  autoStart?: boolean;
158
154
  } | undefined, trustPayload: unknown): Promise<IDataspaceProtocolTransferProcess | IDataspaceProtocolTransferError>;
159
155
  /**
@@ -166,11 +162,10 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
166
162
  * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-start-message
167
163
  *
168
164
  * @param message Transfer start message (DSP compliant).
169
- * @param publicOrigin The public origin URL of this service (used to construct data plane endpoint for PULL transfers).
170
165
  * @param trustPayload Trust payload containing authorization information (JWT, VC, etc.).
171
166
  * @returns Transfer Start Message (DSP compliant) with dataAddress for PULL transfers, or TransferError if the operation fails.
172
167
  */
173
- startTransfer(message: IDataspaceProtocolTransferStartMessage, publicOrigin: string, trustPayload: unknown): Promise<IDataspaceProtocolTransferStartMessage | IDataspaceProtocolTransferError>;
168
+ startTransfer(message: IDataspaceProtocolTransferStartMessage, trustPayload: unknown): Promise<IDataspaceProtocolTransferStartMessage | IDataspaceProtocolTransferError>;
174
169
  /**
175
170
  * Start a Transfer Process as the Provider.
176
171
  * Implements DSP Transfer Process Protocol.
@@ -184,11 +179,10 @@ export interface IDataspaceControlPlaneComponent extends IComponent {
184
179
  * DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#transfer-start-message
185
180
  *
186
181
  * @param pid The Process ID (consumerPid or providerPid) identifying the transfer to start.
187
- * @param publicOrigin The public origin URL of this provider node (used to construct the data plane endpoint for PULL transfers).
188
182
  * @param trustPayload Trust payload proving the caller is the provider (JWT, VC, etc.).
189
183
  * @returns Transfer Start Message (DSP compliant) with dataAddress for PULL transfers, or TransferError if the operation fails.
190
184
  */
191
- transferStarted(pid: string, publicOrigin: string, trustPayload: unknown): Promise<IDataspaceProtocolTransferStartMessage | IDataspaceProtocolTransferError>;
185
+ transferStarted(pid: string, trustPayload: unknown): Promise<IDataspaceProtocolTransferStartMessage | IDataspaceProtocolTransferError>;
192
186
  /**
193
187
  * Complete a Transfer Process.
194
188
  * Transitions Transfer Process to COMPLETED state.
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Metric IDs for the dataspace control plane service.
3
+ */
4
+ export declare const DataspaceControlPlaneMetricIds: {
5
+ /**
6
+ * Number of transfer processes requested.
7
+ */
8
+ readonly TransfersRequested: "dcp_transfers_requested";
9
+ /**
10
+ * Number of transfer processes prepared by the consumer.
11
+ */
12
+ readonly TransfersPrepared: "dcp_transfers_prepared";
13
+ /**
14
+ * Number of transfer processes started.
15
+ */
16
+ readonly TransfersStarted: "dcp_transfers_started";
17
+ /**
18
+ * Number of transfer processes completed.
19
+ */
20
+ readonly TransfersCompleted: "dcp_transfers_completed";
21
+ /**
22
+ * Number of transfer processes suspended.
23
+ */
24
+ readonly TransfersSuspended: "dcp_transfers_suspended";
25
+ /**
26
+ * Number of transfer processes terminated.
27
+ */
28
+ readonly TransfersTerminated: "dcp_transfers_terminated";
29
+ /**
30
+ * Number of contract negotiations initiated.
31
+ */
32
+ readonly NegotiationsInitiated: "dcp_negotiations_initiated";
33
+ /**
34
+ * Number of app datasets created.
35
+ */
36
+ readonly AppDatasetsCreated: "dcp_app_datasets_created";
37
+ /**
38
+ * Number of app datasets updated.
39
+ */
40
+ readonly AppDatasetsUpdated: "dcp_app_datasets_updated";
41
+ /**
42
+ * Number of app datasets deleted.
43
+ */
44
+ readonly AppDatasetsDeleted: "dcp_app_datasets_deleted";
45
+ };
46
+ /**
47
+ * Metric IDs for the dataspace control plane service.
48
+ */
49
+ export type DataspaceControlPlaneMetricIds = (typeof DataspaceControlPlaneMetricIds)[keyof typeof DataspaceControlPlaneMetricIds];
@@ -0,0 +1,5 @@
1
+ import { type ITelemetryMetric } from "@twin.org/telemetry-models";
2
+ /**
3
+ * Metrics registered by the dataspace control plane service.
4
+ */
5
+ export declare const DataspaceControlPlaneMetrics: ITelemetryMetric[];
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Metric IDs for the dataspace data plane service.
3
+ */
4
+ export declare const DataspaceDataPlaneMetricIds: {
5
+ /**
6
+ * Number of activities notified.
7
+ */
8
+ readonly ActivitiesNotified: "ddp_activities_notified";
9
+ /**
10
+ * Number of data asset queries executed.
11
+ */
12
+ readonly DataAssetsQueried: "ddp_data_assets_queried";
13
+ /**
14
+ * Number of data asset entity retrievals.
15
+ */
16
+ readonly DataAssetsRetrieved: "ddp_data_assets_retrieved";
17
+ /**
18
+ * Number of push subscriptions created.
19
+ */
20
+ readonly PushSubscriptionsCreated: "ddp_push_subscriptions_created";
21
+ /**
22
+ * Number of push subscriptions removed.
23
+ */
24
+ readonly PushSubscriptionsRemoved: "ddp_push_subscriptions_removed";
25
+ /**
26
+ * Number of outbound activities scheduled for push delivery.
27
+ */
28
+ readonly PushActivitiesScheduled: "ddp_push_activities_scheduled";
29
+ };
30
+ /**
31
+ * Metric IDs for the dataspace data plane service.
32
+ */
33
+ export type DataspaceDataPlaneMetricIds = (typeof DataspaceDataPlaneMetricIds)[keyof typeof DataspaceDataPlaneMetricIds];
@@ -0,0 +1,5 @@
1
+ import { type ITelemetryMetric } from "@twin.org/telemetry-models";
2
+ /**
3
+ * Metrics registered by the dataspace data plane service.
4
+ */
5
+ export declare const DataspaceDataPlaneMetrics: ITelemetryMetric[];
package/docs/changelog.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.49](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.0.3-next.48...dataspace-models-v0.0.3-next.49) (2026-06-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * add telemetry metrics to dataspace control and data plane services ([#212](https://github.com/iotaledger/twin-dataspace/issues/212)) ([b5b0248](https://github.com/iotaledger/twin-dataspace/commit/b5b024899ed12c0f639c5d51aefa3e509753eac6))
9
+ * remove datasetsHandled method from apps ([9fdc950](https://github.com/iotaledger/twin-dataspace/commit/9fdc95018d38ab49c4a1094642be2ee83ee0e4cd))
10
+
11
+ ## [0.0.3-next.48](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.0.3-next.47...dataspace-models-v0.0.3-next.48) (2026-06-18)
12
+
13
+
14
+ ### Features
15
+
16
+ * remove hosting component ([#209](https://github.com/iotaledger/twin-dataspace/issues/209)) ([5e19328](https://github.com/iotaledger/twin-dataspace/commit/5e1932823aa8a0f88f559f096610b9df1f3b8615))
17
+
3
18
  ## [0.0.3-next.47](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.0.3-next.46...dataspace-models-v0.0.3-next.47) (2026-06-17)
4
19
 
5
20
 
@@ -46,8 +46,6 @@ register datasets without a tenant context.
46
46
 
47
47
  The dataspace app that this dataset belongs to. Matches the app's
48
48
  registered name in `DataspaceAppFactory` (typically the app's URI).
49
- Used as the join key when dispatching to an app's optional
50
- `datasetsHandled` override.
51
49
 
52
50
  ***
53
51
 
@@ -73,7 +73,9 @@
73
73
  - [ActivityTaskStatus](type-aliases/ActivityTaskStatus.md)
74
74
  - [IDataRequest](type-aliases/IDataRequest.md)
75
75
  - [DataRequestType](type-aliases/DataRequestType.md)
76
+ - [DataspaceControlPlaneMetricIds](type-aliases/DataspaceControlPlaneMetricIds.md)
76
77
  - [TransferProcessRole](type-aliases/TransferProcessRole.md)
78
+ - [DataspaceDataPlaneMetricIds](type-aliases/DataspaceDataPlaneMetricIds.md)
77
79
  - [DataspaceContexts](type-aliases/DataspaceContexts.md)
78
80
  - [DataspaceTransferFormat](type-aliases/DataspaceTransferFormat.md)
79
81
  - [DataspaceTypes](type-aliases/DataspaceTypes.md)
@@ -84,7 +86,11 @@
84
86
  - [ActivityProcessingStatus](variables/ActivityProcessingStatus.md)
85
87
  - [ActivityTaskStatus](variables/ActivityTaskStatus.md)
86
88
  - [DataRequestType](variables/DataRequestType.md)
89
+ - [DataspaceControlPlaneMetricIds](variables/DataspaceControlPlaneMetricIds.md)
90
+ - [DataspaceControlPlaneMetrics](variables/DataspaceControlPlaneMetrics.md)
87
91
  - [TransferProcessRole](variables/TransferProcessRole.md)
92
+ - [DataspaceDataPlaneMetricIds](variables/DataspaceDataPlaneMetricIds.md)
93
+ - [DataspaceDataPlaneMetrics](variables/DataspaceDataPlaneMetrics.md)
88
94
  - [DataspaceContexts](variables/DataspaceContexts.md)
89
95
  - [DataspaceTransferFormat](variables/DataspaceTransferFormat.md)
90
96
  - [DataspaceTypes](variables/DataspaceTypes.md)
@@ -3,12 +3,7 @@
3
3
  Data Asset query for internal service matching of datasets to apps.
4
4
 
5
5
  This interface is used internally by the Dataspace Data Plane service to match
6
- datasets with their corresponding apps. Apps should use `datasetsHandled(): IDataset[]`
7
- to declare which datasets they handle.
8
-
9
- ## See
10
-
11
- IDataspaceDataPlaneApp.datasetsHandled
6
+ datasets with their corresponding apps.
12
7
 
13
8
  ## Properties
14
9
 
@@ -36,31 +36,6 @@ A query that describes the set of activities handled by the App.
36
36
 
37
37
  ***
38
38
 
39
- ### datasetsHandled()? {#datasetshandled}
40
-
41
- > `optional` **datasetsHandled**(`payload`): `Promise`\<`IDataspaceProtocolDataset`[]\>
42
-
43
- Optional override called by the Control Plane when publishing a stored dataset for this app.
44
- The Control Plane always calls `populateDefaults` (e.g. `dcterms:publisher`)
45
- on every dataset returned here, so apps don't need to populate publisher themselves.
46
-
47
- #### Parameters
48
-
49
- ##### payload
50
-
51
- `IDataspaceProtocolDataset`
52
-
53
- The user-stored dataset payload.
54
-
55
- #### Returns
56
-
57
- `Promise`\<`IDataspaceProtocolDataset`[]\>
58
-
59
- One or more datasets to publish to the catalogue. System-stamped
60
- fields like `dcterms:publisher` may be omitted — the Control Plane fills them in.
61
-
62
- ***
63
-
64
39
  ### supportedQueryTypes() {#supportedquerytypes}
65
40
 
66
41
  > **supportedQueryTypes**(): `string`[]
@@ -66,7 +66,7 @@ The key used when registering the callback.
66
66
 
67
67
  ### negotiateAgreement() {#negotiateagreement}
68
68
 
69
- > **negotiateAgreement**(`datasetId`, `offerId`, `providerEndpoint`, `publicOrigin`, `trustPayload`): `Promise`\<\{ `negotiationId`: `string`; \}\>
69
+ > **negotiateAgreement**(`datasetId`, `offerId`, `providerEndpoint`, `trustPayload`): `Promise`\<\{ `negotiationId`: `string`; \}\>
70
70
 
71
71
  Negotiate a contract agreement with a provider.
72
72
  Implements DSP Contract Negotiation Protocol.
@@ -100,12 +100,6 @@ The offer ID from the provider's catalog.
100
100
 
101
101
  The provider's contract negotiation endpoint URL.
102
102
 
103
- ##### publicOrigin
104
-
105
- `string`
106
-
107
- The public origin URL of this control plane (for callbacks).
108
-
109
103
  ##### trustPayload
110
104
 
111
105
  `unknown`
@@ -247,7 +241,7 @@ The key used when registering the callback.
247
241
 
248
242
  ### prepareTransfer() {#preparetransfer}
249
243
 
250
- > **prepareTransfer**(`agreementId`, `providerEndpoint`, `publicOrigin`, `format`, `trustPayload`): `Promise`\<\{ `consumerPid`: `string`; \}\>
244
+ > **prepareTransfer**(`agreementId`, `providerEndpoint`, `format`, `trustPayload`): `Promise`\<\{ `consumerPid`: `string`; \}\>
251
245
 
252
246
  Prepare a data transfer as a Consumer.
253
247
  High-level convenience wrapper around the DSP Transfer Request protocol.
@@ -279,12 +273,6 @@ The finalized agreement ID (from contract negotiation).
279
273
 
280
274
  The provider's DSP control plane base URL.
281
275
 
282
- ##### publicOrigin
283
-
284
- `string`
285
-
286
- The public origin URL of this control plane (used as callbackAddress).
287
-
288
276
  ##### format
289
277
 
290
278
  `string`
@@ -307,7 +295,7 @@ The consumerPid of the newly created TransferProcess.
307
295
 
308
296
  ### requestTransfer() {#requesttransfer}
309
297
 
310
- > **requestTransfer**(`request`, `publicOrigin`, `options`, `trustPayload`): `Promise`\<`IDataspaceProtocolTransferProcess` \| `IDataspaceProtocolTransferError`\>
298
+ > **requestTransfer**(`request`, `options`, `trustPayload`): `Promise`\<`IDataspaceProtocolTransferProcess` \| `IDataspaceProtocolTransferError`\>
311
299
 
312
300
  Request a Transfer Process.
313
301
  Creates a new Transfer Process in REQUESTED state.
@@ -326,13 +314,6 @@ DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#t
326
314
  Transfer request message (DSP compliant) containing agreementId,
327
315
  consumerPid, callbackAddress, and format.
328
316
 
329
- ##### publicOrigin
330
-
331
- `string`
332
-
333
- The public origin of this provider node (resolved server-side by the REST route
334
- from the hosting component); used to build the data-plane endpoint when auto-starting.
335
-
336
317
  ##### options
337
318
 
338
319
  \{ `autoStart?`: `boolean`; \} \| `undefined`
@@ -374,7 +355,7 @@ both consumerPid and providerPid, or TransferError if the operation fails.
374
355
 
375
356
  ### startTransfer() {#starttransfer}
376
357
 
377
- > **startTransfer**(`message`, `publicOrigin`, `trustPayload`): `Promise`\<`IDataspaceProtocolTransferStartMessage` \| `IDataspaceProtocolTransferError`\>
358
+ > **startTransfer**(`message`, `trustPayload`): `Promise`\<`IDataspaceProtocolTransferStartMessage` \| `IDataspaceProtocolTransferError`\>
378
359
 
379
360
  Start a Transfer Process.
380
361
  Transitions Transfer Process from REQUESTED to STARTED state, or resumes from SUSPENDED state.
@@ -392,12 +373,6 @@ DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#t
392
373
 
393
374
  Transfer start message (DSP compliant).
394
375
 
395
- ##### publicOrigin
396
-
397
- `string`
398
-
399
- The public origin URL of this service (used to construct data plane endpoint for PULL transfers).
400
-
401
376
  ##### trustPayload
402
377
 
403
378
  `unknown`
@@ -414,7 +389,7 @@ Transfer Start Message (DSP compliant) with dataAddress for PULL transfers, or T
414
389
 
415
390
  ### transferStarted() {#transferstarted}
416
391
 
417
- > **transferStarted**(`pid`, `publicOrigin`, `trustPayload`): `Promise`\<`IDataspaceProtocolTransferStartMessage` \| `IDataspaceProtocolTransferError`\>
392
+ > **transferStarted**(`pid`, `trustPayload`): `Promise`\<`IDataspaceProtocolTransferStartMessage` \| `IDataspaceProtocolTransferError`\>
418
393
 
419
394
  Start a Transfer Process as the Provider.
420
395
  Implements DSP Transfer Process Protocol.
@@ -435,12 +410,6 @@ DSP Spec: https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#t
435
410
 
436
411
  The Process ID (consumerPid or providerPid) identifying the transfer to start.
437
412
 
438
- ##### publicOrigin
439
-
440
- `string`
441
-
442
- The public origin URL of this provider node (used to construct the data plane endpoint for PULL transfers).
443
-
444
413
  ##### trustPayload
445
414
 
446
415
  `unknown`
@@ -0,0 +1,5 @@
1
+ # Type Alias: DataspaceControlPlaneMetricIds
2
+
3
+ > **DataspaceControlPlaneMetricIds** = *typeof* [`DataspaceControlPlaneMetricIds`](../variables/DataspaceControlPlaneMetricIds.md)\[keyof *typeof* [`DataspaceControlPlaneMetricIds`](../variables/DataspaceControlPlaneMetricIds.md)\]
4
+
5
+ Metric IDs for the dataspace control plane service.
@@ -0,0 +1,5 @@
1
+ # Type Alias: DataspaceDataPlaneMetricIds
2
+
3
+ > **DataspaceDataPlaneMetricIds** = *typeof* [`DataspaceDataPlaneMetricIds`](../variables/DataspaceDataPlaneMetricIds.md)\[keyof *typeof* [`DataspaceDataPlaneMetricIds`](../variables/DataspaceDataPlaneMetricIds.md)\]
4
+
5
+ Metric IDs for the dataspace data plane service.
@@ -0,0 +1,67 @@
1
+ # Variable: DataspaceControlPlaneMetricIds
2
+
3
+ > `const` **DataspaceControlPlaneMetricIds**: `object`
4
+
5
+ Metric IDs for the dataspace control plane service.
6
+
7
+ ## Type Declaration
8
+
9
+ ### TransfersRequested {#transfersrequested}
10
+
11
+ > `readonly` **TransfersRequested**: `"dcp_transfers_requested"` = `"dcp_transfers_requested"`
12
+
13
+ Number of transfer processes requested.
14
+
15
+ ### TransfersPrepared {#transfersprepared}
16
+
17
+ > `readonly` **TransfersPrepared**: `"dcp_transfers_prepared"` = `"dcp_transfers_prepared"`
18
+
19
+ Number of transfer processes prepared by the consumer.
20
+
21
+ ### TransfersStarted {#transfersstarted}
22
+
23
+ > `readonly` **TransfersStarted**: `"dcp_transfers_started"` = `"dcp_transfers_started"`
24
+
25
+ Number of transfer processes started.
26
+
27
+ ### TransfersCompleted {#transferscompleted}
28
+
29
+ > `readonly` **TransfersCompleted**: `"dcp_transfers_completed"` = `"dcp_transfers_completed"`
30
+
31
+ Number of transfer processes completed.
32
+
33
+ ### TransfersSuspended {#transferssuspended}
34
+
35
+ > `readonly` **TransfersSuspended**: `"dcp_transfers_suspended"` = `"dcp_transfers_suspended"`
36
+
37
+ Number of transfer processes suspended.
38
+
39
+ ### TransfersTerminated {#transfersterminated}
40
+
41
+ > `readonly` **TransfersTerminated**: `"dcp_transfers_terminated"` = `"dcp_transfers_terminated"`
42
+
43
+ Number of transfer processes terminated.
44
+
45
+ ### NegotiationsInitiated {#negotiationsinitiated}
46
+
47
+ > `readonly` **NegotiationsInitiated**: `"dcp_negotiations_initiated"` = `"dcp_negotiations_initiated"`
48
+
49
+ Number of contract negotiations initiated.
50
+
51
+ ### AppDatasetsCreated {#appdatasetscreated}
52
+
53
+ > `readonly` **AppDatasetsCreated**: `"dcp_app_datasets_created"` = `"dcp_app_datasets_created"`
54
+
55
+ Number of app datasets created.
56
+
57
+ ### AppDatasetsUpdated {#appdatasetsupdated}
58
+
59
+ > `readonly` **AppDatasetsUpdated**: `"dcp_app_datasets_updated"` = `"dcp_app_datasets_updated"`
60
+
61
+ Number of app datasets updated.
62
+
63
+ ### AppDatasetsDeleted {#appdatasetsdeleted}
64
+
65
+ > `readonly` **AppDatasetsDeleted**: `"dcp_app_datasets_deleted"` = `"dcp_app_datasets_deleted"`
66
+
67
+ Number of app datasets deleted.
@@ -0,0 +1,5 @@
1
+ # Variable: DataspaceControlPlaneMetrics
2
+
3
+ > `const` **DataspaceControlPlaneMetrics**: `ITelemetryMetric`[]
4
+
5
+ Metrics registered by the dataspace control plane service.
@@ -0,0 +1,43 @@
1
+ # Variable: DataspaceDataPlaneMetricIds
2
+
3
+ > `const` **DataspaceDataPlaneMetricIds**: `object`
4
+
5
+ Metric IDs for the dataspace data plane service.
6
+
7
+ ## Type Declaration
8
+
9
+ ### ActivitiesNotified {#activitiesnotified}
10
+
11
+ > `readonly` **ActivitiesNotified**: `"ddp_activities_notified"` = `"ddp_activities_notified"`
12
+
13
+ Number of activities notified.
14
+
15
+ ### DataAssetsQueried {#dataassetsqueried}
16
+
17
+ > `readonly` **DataAssetsQueried**: `"ddp_data_assets_queried"` = `"ddp_data_assets_queried"`
18
+
19
+ Number of data asset queries executed.
20
+
21
+ ### DataAssetsRetrieved {#dataassetsretrieved}
22
+
23
+ > `readonly` **DataAssetsRetrieved**: `"ddp_data_assets_retrieved"` = `"ddp_data_assets_retrieved"`
24
+
25
+ Number of data asset entity retrievals.
26
+
27
+ ### PushSubscriptionsCreated {#pushsubscriptionscreated}
28
+
29
+ > `readonly` **PushSubscriptionsCreated**: `"ddp_push_subscriptions_created"` = `"ddp_push_subscriptions_created"`
30
+
31
+ Number of push subscriptions created.
32
+
33
+ ### PushSubscriptionsRemoved {#pushsubscriptionsremoved}
34
+
35
+ > `readonly` **PushSubscriptionsRemoved**: `"ddp_push_subscriptions_removed"` = `"ddp_push_subscriptions_removed"`
36
+
37
+ Number of push subscriptions removed.
38
+
39
+ ### PushActivitiesScheduled {#pushactivitiesscheduled}
40
+
41
+ > `readonly` **PushActivitiesScheduled**: `"ddp_push_activities_scheduled"` = `"ddp_push_activities_scheduled"`
42
+
43
+ Number of outbound activities scheduled for push delivery.
@@ -0,0 +1,5 @@
1
+ # Variable: DataspaceDataPlaneMetrics
2
+
3
+ > `const` **DataspaceDataPlaneMetrics**: `ITelemetryMetric`[]
4
+
5
+ Metrics registered by the dataspace data plane service.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/dataspace-models",
3
- "version": "0.0.3-next.47",
3
+ "version": "0.0.3-next.49",
4
4
  "description": "Defines shared entities, interfaces, and data types used by control plane and data plane components.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,7 +24,8 @@
24
24
  "@twin.org/standards-schema-org": "next",
25
25
  "@twin.org/standards-w3c-activity-streams": "next",
26
26
  "@twin.org/standards-w3c-dcat": "next",
27
- "@twin.org/standards-w3c-odrl": "next"
27
+ "@twin.org/standards-w3c-odrl": "next",
28
+ "@twin.org/telemetry-models": "next"
28
29
  },
29
30
  "main": "./dist/es/index.js",
30
31
  "types": "./dist/types/index.d.ts",