@twin.org/dataspace-models 0.9.2-next.8 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"INegotiationCallback.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/INegotiationCallback.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolContractNegotiationStateType,\n\tIDataspaceProtocolAgreement,\n\tIDataspaceProtocolOffer\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Callback interface for negotiation state change notifications.\n * Upstream modules register an implementation of this interface\n * via IDataspaceControlPlaneComponent.registerNegotiationCallback()\n * to be notified when PNP callbacks fire.\n */\nexport interface INegotiationCallback {\n\t/**\n\t * Called when the negotiation state changes (offer received, agreement received).\n\t * @param negotiationId The negotiation ID.\n\t * @param state The new state.\n\t * @param data Optional data associated with the state change.\n\t * @param data.offer The offer received from the provider.\n\t * @param data.agreement The agreement received from the provider.\n\t * @returns Nothing.\n\t */\n\tonStateChanged(\n\t\tnegotiationId: string,\n\t\tstate: DataspaceProtocolContractNegotiationStateType,\n\t\tdata?: { offer?: IDataspaceProtocolOffer; agreement?: IDataspaceProtocolAgreement }\n\t): Promise<void>;\n\n\t/**\n\t * Called when the negotiation finalizes.\n\t * @param negotiationId The negotiation ID, or undefined for implicit-trust agreements.\n\t * @param agreementId The agreement ID (from agreement.uid).\n\t * @returns Nothing.\n\t */\n\tonFinalized(negotiationId: string | undefined, agreementId: string): Promise<void>;\n\n\t/**\n\t * Called when the negotiation fails (terminated or stalled).\n\t * @param negotiationId The negotiation ID.\n\t * @param reason The failure reason.\n\t * @returns Nothing.\n\t */\n\tonFailed(negotiationId: string, reason: string): Promise<void>;\n\n\t/**\n\t * Called when the negotiation times out, i.e. the provider did not progress it within the configured\n\t * window. Optional: implement it to be notified specifically of a non-response (otherwise the\n\t * control plane falls back to `onFailed(negotiationId, \"negotiationStalled\")`).\n\t * @param negotiationId The negotiation ID.\n\t * @returns Nothing.\n\t */\n\tonTimeout?(negotiationId: string): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"INegotiationCallback.js","sourceRoot":"","sources":["../../../../src/models/controlPlane/INegotiationCallback.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tDataspaceProtocolContractNegotiationStateType,\n\tIDataspaceProtocolAgreement,\n\tIDataspaceProtocolOffer\n} from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * Callback interface for negotiation state change notifications.\n * Upstream modules register an implementation of this interface\n * via IDataspaceControlPlaneComponent.registerNegotiationCallback()\n * to be notified when PNP callbacks fire.\n */\nexport interface INegotiationCallback {\n\t/**\n\t * Called when the negotiation state changes (offer received, agreement received).\n\t * @param negotiationId The negotiation ID.\n\t * @param state The new state.\n\t * @param data Optional data associated with the state change.\n\t * @param data.offer The offer received from the provider.\n\t * @param data.agreement The agreement received from the provider.\n\t * @returns Nothing.\n\t */\n\tonStateChanged(\n\t\tnegotiationId: string,\n\t\tstate: DataspaceProtocolContractNegotiationStateType,\n\t\tdata?: { offer?: IDataspaceProtocolOffer; agreement?: IDataspaceProtocolAgreement }\n\t): Promise<void>;\n\n\t/**\n\t * Called when the negotiation finalizes.\n\t * @param negotiationId The negotiation ID, or undefined for implicit-trust or agreement-reuse paths.\n\t * @param agreementId The agreement ID (from agreement.uid).\n\t * @param offerId The offer ID that triggered the negotiation; present when negotiationId is undefined so\n\t * callers with concurrent negotiations can discriminate which finalization belongs to them.\n\t * @returns Nothing.\n\t */\n\tonFinalized(\n\t\tnegotiationId: string | undefined,\n\t\tagreementId: string,\n\t\tofferId?: string\n\t): Promise<void>;\n\n\t/**\n\t * Called when the negotiation fails (terminated or stalled).\n\t * @param negotiationId The negotiation ID.\n\t * @param reason The failure reason.\n\t * @returns Nothing.\n\t */\n\tonFailed(negotiationId: string, reason: string): Promise<void>;\n\n\t/**\n\t * Called when the negotiation times out, i.e. the provider did not progress it within the configured\n\t * window. Optional: implement it to be notified specifically of a non-response (otherwise the\n\t * control plane falls back to `onFailed(negotiationId, \"negotiationStalled\")`).\n\t * @param negotiationId The negotiation ID.\n\t * @returns Nothing.\n\t */\n\tonTimeout?(negotiationId: string): Promise<void>;\n}\n"]}
@@ -44,6 +44,10 @@ export const DataspaceControlPlaneMetricIds = {
44
44
  /**
45
45
  * Number of app datasets deleted.
46
46
  */
47
- AppDatasetsDeleted: "dcp_app_datasets_deleted"
47
+ AppDatasetsDeleted: "dcp_app_datasets_deleted",
48
+ /**
49
+ * Number of agreements removed by the agreement sweep.
50
+ */
51
+ AgreementsSwept: "dcp_agreements_swept"
48
52
  };
