@nmshd/runtime 2.0.0-beta.18 → 2.0.0-beta.19

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.
@@ -448,11 +448,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
448
448
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
449
449
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
450
450
  exports.buildInformation = {
451
- version: "2.0.0-beta.18",
452
- build: "104",
453
- date: "2022-08-04T14:39:33+00:00",
454
- commit: "08dda6c89ac3c83e167a9eaf5b9fe7b481b961a7",
455
- dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.4","@js-soft/ts-utils":"^2.2.2","@nmshd/consumption":"2.0.0-beta.6","@nmshd/content":"2.0.0-beta.3","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-beta.4","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","json-stringify-safe":"^5.0.1","luxon":"^3.0.1","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
451
+ version: "2.0.0-beta.19",
452
+ build: "105",
453
+ date: "2022-08-25T07:21:14+00:00",
454
+ commit: "3dbdc14c8ff985fed7b06bc64c683f2b103e7ed4",
455
+ dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.4","@js-soft/ts-utils":"^2.2.2","@nmshd/consumption":"2.0.0-beta.8","@nmshd/content":"2.0.0-beta.13","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-beta.4","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","json-stringify-safe":"^5.0.1","luxon":"^3.0.1","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
456
456
  libraries: {
457
457
  serval: ts_serval_1.buildInformation,
458
458
  consumption: consumption_1.buildInformation,
@@ -797,23 +797,23 @@ let DataViewExpander = class DataViewExpander {
797
797
  query: this.expandIdentityAttributeQuery(readAttributeRequestItem.query),
798
798
  isDecidable
799
799
  };
800
- case "CreateAttributeRequestItem":
800
+ case "CreateRelationshipAttributeRequestItem":
801
801
  const createAttributeRequestItem = requestItem;
802
802
  if (isDecidable) {
803
803
  return {
804
804
  ...createAttributeRequestItem,
805
- type: "DecidableCreateAttributeRequestItemDVO",
805
+ type: "DecidableCreateRelationshipAttributeRequestItemDVO",
806
806
  id: "",
807
- name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateAttributeRequestItem.name",
807
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateRelationshipAttributeRequestItem.name",
808
808
  attribute: await this.expandAttribute(createAttributeRequestItem.attribute),
809
809
  isDecidable
810
810
  };
811
811
  }
812
812
  return {
813
813
  ...createAttributeRequestItem,
814
- type: "CreateAttributeRequestItemDVO",
814
+ type: "CreateRelationshipAttributeRequestItemDVO",
815
815
  id: "",
816
- name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateAttributeRequestItem.name",
816
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateRelationshipAttributeRequestItem.name",
817
817
  attribute: await this.expandAttribute(createAttributeRequestItem.attribute),
818
818
  isDecidable
819
819
  };
@@ -844,10 +844,7 @@ let DataViewExpander = class DataViewExpander {
844
844
  };
845
845
  case "ShareAttributeRequestItem":
846
846
  const shareAttributeRequestItem = requestItem;
847
- const attributeResult = await this.consumption.attributes.getAttribute({ id: shareAttributeRequestItem.attributeId });
848
- const attribute = attributeResult.value;
849
- const attributeDVO = await this.expandLocalAttributeDTO(attribute);
850
- const shareWith = await this.expandAddress(shareAttributeRequestItem.shareWith);
847
+ const attributeDVO = await this.expandAttribute(shareAttributeRequestItem.attribute);
851
848
  if (isDecidable) {
852
849
  return {
853
850
  ...shareAttributeRequestItem,
@@ -855,7 +852,6 @@ let DataViewExpander = class DataViewExpander {
855
852
  id: "",
856
853
  name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
857
854
  attribute: attributeDVO,
858
- shareWith,
859
855
  isDecidable
860
856
  };
861
857
  }
@@ -865,7 +861,6 @@ let DataViewExpander = class DataViewExpander {
865
861
  id: "",
866
862
  name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
867
863
  attribute: attributeDVO,
868
- shareWith,
869
864
  isDecidable
870
865
  };
871
866
  default:
@@ -915,7 +910,7 @@ let DataViewExpander = class DataViewExpander {
915
910
  name: name,
916
911
  attribute: localAttributeDVOForRead
917
912
  };
918
- case "CreateAttributeAcceptResponseItem":
913
+ case "CreateRelationshipAttributeAcceptResponseItem":
919
914
  const createAttributeResponseItem = responseItem;
920
915
  const localAttributeResultForCreate = await this.consumption.attributes.getAttribute({ id: createAttributeResponseItem.attributeId });
921
916
  const localAttributeDVOForCreate = await this.expandLocalAttributeDTO(localAttributeResultForCreate.value);
@@ -2305,16 +2300,17 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2305
2300
  exports.MessageProcessedResult = exports.MessageProcessedEvent = void 0;
2306
2301
  const DataEvent_1 = __webpack_require__(/*! ../DataEvent */ "./dist/events/DataEvent.js");
2307
2302
  class MessageProcessedEvent extends DataEvent_1.DataEvent {
2308
- constructor(eventTargetAddress, template, result) {
2309
- super(MessageProcessedEvent.namespace, eventTargetAddress, { template, result });
2303
+ constructor(eventTargetAddress, message, result) {
2304
+ super(MessageProcessedEvent.namespace, eventTargetAddress, { message, result });
2310
2305
  }
2311
2306
  }
2312
2307
  exports.MessageProcessedEvent = MessageProcessedEvent;
2313
- MessageProcessedEvent.namespace = "consumption.MessageProcessed";
2308
+ MessageProcessedEvent.namespace = "consumption.messageProcessed";
2314
2309
  var MessageProcessedResult;
2315
2310
  (function (MessageProcessedResult) {
2316
2311
  MessageProcessedResult["ManualRequestDecisionRequired"] = "ManualRequestDecisionRequired";
2317
2312
  MessageProcessedResult["NoRequest"] = "NoRequest";
2313
+ MessageProcessedResult["Error"] = "Error";
2318
2314
  })(MessageProcessedResult = exports.MessageProcessedResult || (exports.MessageProcessedResult = {}));
2319
2315
  //# sourceMappingURL=MessageProcessedEvent.js.map
2320
2316
 
@@ -2499,6 +2495,7 @@ __exportStar(__webpack_require__(/*! ./AttributeUpdatedEvent */ "./dist/events/c
2499
2495
  __exportStar(__webpack_require__(/*! ./IncomingRequestReceivedEvent */ "./dist/events/consumption/IncomingRequestReceivedEvent.js"), exports);
2500
2496
  __exportStar(__webpack_require__(/*! ./IncomingRequestStatusChangedEvent */ "./dist/events/consumption/IncomingRequestStatusChangedEvent.js"), exports);
2501
2497
  __exportStar(__webpack_require__(/*! ./MailReceivedEvent */ "./dist/events/consumption/MailReceivedEvent.js"), exports);
2498
+ __exportStar(__webpack_require__(/*! ./MessageProcessedEvent */ "./dist/events/consumption/MessageProcessedEvent.js"), exports);
2502
2499
  __exportStar(__webpack_require__(/*! ./OutgoingRequestCreatedEvent */ "./dist/events/consumption/OutgoingRequestCreatedEvent.js"), exports);
2503
2500
  __exportStar(__webpack_require__(/*! ./OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent */ "./dist/events/consumption/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js"), exports);
2504
2501
  __exportStar(__webpack_require__(/*! ./OutgoingRequestStatusChangedEvent */ "./dist/events/consumption/OutgoingRequestStatusChangedEvent.js"), exports);
@@ -4319,7 +4316,6 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
4319
4316
  exports.DeciderModule = void 0;
4320
4317
  const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
4321
4318
  const events_1 = __webpack_require__(/*! ../events */ "./dist/events/index.js");
4322
- const MessageProcessedEvent_1 = __webpack_require__(/*! ../events/consumption/MessageProcessedEvent */ "./dist/events/consumption/MessageProcessedEvent.js");
4323
4319
  const extensibility_1 = __webpack_require__(/*! ../extensibility */ "./dist/extensibility/index.js");
4324
4320
  class DeciderModule extends extensibility_1.RuntimeModule {
4325
4321
  init() {
@@ -4331,20 +4327,33 @@ class DeciderModule extends extensibility_1.RuntimeModule {
4331
4327
  async handleIncomingRequestStatusChanged(event) {
4332
4328
  if (event.data.newStatus !== consumption_1.LocalRequestStatus.DecisionRequired)
4333
4329
  return;
4330
+ if (event.data.request.content.items.some(flaggedAsManualDecisionRequired))
4331
+ return await this.requireManualDecision(event);
4332
+ return await this.requireManualDecision(event);
4333
+ }
4334
+ async requireManualDecision(event) {
4335
+ const request = event.data.request;
4334
4336
  const services = await this.runtime.getServices(event.eventTargetAddress);
4335
- const requireManualDecisionResult = await services.consumptionServices.incomingRequests.requireManualDecision({ requestId: event.data.request.id });
4337
+ const requireManualDecisionResult = await services.consumptionServices.incomingRequests.requireManualDecision({ requestId: request.id });
4336
4338
  if (requireManualDecisionResult.isError) {
4337
- this.logger.error(`Could not require manual decision for request ${event.data.request.id}`, requireManualDecisionResult.error);
4339
+ this.logger.error(`Could not require manual decision for request ${request.id}`, requireManualDecisionResult.error);
4340
+ await this.publishEvent(event, services, "Error");
4338
4341
  return;
4339
4342
  }
4340
- switch (event.data.request.source.type) {
4343
+ await this.publishEvent(event, services, "ManualRequestDecisionRequired");
4344
+ }
4345
+ async publishEvent(event, services, result) {
4346
+ const request = event.data.request;
4347
+ switch (request.source.type) {
4341
4348
  case "RelationshipTemplate":
4342
- const getTemplateResult = await services.transportServices.relationshipTemplates.getRelationshipTemplate({ id: event.data.request.source.reference });
4343
- this.runtime.eventBus.publish(new events_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, getTemplateResult.value, events_1.RelationshipTemplateProcessedResult.ManualRequestDecisionRequired));
4349
+ const getTemplateResult = await services.transportServices.relationshipTemplates.getRelationshipTemplate({ id: request.source.reference });
4350
+ const template = getTemplateResult.value;
4351
+ this.runtime.eventBus.publish(new events_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, template, result));
4344
4352
  break;
4345
4353
  case "Message":
4346
- const getMessageResult = await services.transportServices.messages.getMessage({ id: event.data.request.source.reference });
4347
- this.runtime.eventBus.publish(new MessageProcessedEvent_1.MessageProcessedEvent(event.eventTargetAddress, { ...getMessageResult.value, attachments: getMessageResult.value.attachments.map((a) => a.id) }, MessageProcessedEvent_1.MessageProcessedResult.ManualRequestDecisionRequired));
4354
+ const getMessageResult = await services.transportServices.messages.getMessage({ id: request.source.reference });
4355
+ const message = { ...getMessageResult.value, attachments: getMessageResult.value.attachments.map((a) => a.id) };
4356
+ this.runtime.eventBus.publish(new events_1.MessageProcessedEvent(event.eventTargetAddress, message, result));
4348
4357
  break;
4349
4358
  }
4350
4359
  }
@@ -4353,6 +4362,9 @@ class DeciderModule extends extensibility_1.RuntimeModule {
4353
4362
  }
4354
4363
  }
4355
4364
  exports.DeciderModule = DeciderModule;
4365
+ function flaggedAsManualDecisionRequired(itemOrGroup) {
4366
+ return itemOrGroup.requireManualDecision ?? itemOrGroup.items?.some((i) => i.requireManualDecision);
4367
+ }
4356
4368
  //# sourceMappingURL=DeciderModule.js.map
4357
4369
 
4358
4370
  /***/ }),
@@ -4426,7 +4438,6 @@ exports.RequestModule = void 0;
4426
4438
  const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
4427
4439
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
4428
4440
  const events_1 = __webpack_require__(/*! ../events */ "./dist/events/index.js");
4429
- const MessageProcessedEvent_1 = __webpack_require__(/*! ../events/consumption/MessageProcessedEvent */ "./dist/events/consumption/MessageProcessedEvent.js");
4430
4441
  const RelationshipTemplateProcessedEvent_1 = __webpack_require__(/*! ../events/consumption/RelationshipTemplateProcessedEvent */ "./dist/events/consumption/RelationshipTemplateProcessedEvent.js");
4431
4442
  const RuntimeModule_1 = __webpack_require__(/*! ../extensibility/modules/RuntimeModule */ "./dist/extensibility/modules/RuntimeModule.js");
4432
4443
  const types_1 = __webpack_require__(/*! ../types */ "./dist/types/index.js");
@@ -4497,7 +4508,7 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
4497
4508
  break;
4498
4509
  }
4499
4510
  if (messageContentType !== "Request") {
4500
- this.runtime.eventBus.publish(new MessageProcessedEvent_1.MessageProcessedEvent(event.eventTargetAddress, message, MessageProcessedEvent_1.MessageProcessedResult.NoRequest));
4511
+ this.runtime.eventBus.publish(new events_1.MessageProcessedEvent(event.eventTargetAddress, message, events_1.MessageProcessedResult.NoRequest));
4501
4512
  }
4502
4513
  }
4503
4514
  async handleMessageSentEvent(event) {
@@ -7487,7 +7498,7 @@ exports.CreateOutgoingRequestRequest = {
7487
7498
  "mustBeAccepted"
7488
7499
  ],
7489
7500
  "additionalProperties": false,
7490
- "description": "A RequestItemGroup can be used to group one or more RequestItems. This is useful if you want to\n* make sure that the items in the group can only be accepted together\n\n Example: when sending a `CreateAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single Request where the latter one targets an attribute created by the first one, it it should be impossible to reject the first item, while accepting the second one.\n* visually group items on the UI and give the a common title/description"
7501
+ "description": "A RequestItemGroup can be used to group one or more RequestItems. This is useful if you want to\n* make sure that the items in the group can only be accepted together\n\n Example: when sending a `CreateRelationshipAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single Request where the latter one targets an attribute created by the first one, it it should be impossible to reject the first item, while accepting the second one.\n* visually group items on the UI and give the a common title/description"
7491
7502
  },
7492
7503
  "RequestItemJSONDerivations": {
7493
7504
  "anyOf": [
@@ -7495,7 +7506,10 @@ exports.CreateOutgoingRequestRequest = {
7495
7506
  "$ref": "#/definitions/RequestItemJSON"
7496
7507
  },
7497
7508
  {
7498
- "$ref": "#/definitions/CreateAttributeRequestItemJSON"
7509
+ "$ref": "#/definitions/CreateRelationshipAttributeRequestItemJSON"
7510
+ },
7511
+ {
7512
+ "$ref": "#/definitions/ShareAttributeRequestItemJSON"
7499
7513
  },
7500
7514
  {
7501
7515
  "$ref": "#/definitions/ProposeAttributeRequestItemJSON"
@@ -7504,10 +7518,10 @@ exports.CreateOutgoingRequestRequest = {
7504
7518
  "$ref": "#/definitions/ReadAttributeRequestItemJSON"
7505
7519
  },
7506
7520
  {
7507
- "$ref": "#/definitions/ShareAttributeRequestItemJSON"
7521
+ "$ref": "#/definitions/ConsentRequestItemJSON"
7508
7522
  },
7509
7523
  {
7510
- "$ref": "#/definitions/ConsentRequestItemJSON"
7524
+ "$ref": "#/definitions/AuthenticationRequestItemJSON"
7511
7525
  }
7512
7526
  ]
7513
7527
  },
@@ -7538,6 +7552,10 @@ exports.CreateOutgoingRequestRequest = {
7538
7552
  "mustBeAccepted": {
7539
7553
  "type": "boolean",
7540
7554
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
7555
+ },
7556
+ "requireManualDecision": {
7557
+ "type": "boolean",
7558
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
7541
7559
  }
7542
7560
  },
7543
7561
  "required": [
@@ -7546,7 +7564,7 @@ exports.CreateOutgoingRequestRequest = {
7546
7564
  ],
7547
7565
  "additionalProperties": false
7548
7566
  },
7549
- "CreateAttributeRequestItemJSON": {
7567
+ "CreateRelationshipAttributeRequestItemJSON": {
7550
7568
  "type": "object",
7551
7569
  "properties": {
7552
7570
  "@type": {
@@ -7574,18 +7592,12 @@ exports.CreateOutgoingRequestRequest = {
7574
7592
  "type": "boolean",
7575
7593
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
7576
7594
  },
7577
- "attribute": {
7578
- "anyOf": [
7579
- {
7580
- "$ref": "#/definitions/IdentityAttributeJSON"
7581
- },
7582
- {
7583
- "$ref": "#/definitions/RelationshipAttributeJSON"
7584
- }
7585
- ]
7595
+ "requireManualDecision": {
7596
+ "type": "boolean",
7597
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
7586
7598
  },
7587
- "sourceAttributeId": {
7588
- "type": "string"
7599
+ "attribute": {
7600
+ "$ref": "#/definitions/RelationshipAttributeJSON"
7589
7601
  }
7590
7602
  },
7591
7603
  "required": [
@@ -7595,7 +7607,7 @@ exports.CreateOutgoingRequestRequest = {
7595
7607
  ],
7596
7608
  "additionalProperties": false
7597
7609
  },
7598
- "IdentityAttributeJSON": {
7610
+ "RelationshipAttributeJSON": {
7599
7611
  "type": "object",
7600
7612
  "properties": {
7601
7613
  "@type": {
@@ -7619,15 +7631,20 @@ exports.CreateOutgoingRequestRequest = {
7619
7631
  "value": {
7620
7632
  "$ref": "#/definitions/AbstractAttributeValueJSON"
7621
7633
  },
7622
- "tags": {
7623
- "type": "array",
7624
- "items": {
7625
- "type": "string"
7626
- }
7634
+ "key": {
7635
+ "type": "string"
7636
+ },
7637
+ "isTechnical": {
7638
+ "type": "boolean"
7639
+ },
7640
+ "confidentiality": {
7641
+ "$ref": "#/definitions/RelationshipAttributeConfidentiality"
7627
7642
  }
7628
7643
  },
7629
7644
  "required": [
7630
7645
  "@type",
7646
+ "confidentiality",
7647
+ "key",
7631
7648
  "owner",
7632
7649
  "value"
7633
7650
  ],
@@ -7650,7 +7667,69 @@ exports.CreateOutgoingRequestRequest = {
7650
7667
  "@type"
7651
7668
  ]
7652
7669
  },
7653
- "RelationshipAttributeJSON": {
7670
+ "RelationshipAttributeConfidentiality": {
7671
+ "type": "string",
7672
+ "enum": [
7673
+ "public",
7674
+ "private",
7675
+ "protected"
7676
+ ]
7677
+ },
7678
+ "ShareAttributeRequestItemJSON": {
7679
+ "type": "object",
7680
+ "properties": {
7681
+ "@type": {
7682
+ "type": "string"
7683
+ },
7684
+ "@context": {
7685
+ "type": "string"
7686
+ },
7687
+ "@version": {
7688
+ "type": "string"
7689
+ },
7690
+ "title": {
7691
+ "type": "string",
7692
+ "description": "The human-readable title of this item."
7693
+ },
7694
+ "description": {
7695
+ "type": "string",
7696
+ "description": "The human-readable description of this item."
7697
+ },
7698
+ "metadata": {
7699
+ "type": "object",
7700
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
7701
+ },
7702
+ "mustBeAccepted": {
7703
+ "type": "boolean",
7704
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
7705
+ },
7706
+ "requireManualDecision": {
7707
+ "type": "boolean",
7708
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
7709
+ },
7710
+ "attribute": {
7711
+ "anyOf": [
7712
+ {
7713
+ "$ref": "#/definitions/IdentityAttributeJSON"
7714
+ },
7715
+ {
7716
+ "$ref": "#/definitions/RelationshipAttributeJSON"
7717
+ }
7718
+ ]
7719
+ },
7720
+ "sourceAttributeId": {
7721
+ "type": "string"
7722
+ }
7723
+ },
7724
+ "required": [
7725
+ "@type",
7726
+ "attribute",
7727
+ "mustBeAccepted",
7728
+ "sourceAttributeId"
7729
+ ],
7730
+ "additionalProperties": false
7731
+ },
7732
+ "IdentityAttributeJSON": {
7654
7733
  "type": "object",
7655
7734
  "properties": {
7656
7735
  "@type": {
@@ -7674,33 +7753,20 @@ exports.CreateOutgoingRequestRequest = {
7674
7753
  "value": {
7675
7754
  "$ref": "#/definitions/AbstractAttributeValueJSON"
7676
7755
  },
7677
- "key": {
7678
- "type": "string"
7679
- },
7680
- "isTechnical": {
7681
- "type": "boolean"
7682
- },
7683
- "confidentiality": {
7684
- "$ref": "#/definitions/RelationshipAttributeConfidentiality"
7756
+ "tags": {
7757
+ "type": "array",
7758
+ "items": {
7759
+ "type": "string"
7760
+ }
7685
7761
  }
7686
7762
  },
7687
7763
  "required": [
7688
7764
  "@type",
7689
- "confidentiality",
7690
- "key",
7691
7765
  "owner",
7692
7766
  "value"
7693
7767
  ],
7694
7768
  "additionalProperties": false
7695
7769
  },
7696
- "RelationshipAttributeConfidentiality": {
7697
- "type": "string",
7698
- "enum": [
7699
- "public",
7700
- "private",
7701
- "protected"
7702
- ]
7703
- },
7704
7770
  "ProposeAttributeRequestItemJSON": {
7705
7771
  "type": "object",
7706
7772
  "properties": {
@@ -7729,6 +7795,10 @@ exports.CreateOutgoingRequestRequest = {
7729
7795
  "type": "boolean",
7730
7796
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
7731
7797
  },
7798
+ "requireManualDecision": {
7799
+ "type": "boolean",
7800
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
7801
+ },
7732
7802
  "query": {
7733
7803
  "anyOf": [
7734
7804
  {
@@ -7957,6 +8027,10 @@ exports.CreateOutgoingRequestRequest = {
7957
8027
  "type": "boolean",
7958
8028
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
7959
8029
  },
8030
+ "requireManualDecision": {
8031
+ "type": "boolean",
8032
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8033
+ },
7960
8034
  "query": {
7961
8035
  "$ref": "#/definitions/AbstractAttributeQueryJSON"
7962
8036
  }
@@ -7996,7 +8070,7 @@ exports.CreateOutgoingRequestRequest = {
7996
8070
  ],
7997
8071
  "additionalProperties": false
7998
8072
  },
7999
- "ShareAttributeRequestItemJSON": {
8073
+ "ConsentRequestItemJSON": {
8000
8074
  "type": "object",
8001
8075
  "properties": {
8002
8076
  "@type": {
@@ -8024,23 +8098,27 @@ exports.CreateOutgoingRequestRequest = {
8024
8098
  "type": "boolean",
8025
8099
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
8026
8100
  },
8027
- "attributeId": {
8101
+ "requireManualDecision": {
8102
+ "type": "boolean",
8103
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8104
+ },
8105
+ "consent": {
8028
8106
  "type": "string"
8029
8107
  },
8030
- "shareWith": {
8108
+ "link": {
8031
8109
  "type": "string"
8032
8110
  }
8033
8111
  },
8034
8112
  "required": [
8035
8113
  "@type",
8036
- "attributeId",
8037
- "mustBeAccepted",
8038
- "shareWith"
8114
+ "consent",
8115
+ "mustBeAccepted"
8039
8116
  ],
8040
8117
  "additionalProperties": false
8041
8118
  },
8042
- "ConsentRequestItemJSON": {
8119
+ "AuthenticationRequestItemJSON": {
8043
8120
  "type": "object",
8121
+ "additionalProperties": false,
8044
8122
  "properties": {
8045
8123
  "@type": {
8046
8124
  "type": "string"
@@ -8067,22 +8145,15 @@ exports.CreateOutgoingRequestRequest = {
8067
8145
  "type": "boolean",
8068
8146
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
8069
8147
  },
8070
- "consent": {
8071
- "type": "string"
8072
- },
8073
- "link": {
8074
- "type": "string"
8075
- },
8076
- "requireActiveConsent": {
8077
- "type": "boolean"
8148
+ "requireManualDecision": {
8149
+ "type": "boolean",
8150
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8078
8151
  }
8079
8152
  },
8080
8153
  "required": [
8081
8154
  "@type",
8082
- "consent",
8083
8155
  "mustBeAccepted"
8084
- ],
8085
- "additionalProperties": false
8156
+ ]
8086
8157
  },
8087
8158
  "IRequestItemGroup": {
8088
8159
  "type": "object",
@@ -8116,7 +8187,7 @@ exports.CreateOutgoingRequestRequest = {
8116
8187
  "items"
8117
8188
  ],
8118
8189
  "additionalProperties": false,
8119
- "description": "A RequestItemGroup can be used to group one or more RequestItems. This is useful if you want to\n* make sure that the items in the group can only be accepted together\n\n Example: when sending a `CreateAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single Request where the latter one targets an attribute created by the first one, it it should be impossible to reject the first item, while accepting the second one.\n* visually group items on the UI and give the a common title/description"
8190
+ "description": "A RequestItemGroup can be used to group one or more RequestItems. This is useful if you want to\n* make sure that the items in the group can only be accepted together\n\n Example: when sending a `CreateRelationshipAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single Request where the latter one targets an attribute created by the first one, it it should be impossible to reject the first item, while accepting the second one.\n* visually group items on the UI and give the a common title/description"
8120
8191
  },
8121
8192
  "IRequestItemDerivations": {
8122
8193
  "anyOf": [
@@ -8124,7 +8195,10 @@ exports.CreateOutgoingRequestRequest = {
8124
8195
  "$ref": "#/definitions/IRequestItem"
8125
8196
  },
8126
8197
  {
8127
- "$ref": "#/definitions/ICreateAttributeRequestItem"
8198
+ "$ref": "#/definitions/ICreateRelationshipAttributeRequestItem"
8199
+ },
8200
+ {
8201
+ "$ref": "#/definitions/IShareAttributeRequestItem"
8128
8202
  },
8129
8203
  {
8130
8204
  "$ref": "#/definitions/IProposeAttributeRequestItem"
@@ -8133,10 +8207,10 @@ exports.CreateOutgoingRequestRequest = {
8133
8207
  "$ref": "#/definitions/IReadAttributeRequestItem"
8134
8208
  },
8135
8209
  {
8136
- "$ref": "#/definitions/IShareAttributeRequestItem"
8210
+ "$ref": "#/definitions/IConsentRequestItem"
8137
8211
  },
8138
8212
  {
8139
- "$ref": "#/definitions/IConsentRequestItem"
8213
+ "$ref": "#/definitions/IAuthenticationRequestItem"
8140
8214
  }
8141
8215
  ]
8142
8216
  },
@@ -8158,6 +8232,10 @@ exports.CreateOutgoingRequestRequest = {
8158
8232
  "mustBeAccepted": {
8159
8233
  "type": "boolean",
8160
8234
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
8235
+ },
8236
+ "requireManualDecision": {
8237
+ "type": "boolean",
8238
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8161
8239
  }
8162
8240
  },
8163
8241
  "required": [
@@ -8165,7 +8243,7 @@ exports.CreateOutgoingRequestRequest = {
8165
8243
  ],
8166
8244
  "additionalProperties": false
8167
8245
  },
8168
- "ICreateAttributeRequestItem": {
8246
+ "ICreateRelationshipAttributeRequestItem": {
8169
8247
  "type": "object",
8170
8248
  "properties": {
8171
8249
  "title": {
@@ -8184,18 +8262,12 @@ exports.CreateOutgoingRequestRequest = {
8184
8262
  "type": "boolean",
8185
8263
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
8186
8264
  },
8187
- "attribute": {
8188
- "anyOf": [
8189
- {
8190
- "$ref": "#/definitions/IIdentityAttribute"
8191
- },
8192
- {
8193
- "$ref": "#/definitions/IRelationshipAttribute"
8194
- }
8195
- ]
8265
+ "requireManualDecision": {
8266
+ "type": "boolean",
8267
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8196
8268
  },
8197
- "sourceAttributeId": {
8198
- "$ref": "#/definitions/ICoreId"
8269
+ "attribute": {
8270
+ "$ref": "#/definitions/IRelationshipAttribute"
8199
8271
  }
8200
8272
  },
8201
8273
  "required": [
@@ -8204,7 +8276,7 @@ exports.CreateOutgoingRequestRequest = {
8204
8276
  ],
8205
8277
  "additionalProperties": false
8206
8278
  },
8207
- "IIdentityAttribute": {
8279
+ "IRelationshipAttribute": {
8208
8280
  "type": "object",
8209
8281
  "properties": {
8210
8282
  "owner": {
@@ -8219,14 +8291,19 @@ exports.CreateOutgoingRequestRequest = {
8219
8291
  "value": {
8220
8292
  "$ref": "#/definitions/IAbstractAttributeValue"
8221
8293
  },
8222
- "tags": {
8223
- "type": "array",
8224
- "items": {
8225
- "type": "string"
8226
- }
8294
+ "key": {
8295
+ "type": "string"
8296
+ },
8297
+ "isTechnical": {
8298
+ "type": "boolean"
8299
+ },
8300
+ "confidentiality": {
8301
+ "$ref": "#/definitions/RelationshipAttributeConfidentiality"
8227
8302
  }
8228
8303
  },
8229
8304
  "required": [
8305
+ "confidentiality",
8306
+ "key",
8230
8307
  "owner",
8231
8308
  "value"
8232
8309
  ],
@@ -8249,7 +8326,51 @@ exports.CreateOutgoingRequestRequest = {
8249
8326
  "additionalProperties": false,
8250
8327
  "properties": {}
8251
8328
  },
8252
- "IRelationshipAttribute": {
8329
+ "IShareAttributeRequestItem": {
8330
+ "type": "object",
8331
+ "properties": {
8332
+ "title": {
8333
+ "type": "string",
8334
+ "description": "The human-readable title of this item."
8335
+ },
8336
+ "description": {
8337
+ "type": "string",
8338
+ "description": "The human-readable description of this item."
8339
+ },
8340
+ "metadata": {
8341
+ "type": "object",
8342
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
8343
+ },
8344
+ "mustBeAccepted": {
8345
+ "type": "boolean",
8346
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
8347
+ },
8348
+ "requireManualDecision": {
8349
+ "type": "boolean",
8350
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8351
+ },
8352
+ "attribute": {
8353
+ "anyOf": [
8354
+ {
8355
+ "$ref": "#/definitions/IIdentityAttribute"
8356
+ },
8357
+ {
8358
+ "$ref": "#/definitions/IRelationshipAttribute"
8359
+ }
8360
+ ]
8361
+ },
8362
+ "sourceAttributeId": {
8363
+ "$ref": "#/definitions/ICoreId"
8364
+ }
8365
+ },
8366
+ "required": [
8367
+ "attribute",
8368
+ "mustBeAccepted",
8369
+ "sourceAttributeId"
8370
+ ],
8371
+ "additionalProperties": false
8372
+ },
8373
+ "IIdentityAttribute": {
8253
8374
  "type": "object",
8254
8375
  "properties": {
8255
8376
  "owner": {
@@ -8264,19 +8385,14 @@ exports.CreateOutgoingRequestRequest = {
8264
8385
  "value": {
8265
8386
  "$ref": "#/definitions/IAbstractAttributeValue"
8266
8387
  },
8267
- "key": {
8268
- "type": "string"
8269
- },
8270
- "isTechnical": {
8271
- "type": "boolean"
8272
- },
8273
- "confidentiality": {
8274
- "$ref": "#/definitions/RelationshipAttributeConfidentiality"
8388
+ "tags": {
8389
+ "type": "array",
8390
+ "items": {
8391
+ "type": "string"
8392
+ }
8275
8393
  }
8276
8394
  },
8277
8395
  "required": [
8278
- "confidentiality",
8279
- "key",
8280
8396
  "owner",
8281
8397
  "value"
8282
8398
  ],
@@ -8313,6 +8429,10 @@ exports.CreateOutgoingRequestRequest = {
8313
8429
  "type": "boolean",
8314
8430
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
8315
8431
  },
8432
+ "requireManualDecision": {
8433
+ "type": "boolean",
8434
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8435
+ },
8316
8436
  "query": {
8317
8437
  "anyOf": [
8318
8438
  {
@@ -8499,6 +8619,10 @@ exports.CreateOutgoingRequestRequest = {
8499
8619
  "type": "boolean",
8500
8620
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
8501
8621
  },
8622
+ "requireManualDecision": {
8623
+ "type": "boolean",
8624
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8625
+ },
8502
8626
  "query": {
8503
8627
  "$ref": "#/definitions/IAbstractAttributeQuery"
8504
8628
  }
@@ -8527,7 +8651,7 @@ exports.CreateOutgoingRequestRequest = {
8527
8651
  ],
8528
8652
  "additionalProperties": false
8529
8653
  },
8530
- "IShareAttributeRequestItem": {
8654
+ "IConsentRequestItem": {
8531
8655
  "type": "object",
8532
8656
  "properties": {
8533
8657
  "title": {
@@ -8546,22 +8670,26 @@ exports.CreateOutgoingRequestRequest = {
8546
8670
  "type": "boolean",
8547
8671
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
8548
8672
  },
8549
- "attributeId": {
8550
- "$ref": "#/definitions/ICoreId"
8673
+ "requireManualDecision": {
8674
+ "type": "boolean",
8675
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8551
8676
  },
8552
- "shareWith": {
8553
- "$ref": "#/definitions/ICoreAddress"
8677
+ "consent": {
8678
+ "type": "string"
8679
+ },
8680
+ "link": {
8681
+ "type": "string"
8554
8682
  }
8555
8683
  },
8556
8684
  "required": [
8557
- "attributeId",
8558
- "mustBeAccepted",
8559
- "shareWith"
8685
+ "consent",
8686
+ "mustBeAccepted"
8560
8687
  ],
8561
8688
  "additionalProperties": false
8562
8689
  },
8563
- "IConsentRequestItem": {
8690
+ "IAuthenticationRequestItem": {
8564
8691
  "type": "object",
8692
+ "additionalProperties": false,
8565
8693
  "properties": {
8566
8694
  "title": {
8567
8695
  "type": "string",
@@ -8579,21 +8707,14 @@ exports.CreateOutgoingRequestRequest = {
8579
8707
  "type": "boolean",
8580
8708
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
8581
8709
  },
8582
- "consent": {
8583
- "type": "string"
8584
- },
8585
- "link": {
8586
- "type": "string"
8587
- },
8588
- "requireActiveConsent": {
8589
- "type": "boolean"
8710
+ "requireManualDecision": {
8711
+ "type": "boolean",
8712
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8590
8713
  }
8591
8714
  },
8592
8715
  "required": [
8593
- "consent",
8594
8716
  "mustBeAccepted"
8595
- ],
8596
- "additionalProperties": false
8717
+ ]
8597
8718
  },
8598
8719
  "AddressString": {
8599
8720
  "type": "string",
@@ -8863,7 +8984,10 @@ exports.CompleteOutgoingRequestRequest = {
8863
8984
  "$ref": "#/definitions/AcceptResponseItemJSON"
8864
8985
  },
8865
8986
  {
8866
- "$ref": "#/definitions/CreateAttributeAcceptResponseItemJSON"
8987
+ "$ref": "#/definitions/CreateRelationshipAttributeAcceptResponseItemJSON"
8988
+ },
8989
+ {
8990
+ "$ref": "#/definitions/ShareAttributeAcceptResponseItemJSON"
8867
8991
  },
8868
8992
  {
8869
8993
  "$ref": "#/definitions/ProposeAttributeAcceptResponseItemJSON"
@@ -8896,7 +9020,34 @@ exports.CompleteOutgoingRequestRequest = {
8896
9020
  ],
8897
9021
  "additionalProperties": false
8898
9022
  },
8899
- "CreateAttributeAcceptResponseItemJSON": {
9023
+ "CreateRelationshipAttributeAcceptResponseItemJSON": {
9024
+ "type": "object",
9025
+ "properties": {
9026
+ "@type": {
9027
+ "type": "string"
9028
+ },
9029
+ "@context": {
9030
+ "type": "string"
9031
+ },
9032
+ "@version": {
9033
+ "type": "string"
9034
+ },
9035
+ "result": {
9036
+ "type": "string",
9037
+ "const": "Accepted"
9038
+ },
9039
+ "attributeId": {
9040
+ "type": "string"
9041
+ }
9042
+ },
9043
+ "required": [
9044
+ "@type",
9045
+ "attributeId",
9046
+ "result"
9047
+ ],
9048
+ "additionalProperties": false
9049
+ },
9050
+ "ShareAttributeAcceptResponseItemJSON": {
8900
9051
  "type": "object",
8901
9052
  "properties": {
8902
9053
  "@type": {
@@ -9779,7 +9930,7 @@ exports.ReceivedIncomingRequestRequest = {
9779
9930
  "mustBeAccepted"
9780
9931
  ],
9781
9932
  "additionalProperties": false,
9782
- "description": "A RequestItemGroup can be used to group one or more RequestItems. This is useful if you want to\n* make sure that the items in the group can only be accepted together\n\n Example: when sending a `CreateAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single Request where the latter one targets an attribute created by the first one, it it should be impossible to reject the first item, while accepting the second one.\n* visually group items on the UI and give the a common title/description"
9933
+ "description": "A RequestItemGroup can be used to group one or more RequestItems. This is useful if you want to\n* make sure that the items in the group can only be accepted together\n\n Example: when sending a `CreateRelationshipAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single Request where the latter one targets an attribute created by the first one, it it should be impossible to reject the first item, while accepting the second one.\n* visually group items on the UI and give the a common title/description"
9783
9934
  },
9784
9935
  "RequestItemJSONDerivations": {
9785
9936
  "anyOf": [
@@ -9787,7 +9938,10 @@ exports.ReceivedIncomingRequestRequest = {
9787
9938
  "$ref": "#/definitions/RequestItemJSON"
9788
9939
  },
9789
9940
  {
9790
- "$ref": "#/definitions/CreateAttributeRequestItemJSON"
9941
+ "$ref": "#/definitions/CreateRelationshipAttributeRequestItemJSON"
9942
+ },
9943
+ {
9944
+ "$ref": "#/definitions/ShareAttributeRequestItemJSON"
9791
9945
  },
9792
9946
  {
9793
9947
  "$ref": "#/definitions/ProposeAttributeRequestItemJSON"
@@ -9796,10 +9950,10 @@ exports.ReceivedIncomingRequestRequest = {
9796
9950
  "$ref": "#/definitions/ReadAttributeRequestItemJSON"
9797
9951
  },
9798
9952
  {
9799
- "$ref": "#/definitions/ShareAttributeRequestItemJSON"
9953
+ "$ref": "#/definitions/ConsentRequestItemJSON"
9800
9954
  },
9801
9955
  {
9802
- "$ref": "#/definitions/ConsentRequestItemJSON"
9956
+ "$ref": "#/definitions/AuthenticationRequestItemJSON"
9803
9957
  }
9804
9958
  ]
9805
9959
  },
@@ -9830,6 +9984,10 @@ exports.ReceivedIncomingRequestRequest = {
9830
9984
  "mustBeAccepted": {
9831
9985
  "type": "boolean",
9832
9986
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
9987
+ },
9988
+ "requireManualDecision": {
9989
+ "type": "boolean",
9990
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
9833
9991
  }
9834
9992
  },
9835
9993
  "required": [
@@ -9838,7 +9996,7 @@ exports.ReceivedIncomingRequestRequest = {
9838
9996
  ],
9839
9997
  "additionalProperties": false
9840
9998
  },
9841
- "CreateAttributeRequestItemJSON": {
9999
+ "CreateRelationshipAttributeRequestItemJSON": {
9842
10000
  "type": "object",
9843
10001
  "properties": {
9844
10002
  "@type": {
@@ -9866,18 +10024,12 @@ exports.ReceivedIncomingRequestRequest = {
9866
10024
  "type": "boolean",
9867
10025
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
9868
10026
  },
9869
- "attribute": {
9870
- "anyOf": [
9871
- {
9872
- "$ref": "#/definitions/IdentityAttributeJSON"
9873
- },
9874
- {
9875
- "$ref": "#/definitions/RelationshipAttributeJSON"
9876
- }
9877
- ]
10027
+ "requireManualDecision": {
10028
+ "type": "boolean",
10029
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
9878
10030
  },
9879
- "sourceAttributeId": {
9880
- "type": "string"
10031
+ "attribute": {
10032
+ "$ref": "#/definitions/RelationshipAttributeJSON"
9881
10033
  }
9882
10034
  },
9883
10035
  "required": [
@@ -9887,7 +10039,7 @@ exports.ReceivedIncomingRequestRequest = {
9887
10039
  ],
9888
10040
  "additionalProperties": false
9889
10041
  },
9890
- "IdentityAttributeJSON": {
10042
+ "RelationshipAttributeJSON": {
9891
10043
  "type": "object",
9892
10044
  "properties": {
9893
10045
  "@type": {
@@ -9911,15 +10063,20 @@ exports.ReceivedIncomingRequestRequest = {
9911
10063
  "value": {
9912
10064
  "$ref": "#/definitions/AbstractAttributeValueJSON"
9913
10065
  },
9914
- "tags": {
9915
- "type": "array",
9916
- "items": {
9917
- "type": "string"
9918
- }
10066
+ "key": {
10067
+ "type": "string"
10068
+ },
10069
+ "isTechnical": {
10070
+ "type": "boolean"
10071
+ },
10072
+ "confidentiality": {
10073
+ "$ref": "#/definitions/RelationshipAttributeConfidentiality"
9919
10074
  }
9920
10075
  },
9921
10076
  "required": [
9922
10077
  "@type",
10078
+ "confidentiality",
10079
+ "key",
9923
10080
  "owner",
9924
10081
  "value"
9925
10082
  ],
@@ -9942,7 +10099,69 @@ exports.ReceivedIncomingRequestRequest = {
9942
10099
  "@type"
9943
10100
  ]
9944
10101
  },
9945
- "RelationshipAttributeJSON": {
10102
+ "RelationshipAttributeConfidentiality": {
10103
+ "type": "string",
10104
+ "enum": [
10105
+ "public",
10106
+ "private",
10107
+ "protected"
10108
+ ]
10109
+ },
10110
+ "ShareAttributeRequestItemJSON": {
10111
+ "type": "object",
10112
+ "properties": {
10113
+ "@type": {
10114
+ "type": "string"
10115
+ },
10116
+ "@context": {
10117
+ "type": "string"
10118
+ },
10119
+ "@version": {
10120
+ "type": "string"
10121
+ },
10122
+ "title": {
10123
+ "type": "string",
10124
+ "description": "The human-readable title of this item."
10125
+ },
10126
+ "description": {
10127
+ "type": "string",
10128
+ "description": "The human-readable description of this item."
10129
+ },
10130
+ "metadata": {
10131
+ "type": "object",
10132
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
10133
+ },
10134
+ "mustBeAccepted": {
10135
+ "type": "boolean",
10136
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
10137
+ },
10138
+ "requireManualDecision": {
10139
+ "type": "boolean",
10140
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
10141
+ },
10142
+ "attribute": {
10143
+ "anyOf": [
10144
+ {
10145
+ "$ref": "#/definitions/IdentityAttributeJSON"
10146
+ },
10147
+ {
10148
+ "$ref": "#/definitions/RelationshipAttributeJSON"
10149
+ }
10150
+ ]
10151
+ },
10152
+ "sourceAttributeId": {
10153
+ "type": "string"
10154
+ }
10155
+ },
10156
+ "required": [
10157
+ "@type",
10158
+ "attribute",
10159
+ "mustBeAccepted",
10160
+ "sourceAttributeId"
10161
+ ],
10162
+ "additionalProperties": false
10163
+ },
10164
+ "IdentityAttributeJSON": {
9946
10165
  "type": "object",
9947
10166
  "properties": {
9948
10167
  "@type": {
@@ -9966,33 +10185,20 @@ exports.ReceivedIncomingRequestRequest = {
9966
10185
  "value": {
9967
10186
  "$ref": "#/definitions/AbstractAttributeValueJSON"
9968
10187
  },
9969
- "key": {
9970
- "type": "string"
9971
- },
9972
- "isTechnical": {
9973
- "type": "boolean"
9974
- },
9975
- "confidentiality": {
9976
- "$ref": "#/definitions/RelationshipAttributeConfidentiality"
10188
+ "tags": {
10189
+ "type": "array",
10190
+ "items": {
10191
+ "type": "string"
10192
+ }
9977
10193
  }
9978
10194
  },
9979
10195
  "required": [
9980
10196
  "@type",
9981
- "confidentiality",
9982
- "key",
9983
10197
  "owner",
9984
10198
  "value"
9985
10199
  ],
9986
10200
  "additionalProperties": false
9987
10201
  },
9988
- "RelationshipAttributeConfidentiality": {
9989
- "type": "string",
9990
- "enum": [
9991
- "public",
9992
- "private",
9993
- "protected"
9994
- ]
9995
- },
9996
10202
  "ProposeAttributeRequestItemJSON": {
9997
10203
  "type": "object",
9998
10204
  "properties": {
@@ -10021,6 +10227,10 @@ exports.ReceivedIncomingRequestRequest = {
10021
10227
  "type": "boolean",
10022
10228
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
10023
10229
  },
10230
+ "requireManualDecision": {
10231
+ "type": "boolean",
10232
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
10233
+ },
10024
10234
  "query": {
10025
10235
  "anyOf": [
10026
10236
  {
@@ -10249,6 +10459,10 @@ exports.ReceivedIncomingRequestRequest = {
10249
10459
  "type": "boolean",
10250
10460
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
10251
10461
  },
10462
+ "requireManualDecision": {
10463
+ "type": "boolean",
10464
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
10465
+ },
10252
10466
  "query": {
10253
10467
  "$ref": "#/definitions/AbstractAttributeQueryJSON"
10254
10468
  }
@@ -10288,7 +10502,7 @@ exports.ReceivedIncomingRequestRequest = {
10288
10502
  ],
10289
10503
  "additionalProperties": false
10290
10504
  },
10291
- "ShareAttributeRequestItemJSON": {
10505
+ "ConsentRequestItemJSON": {
10292
10506
  "type": "object",
10293
10507
  "properties": {
10294
10508
  "@type": {
@@ -10316,23 +10530,27 @@ exports.ReceivedIncomingRequestRequest = {
10316
10530
  "type": "boolean",
10317
10531
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
10318
10532
  },
10319
- "attributeId": {
10533
+ "requireManualDecision": {
10534
+ "type": "boolean",
10535
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
10536
+ },
10537
+ "consent": {
10320
10538
  "type": "string"
10321
10539
  },
10322
- "shareWith": {
10540
+ "link": {
10323
10541
  "type": "string"
10324
10542
  }
10325
10543
  },
10326
10544
  "required": [
10327
10545
  "@type",
10328
- "attributeId",
10329
- "mustBeAccepted",
10330
- "shareWith"
10546
+ "consent",
10547
+ "mustBeAccepted"
10331
10548
  ],
10332
10549
  "additionalProperties": false
10333
10550
  },
10334
- "ConsentRequestItemJSON": {
10551
+ "AuthenticationRequestItemJSON": {
10335
10552
  "type": "object",
10553
+ "additionalProperties": false,
10336
10554
  "properties": {
10337
10555
  "@type": {
10338
10556
  "type": "string"
@@ -10359,22 +10577,15 @@ exports.ReceivedIncomingRequestRequest = {
10359
10577
  "type": "boolean",
10360
10578
  "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
10361
10579
  },
10362
- "consent": {
10363
- "type": "string"
10364
- },
10365
- "link": {
10366
- "type": "string"
10367
- },
10368
- "requireActiveConsent": {
10369
- "type": "boolean"
10580
+ "requireManualDecision": {
10581
+ "type": "boolean",
10582
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
10370
10583
  }
10371
10584
  },
10372
10585
  "required": [
10373
10586
  "@type",
10374
- "consent",
10375
10587
  "mustBeAccepted"
10376
- ],
10377
- "additionalProperties": false
10588
+ ]
10378
10589
  },
10379
10590
  "MessageIdString": {
10380
10591
  "type": "string",