49
53
  //# sourceMappingURL=dataspaceControlPlaneMetricIds.js.map
@@ -1 +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"]}
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;IAE9C;;OAEG;IACH,eAAe,EAAE,sBAAsB;CAC9B,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\n\t/**\n\t * Number of agreements removed by the agreement sweep.\n\t */\n\tAgreementsSwept: \"dcp_agreements_swept\"\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"]}
@@ -56,6 +56,11 @@ export const DataspaceControlPlaneMetrics = [
56
56
  id: DataspaceControlPlaneMetricIds.AppDatasetsDeleted,
57
57
  label: "App datasets deleted",
58
58
  type: MetricType.Counter
59
+ },
60
+ {
61
+ id: DataspaceControlPlaneMetricIds.AgreementsSwept,
62
+ label: "Agreements removed by the sweep",
63
+ type: MetricType.Counter
59
64
  }
60
65
  ];
61
66
  //# sourceMappingURL=dataspaceControlPlaneMetrics.js.map
@@ -1 +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"]}
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;IACD;QACC,EAAE,EAAE,8BAA8B,CAAC,eAAe;QAClD,KAAK,EAAE,iCAAiC;QACxC,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\t{\n\t\tid: DataspaceControlPlaneMetricIds.AgreementsSwept,\n\t\tlabel: \"Agreements removed by the sweep\",\n\t\ttype: MetricType.Counter\n\t}\n];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDataspaceDataPlaneComponent.js","sourceRoot":"","sources":["../../../../src/models/dataPlane/IDataspaceDataPlaneComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { IActivityStreamsActivity } from \"@twin.org/standards-w3c-activity-streams\";\nimport type { IActivityLogEntry } from \"../IActivityLogEntry.js\";\nimport type { IActivityLogStatusNotification } from \"../IActivityLogStatusNotification.js\";\nimport type { IDataAssetItemListResult } from \"../IDataAssetItemListResult.js\";\nimport type { IEntitySet } from \"../IEntitySet.js\";\nimport type { IFilteringQuery } from \"../IFilteringQuery.js\";\n\n/**\n * Dataspace Data Plane component interface.\n * Implements the Data Plane functionality for the Eclipse Dataspace Protocol.\n */\nexport interface IDataspaceDataPlaneComponent extends IComponent {\n\t/**\n\t * Notify an Activity to the Dataspace Data Plane Activity Stream.\n\t * @param activity The Activity notified.\n\t * @param trustPayload Trust payload to verify the requesters identity.\n\t * @returns The activity's entry.\n\t */\n\tnotifyActivity(\n\t\tactivity: IActivityStreamsActivity,\n\t\ttrustPayload?: unknown\n\t): Promise<string | IActivityLogEntry>;\n\n\t/**\n\t * Subscribes to the activity log.\n\t * @param callback The callback to be called when Activity Log is called.\n\t * @param subscriptionId The subscription Id.\n\t * @returns The subscription Id.\n\t */\n\tsubscribeToActivityLog(\n\t\tcallback: (notification: IActivityLogStatusNotification) => Promise<void>,\n\t\tsubscriptionId?: string\n\t): Promise<string>;\n\n\t/**\n\t * Unsubscribes from the activity log.\n\t * @param subscriptionId The subscription Id to remove.\n\t * @returns A promise that resolves when the subscription has been removed.\n\t */\n\tunSubscribeToActivityLog(subscriptionId: string): Promise<void>;\n\n\t/**\n\t * Returns Activity Log Entry which contains the Activity processing details.\n\t * @param logEntryId The Id of the Activity Log Entry (a URI).\n\t * @param trustPayload Trust payload to verify the requester's identity.\n\t * @returns the Activity Log Entry with the processing details.\n\t * @throws NotFoundError if activity log entry is not known.\n\t * @throws UnauthorizedError if trustPayload is absent or the verified identity is not the entry generator.\n\t */\n\tgetActivityLogEntry(logEntryId: string, trustPayload?: unknown): Promise<IActivityLogEntry>;\n\n\t/**\n\t * Get Data Asset entities. Allows to retrieve entities by their type or id.\n\t * @param entitySet The set of entities to be retrieved.\n\t * @param entitySet.jsonLdContext The JSON-LD Context to be used to expand the referred entityType.\n\t * @param consumerPid The consumer Process ID from the DSP Transfer Process.\n\t * Used to resolve datasetId from the Transfer Process.\n\t * @param cursor Pagination details - cursor.\n\t * @param limit Pagination details - max number of entities.\n\t * @param trustPayload Trust payload to verify the requesters identity.\n\t * @returns The item list and optional cursor for pagination via Link headers.\n\t */\n\tgetDataAssetEntities(\n\t\tentitySet: IEntitySet & {\n\t\t\tjsonLdContext?: IJsonLdContextDefinitionElement[];\n\t\t},\n\t\tconsumerPid: string,\n\t\tcursor?: string,\n\t\tlimit?: number,\n\t\ttrustPayload?: unknown\n\t): Promise<IDataAssetItemListResult>;\n\n\t/**\n\t * Queries a data asset controlled by this Dataspace App.\n\t * @param consumerPid The consumer Process ID from the DSP Transfer Process.\n\t * Used to resolve datasetId from the Transfer Process.\n\t * @param query The filtering query.\n\t * @param cursor Pagination details - cursor.\n\t * @param limit Pagination details - max number of entities.\n\t * @param trustPayload Trust payload to verify the requesters identity.\n\t * @returns The item list and optional cursor for pagination via Link headers.\n\t */\n\tqueryDataAsset(\n\t\tconsumerPid: string,\n\t\tquery: IFilteringQuery,\n\t\tcursor?: string,\n\t\tlimit?: number,\n\t\ttrustPayload?: unknown\n\t): Promise<IDataAssetItemListResult>;\n\n\t/**\n\t * Set up a push subscription after a transfer enters STARTED from REQUESTED.\n\t * Reads the TransferProcess, builds an IFollowActivity, calls the app's\n\t * subscribeToData, and persists a PushSubscription entity.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is created.\n\t */\n\tsetupPushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Pause deliveries for a push subscription. The subscription entity stays\n\t * alive with status=Paused. No app unsubscribe call.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is paused.\n\t */\n\tsuspendPushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Resume deliveries after a SUSPENDED → STARTED transition. Flips status\n\t * back to Active. No app subscribeToData call.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is resumed.\n\t */\n\tresumePushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Tear down a push subscription. Builds an IUndoActivity, calls the app's\n\t * unsubscribeToData, and deletes the PushSubscription entity.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is torn down.\n\t */\n\tteardownPushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Called by the app when new data is available for a follower.\n\t * The activity's `to` attribute contains the consumerPid URN. This method\n\t * looks up the matching PushSubscription, validates transfer state, and\n\t * schedules a Background Task that POSTs the activity to the consumer.\n\t * @param activity The outbound activity carrying the data payload.\n\t * @returns Promise that resolves when the delivery task is scheduled.\n\t */\n\tprocessOutboxActivity(activity: IActivityStreamsActivity): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"IDataspaceDataPlaneComponent.js","sourceRoot":"","sources":["../../../../src/models/dataPlane/IDataspaceDataPlaneComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { IActivityStreamsActivity } from \"@twin.org/standards-w3c-activity-streams\";\nimport type { IActivityLogEntry } from \"../IActivityLogEntry.js\";\nimport type { IActivityLogStatusNotification } from \"../IActivityLogStatusNotification.js\";\nimport type { IDataAssetItemListResult } from \"../IDataAssetItemListResult.js\";\nimport type { IEntitySet } from \"../IEntitySet.js\";\nimport type { IFilteringQuery } from \"../IFilteringQuery.js\";\n\n/**\n * Dataspace Data Plane component interface.\n * Implements the Data Plane functionality for the Eclipse Dataspace Protocol.\n */\nexport interface IDataspaceDataPlaneComponent extends IComponent {\n\t/**\n\t * Notify an Activity to the Dataspace Data Plane Activity Stream.\n\t * @param activity The Activity notified.\n\t * @param trustPayload Trust payload to verify the requesters identity.\n\t * @returns The activity's entry.\n\t */\n\tnotifyActivity(\n\t\tactivity: IActivityStreamsActivity,\n\t\ttrustPayload?: unknown\n\t): Promise<string | IActivityLogEntry>;\n\n\t/**\n\t * Subscribes to the activity log.\n\t * @param callback The callback to be called when Activity Log is called.\n\t * @param subscriptionId The subscription Id.\n\t * @returns The subscription Id.\n\t */\n\tsubscribeToActivityLog(\n\t\tcallback: (notification: IActivityLogStatusNotification) => Promise<void>,\n\t\tsubscriptionId?: string\n\t): Promise<string>;\n\n\t/**\n\t * Unsubscribes from the activity log.\n\t * @param subscriptionId The subscription Id to remove.\n\t * @returns A promise that resolves when the subscription has been removed.\n\t */\n\tunSubscribeToActivityLog(subscriptionId: string): Promise<void>;\n\n\t/**\n\t * Returns Activity Log Entry which contains the Activity processing details.\n\t * @param logEntryId The Id of the Activity Log Entry (a URI).\n\t * @param trustPayload Trust payload to verify the requester's identity.\n\t * @returns the Activity Log Entry with the processing details.\n\t * @throws NotFoundError if activity log entry is not known.\n\t * @throws UnauthorizedError if trustPayload is absent or the verified identity is not authorised for the entry.\n\t */\n\tgetActivityLogEntry(logEntryId: string, trustPayload?: unknown): Promise<IActivityLogEntry>;\n\n\t/**\n\t * Get Data Asset entities. Allows to retrieve entities by their type or id.\n\t * @param entitySet The set of entities to be retrieved.\n\t * @param entitySet.jsonLdContext The JSON-LD Context to be used to expand the referred entityType.\n\t * @param consumerPid The consumer Process ID from the DSP Transfer Process.\n\t * Used to resolve datasetId from the Transfer Process.\n\t * @param cursor Pagination details - cursor.\n\t * @param limit Pagination details - max number of entities.\n\t * @param trustPayload Trust payload to verify the requesters identity.\n\t * @returns The item list and optional cursor for pagination via Link headers.\n\t */\n\tgetDataAssetEntities(\n\t\tentitySet: IEntitySet & {\n\t\t\tjsonLdContext?: IJsonLdContextDefinitionElement[];\n\t\t},\n\t\tconsumerPid: string,\n\t\tcursor?: string,\n\t\tlimit?: number,\n\t\ttrustPayload?: unknown\n\t): Promise<IDataAssetItemListResult>;\n\n\t/**\n\t * Queries a data asset controlled by this Dataspace App.\n\t * @param consumerPid The consumer Process ID from the DSP Transfer Process.\n\t * Used to resolve datasetId from the Transfer Process.\n\t * @param query The filtering query.\n\t * @param cursor Pagination details - cursor.\n\t * @param limit Pagination details - max number of entities.\n\t * @param trustPayload Trust payload to verify the requesters identity.\n\t * @returns The item list and optional cursor for pagination via Link headers.\n\t */\n\tqueryDataAsset(\n\t\tconsumerPid: string,\n\t\tquery: IFilteringQuery,\n\t\tcursor?: string,\n\t\tlimit?: number,\n\t\ttrustPayload?: unknown\n\t): Promise<IDataAssetItemListResult>;\n\n\t/**\n\t * Set up a push subscription after a transfer enters STARTED from REQUESTED.\n\t * Reads the TransferProcess, builds an IFollowActivity, calls the app's\n\t * subscribeToData, and persists a PushSubscription entity.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is created.\n\t */\n\tsetupPushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Pause deliveries for a push subscription. The subscription entity stays\n\t * alive with status=Paused. No app unsubscribe call.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is paused.\n\t */\n\tsuspendPushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Resume deliveries after a SUSPENDED → STARTED transition. Flips status\n\t * back to Active. No app subscribeToData call.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is resumed.\n\t */\n\tresumePushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Tear down a push subscription. Builds an IUndoActivity, calls the app's\n\t * unsubscribeToData, and deletes the PushSubscription entity.\n\t * @param consumerPid The consumer process ID identifying the transfer.\n\t * @returns Promise that resolves when the subscription is torn down.\n\t */\n\tteardownPushSubscription(consumerPid: string): Promise<void>;\n\n\t/**\n\t * Called by the app when new data is available for a follower.\n\t * The activity's `to` attribute contains the consumerPid URN. This method\n\t * looks up the matching PushSubscription, validates transfer state, and\n\t * schedules a Background Task that POSTs the activity to the consumer.\n\t * @param activity The outbound activity carrying the data payload.\n\t * @returns Promise that resolves when the delivery task is scheduled.\n\t */\n\tprocessOutboxActivity(activity: IActivityStreamsActivity): Promise<void>;\n}\n"]}
@@ -21,11 +21,13 @@ export interface INegotiationCallback {
21
21
  }): Promise<void>;
22
22
  /**
23
23
  * Called when the negotiation finalizes.
24
- * @param negotiationId The negotiation ID, or undefined for implicit-trust agreements.
24
+ * @param negotiationId The negotiation ID, or undefined for implicit-trust or agreement-reuse paths.
25
25
  * @param agreementId The agreement ID (from agreement.uid).
26
+ * @param offerId The offer ID that triggered the negotiation; present when negotiationId is undefined so
27
+ * callers with concurrent negotiations can discriminate which finalization belongs to them.
26
28
  * @returns Nothing.
27
29
  */
28
- onFinalized(negotiationId: string | undefined, agreementId: string): Promise<void>;
30
+ onFinalized(negotiationId: string | undefined, agreementId: string, offerId?: string): Promise<void>;
29
31
  /**
30
32
  * Called when the negotiation fails (terminated or stalled).
31
33
  * @param negotiationId The negotiation ID.
@@ -42,6 +42,10 @@ export declare const DataspaceControlPlaneMetricIds: {
42
42
  * Number of app datasets deleted.
43
43
  */
44
44
  readonly AppDatasetsDeleted: "dcp_app_datasets_deleted";
45
+ /**
46
+ * Number of agreements removed by the agreement sweep.
47
+ */
48
+ readonly AgreementsSwept: "dcp_agreements_swept";
45
49
  };
46
50
  /**
47
51
  * Metric IDs for the dataspace control plane service.
@@ -37,7 +37,7 @@ export interface IDataspaceDataPlaneComponent extends IComponent {
37
37
  * @param trustPayload Trust payload to verify the requester's identity.
38
38
  * @returns the Activity Log Entry with the processing details.
39
39
  * @throws NotFoundError if activity log entry is not known.
40
- * @throws UnauthorizedError if trustPayload is absent or the verified identity is not the entry generator.
40
+ * @throws UnauthorizedError if trustPayload is absent or the verified identity is not authorised for the entry.
41
41
  */
42
42
  getActivityLogEntry(logEntryId: string, trustPayload?: unknown): Promise<IActivityLogEntry>;
43
43
  /**
package/docs/changelog.md CHANGED
@@ -1,5 +1,70 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.2](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2...dataspace-models-v0.9.2) (2026-08-24)
4
+
5
+
6
+ ### Features
7
+
8
+ * add consumer transfer callbacks and startDataTransfer convenience method ([#151](https://github.com/iotaledger/twin-dataspace/issues/151)) ([0ab66c3](https://github.com/iotaledger/twin-dataspace/commit/0ab66c3636fd1f98f89baca1e99764d77c6f91d9))
9
+ * add dataspace transfer format ([#111](https://github.com/iotaledger/twin-dataspace/issues/111)) ([f59ff5e](https://github.com/iotaledger/twin-dataspace/commit/f59ff5ef10d261d1cebbf5c6bb0689e74a10738a))
10
+ * add inline tasks and concurrent options ([#104](https://github.com/iotaledger/twin-dataspace/issues/104)) ([2227a21](https://github.com/iotaledger/twin-dataspace/commit/2227a212d906f58ba77850c79bb20bf2cb7195a8))
11
+ * 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))
12
+ * add transferStarted provider method to start a data transfer ([#206](https://github.com/iotaledger/twin-dataspace/issues/206)) ([3ec2dc8](https://github.com/iotaledger/twin-dataspace/commit/3ec2dc8943c8531cd8d8e4ab07cb970ef7b11090))
13
+ * align all config times to ms ([40238d5](https://github.com/iotaledger/twin-dataspace/commit/40238d59a2b45caedc01792b682ce7206815dfd1))
14
+ * cross-node transfer callbacks and DataTransferManager auto-start ([#199](https://github.com/iotaledger/twin-dataspace/issues/199)) ([1089aa3](https://github.com/iotaledger/twin-dataspace/commit/1089aa344e3598e382f37a82ca03230c5cf6cacd))
15
+ * docs update ([8b44c7a](https://github.com/iotaledger/twin-dataspace/commit/8b44c7a75afb8d377a6f606616f8a78d58439ab4))
16
+ * endpoint encryption + getDatasetTargets multi-target fix ([#112](https://github.com/iotaledger/twin-dataspace/issues/112)) ([3288941](https://github.com/iotaledger/twin-dataspace/commit/328894113c19c7402f7d00dfa77b6a97ae40ca91))
17
+ * get activity log add trust payload ([#201](https://github.com/iotaledger/twin-dataspace/issues/201)) ([cdb5486](https://github.com/iotaledger/twin-dataspace/commit/cdb5486942c1b94ddf6435236b9b9d190bea0407))
18
+ * implement DSP push transfer mode ([#109](https://github.com/iotaledger/twin-dataspace/issues/109)) ([71f5fee](https://github.com/iotaledger/twin-dataspace/commit/71f5feec1d92dfec8ed6899c951809818e1bf2a3))
19
+ * improve error handling and component usage ([544e20e](https://github.com/iotaledger/twin-dataspace/commit/544e20e640d6f09266942bfc698aead6227a7769))
20
+ * improve open-api examples ([1368dbe](https://github.com/iotaledger/twin-dataspace/commit/1368dbed5c36e074b4854942304a19b9ce51e088))
21
+ * improve validation ([#82](https://github.com/iotaledger/twin-dataspace/issues/82)) ([8bfaf7b](https://github.com/iotaledger/twin-dataspace/commit/8bfaf7b830f89b63575f8a51ee96bd8ac4da02f4))
22
+ * organization identifiers ([#188](https://github.com/iotaledger/twin-dataspace/issues/188)) ([af643d3](https://github.com/iotaledger/twin-dataspace/commit/af643d3bb7f212d6cbb672e362a9e1bbe886d1a5))
23
+ * provider-side transfer auto-start and negotiation/transfer timeout callbacks ([#227](https://github.com/iotaledger/twin-dataspace/issues/227)) ([619d858](https://github.com/iotaledger/twin-dataspace/commit/619d858e8d44e59744dc8a0f73e06be976932b53))
24
+ * release to production ([#243](https://github.com/iotaledger/twin-dataspace/issues/243)) ([9906476](https://github.com/iotaledger/twin-dataspace/commit/9906476c5b9150f0660f7950a3afd4fa87009d14))
25
+ * release to production ([#308](https://github.com/iotaledger/twin-dataspace/issues/308)) ([fba29a0](https://github.com/iotaledger/twin-dataspace/commit/fba29a083d7e4892f1f06b9e2e3faa6a72185cda))
26
+ * release to production ([#359](https://github.com/iotaledger/twin-dataspace/issues/359)) ([3a2c8ae](https://github.com/iotaledger/twin-dataspace/commit/3a2c8aeeab167c5848536b74453953165e3eeb94))
27
+ * remove datasetsHandled method from apps ([9fdc950](https://github.com/iotaledger/twin-dataspace/commit/9fdc95018d38ab49c4a1094642be2ee83ee0e4cd))
28
+ * remove hosting component ([#209](https://github.com/iotaledger/twin-dataspace/issues/209)) ([5e19328](https://github.com/iotaledger/twin-dataspace/commit/5e1932823aa8a0f88f559f096610b9df1f3b8615))
29
+ * rename completed callback ([#147](https://github.com/iotaledger/twin-dataspace/issues/147)) ([f62baad](https://github.com/iotaledger/twin-dataspace/commit/f62baad0ff444e2913439b12dcd06d20c9a4f6a4))
30
+ * resolve DSP transfer flow bugs for cross-node communication ([#76](https://github.com/iotaledger/twin-dataspace/issues/76)) ([506a45c](https://github.com/iotaledger/twin-dataspace/commit/506a45c94e63d5f958b1fc7131adfe452c3e2974))
31
+ * shortcut implicit trust ([#215](https://github.com/iotaledger/twin-dataspace/issues/215)) ([f9bcfea](https://github.com/iotaledger/twin-dataspace/commit/f9bcfeab8f069b62017502833c108b4ee3791414))
32
+ * types update ([77c338e](https://github.com/iotaledger/twin-dataspace/commit/77c338e9244dcc7e3d597fdb06229513b1f13eac))
33
+ * typescript 6 update ([340f10e](https://github.com/iotaledger/twin-dataspace/commit/340f10e4767f6285c694938944f7e044474f9aaa))
34
+ * unification of the data exchange and the data space connector ([#57](https://github.com/iotaledger/twin-dataspace/issues/57)) ([df2644d](https://github.com/iotaledger/twin-dataspace/commit/df2644d989471e07dadd83d27bef736179e31bf4))
35
+ * update DataspaceTransferFormat names ([2c9d424](https://github.com/iotaledger/twin-dataspace/commit/2c9d424a07b97346faa2124048c4675514d58109))
36
+
37
+
38
+ ### Bug Fixes
39
+
40
+ * always verify trust in notifyActivity, no internal by ([#192](https://github.com/iotaledger/twin-dataspace/issues/192)) ([2cfc160](https://github.com/iotaledger/twin-dataspace/commit/2cfc16082a7c9d417f0b05f90f123e40f47d1e05))
41
+ * avoid compaction of incoming activities ([#77](https://github.com/iotaledger/twin-dataspace/issues/77)) ([ff43d6a](https://github.com/iotaledger/twin-dataspace/commit/ff43d6a3e1563eb9cb185501134b2a53ae88787c))
42
+ * docs ([652f4f2](https://github.com/iotaledger/twin-dataspace/commit/652f4f2fec8601bb3772e054b2c823f599ef68dc))
43
+ * implement missing trust check on negotiateAgreement ([#136](https://github.com/iotaledger/twin-dataspace/issues/136)) ([a3589c2](https://github.com/iotaledger/twin-dataspace/commit/a3589c279476d5450b68ea7c2790be7e3125bfe2))
44
+ * return 422/500 when inline activity processing fails ([#135](https://github.com/iotaledger/twin-dataspace/issues/135)) ([8635187](https://github.com/iotaledger/twin-dataspace/commit/863518724cb90af15edc5f456d9a93c6cad7d661))
45
+ * throw not supported error for in-process only control plane methods ([#185](https://github.com/iotaledger/twin-dataspace/issues/185)) ([130f00a](https://github.com/iotaledger/twin-dataspace/commit/130f00a87412b34defde891855bee7aa3ac34130))
46
+
47
+ ## [0.9.2-next.11](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.10...dataspace-models-v0.9.2-next.11) (2026-08-23)
48
+
49
+
50
+ ### Features
51
+
52
+ * add correlation callbacks ([#354](https://github.com/iotaledger/twin-dataspace/issues/354)) ([d362fb6](https://github.com/iotaledger/twin-dataspace/commit/d362fb6b0816a62f72a77478d78fb3959a437b3c))
53
+
54
+ ## [0.9.2-next.10](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.9...dataspace-models-v0.9.2-next.10) (2026-08-16)
55
+
56
+
57
+ ### Features
58
+
59
+ * add unused agreement sweep to the control plane ([#344](https://github.com/iotaledger/twin-dataspace/issues/344)) ([8633642](https://github.com/iotaledger/twin-dataspace/commit/86336424ced7aeab3259c78373447074f4140e90))
60
+
61
+ ## [0.9.2-next.9](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.8...dataspace-models-v0.9.2-next.9) (2026-08-13)
62
+
63
+
64
+ ### Bug Fixes
65
+
66
+ * get activity log auth ([#343](https://github.com/iotaledger/twin-dataspace/issues/343)) ([9514679](https://github.com/iotaledger/twin-dataspace/commit/95146790ccf7b54fd5dce923af64fdaa607ca555))
67
+
3
68
  ## [0.9.2-next.8](https://github.com/iotaledger/twin-dataspace/compare/dataspace-models-v0.9.2-next.7...dataspace-models-v0.9.2-next.8) (2026-08-11)
4
69
 
5
70
 
@@ -119,7 +119,7 @@ NotFoundError if activity log entry is not known.
119
119
 
120
120
  #### Throws
121
121
 
122
- UnauthorizedError if trustPayload is absent or the verified identity is not the entry generator.
122
+ UnauthorizedError if trustPayload is absent or the verified identity is not authorised for the entry.
123
123
 
124
124
  ***
125
125
 
@@ -53,7 +53,7 @@ Nothing.
53
53
 
54
54
  ### onFinalized() {#onfinalized}
55
55
 
56
- > **onFinalized**(`negotiationId`, `agreementId`): `Promise`\<`void`\>
56
+ > **onFinalized**(`negotiationId`, `agreementId`, `offerId?`): `Promise`\<`void`\>
57
57
 
58
58
  Called when the negotiation finalizes.
59
59
 
@@ -63,7 +63,7 @@ Called when the negotiation finalizes.
63
63
 
64
64
  `string` \| `undefined`
65
65
 
66
- The negotiation ID, or undefined for implicit-trust agreements.
66
+ The negotiation ID, or undefined for implicit-trust or agreement-reuse paths.
67
67
 
68
68
  ##### agreementId
69
69
 
@@ -71,6 +71,13 @@ The negotiation ID, or undefined for implicit-trust agreements.
71
71
 
72
72
  The agreement ID (from agreement.uid).
73
73
 
74
+ ##### offerId?
75
+
76
+ `string`
77
+
78
+ The offer ID that triggered the negotiation; present when negotiationId is undefined so
79
+ callers with concurrent negotiations can discriminate which finalization belongs to them.
80
+
74
81
  #### Returns
75
82
 
76
83
  `Promise`\<`void`\>
@@ -65,3 +65,9 @@ Number of app datasets updated.
65
65
  > `readonly` **AppDatasetsDeleted**: `"dcp_app_datasets_deleted"` = `"dcp_app_datasets_deleted"`
66
66
 
67
67
  Number of app datasets deleted.
68
+
69
+ ### AgreementsSwept {#agreementsswept}
70
+
71
+ > `readonly` **AgreementsSwept**: `"dcp_agreements_swept"` = `"dcp_agreements_swept"`
72
+
73
+ Number of agreements removed by the agreement sweep.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/dataspace-models",
3
- "version": "0.9.2-next.8",
3
+ "version": "0.9.2",
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",
@@ -14,20 +14,20 @@
14
14
  "node": ">=24.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/background-task-models": "next",
18
- "@twin.org/core": "next",
19
- "@twin.org/data-core": "next",
20
- "@twin.org/data-json-ld": "next",
21
- "@twin.org/entity": "next",
22
- "@twin.org/nameof": "next",
23
- "@twin.org/rights-management-models": "next",
24
- "@twin.org/standards-dataspace-protocol": "next",
25
- "@twin.org/standards-schema-org": "next",
26
- "@twin.org/standards-w3c-activity-streams": "next",
27
- "@twin.org/standards-w3c-dcat": "next",
28
- "@twin.org/standards-w3c-odrl": "next",
29
- "@twin.org/telemetry-models": "next",
30
- "@twin.org/web": "next"
17
+ "@twin.org/background-task-models": "^0.9.2",
18
+ "@twin.org/core": "^0.9.2",
19
+ "@twin.org/data-core": "^0.9.2",
20
+ "@twin.org/data-json-ld": "^0.9.2",
21
+ "@twin.org/entity": "^0.9.2",
22
+ "@twin.org/nameof": "^0.9.2",
23
+ "@twin.org/rights-management-models": "^0.9.2",
24
+ "@twin.org/standards-dataspace-protocol": "^0.9.2",
25
+ "@twin.org/standards-schema-org": "^0.9.2",
26
+ "@twin.org/standards-w3c-activity-streams": "^0.9.2",
27
+ "@twin.org/standards-w3c-dcat": "^0.9.2",
28
+ "@twin.org/standards-w3c-odrl": "^0.9.2",
29
+ "@twin.org/telemetry-models": "^0.9.2",
30
+ "@twin.org/web": "^0.9.2"
31
31
  },
32
32
  "main": "./dist/es/index.js",
33
33
  "types": "./dist/types/index.d.ts",