Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
diff --git a/assets/js/33b26378.2dd68cf2.js b/assets/js/33b26378.2dd68cf2.js
new file mode 100644
index 00000000..5ab896c8
--- /dev/null
+++ b/assets/js/33b26378.2dd68cf2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[3769],{8481:(e,t,n)=>{n.d(t,{Ay:()=>c,RM:()=>r});var i=n(4848),o=n(8453);const r=[];function s(e){const t={admonition:"admonition",p:"p",...(0,o.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(s,{...e})}):s(e)}},6578:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>d,toc:()=>l});var i=n(4848),o=n(8453),r=n(8481);const s={sidebar_position:40,title:"Identify Key Path"},c=void 0,d={id:"mock-apps/common/identifier-key-path",title:"Identify Key Path",description:"Description",source:"@site/docs/mock-apps/common/identifier-key-path.md",sourceDirName:"mock-apps/common",slug:"/mock-apps/common/identifier-key-path",permalink:"/tests-untp/docs/mock-apps/common/identifier-key-path",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/common/identifier-key-path.md",tags:[],version:"current",sidebarPosition:40,frontMatter:{sidebar_position:40,title:"Identify Key Path"},sidebar:"tutorialSidebar",previous:{title:"Default Verification Service Link",permalink:"/tests-untp/docs/mock-apps/common/default-verification-service-link"},next:{title:"Scanning App",permalink:"/tests-untp/docs/mock-apps/scanning-app"}},a={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Example",id:"example",level:2},{value:"Definition for object",id:"definition-for-object",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"IdentifierKeyPath"})," is a property of services that interact with the data issued to get the identifier to be used for the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})," registration. It can be a JSON path of the identifier of the data issued or an object that contains the function ",(0,i.jsx)(t.code,{children:"concatService"})," and the ",(0,i.jsx)(t.code,{children:"args"})," to be used to get the identifier."]}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "identifierKeyPath": "/eventID"\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"or"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "identifierKeyPath": {\n "function": "concatService",\n "args": [\n { "type": "text", "value": "(01)" },\n { "type": "path", "value": "/productIdentifier/0/identifierValue" },\n { "type": "text", "value": "(10)" },\n { "type": "path", "value": "/batchIdentifier/0/identifierValue" },\n { "type": "text", "value": "(21)" },\n { "type": "path", "value": "/itemIdentifier/0/identifierValue" }\n ]\n }\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definition-for-object",children:"Definition for object"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"function"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"Yes"}),(0,i.jsx)(t.td,{children:"The concat function supported"}),(0,i.jsx)(t.td,{children:"String"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"args"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"Yes"}),(0,i.jsxs)(t.td,{children:["The array of object that can be ",(0,i.jsx)(t.code,{children:"text"})," or ",(0,i.jsx)(t.code,{children:"path"})]}),(0,i.jsx)(t.td,{children:"Array"})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var i=n(6540);const o={},r=i.createContext(o);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/577d7028.7964c97c.js b/assets/js/577d7028.51012c5f.js
similarity index 54%
rename from assets/js/577d7028.7964c97c.js
rename to assets/js/577d7028.51012c5f.js
index a98ef638..b5aedb75 100644
--- a/assets/js/577d7028.7964c97c.js
+++ b/assets/js/577d7028.51012c5f.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4129],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>r});var s=t(4848),i=t(8453);const r=[];function a(e){const n={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},4906:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var s=t(4848),i=t(8453),r=t(8481);const a={sidebar_position:25,title:"Process Transformation Event"},o=void 0,c={id:"mock-apps/services/process-transformation-event",title:"Process Transformation Event",description:"Description",source:"@site/docs/mock-apps/services/process-transformation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transformation-event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transformation-event.md",tags:[],version:"current",sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Process Transformation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"},next:{title:"Process Aggregation Event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"processTransformationEvent"})," service is responsible for processing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transformation Event (DTE)"}),", issuing ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credentials (VCs)"})," for both the Transformation Event and ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passports (DPPs)"}),", uploading them to the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE and DPPs with the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing Transaction events in local storage associated with the event. It handles the entire lifecycle of creating and managing transformation events and associated DPPs."]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransformationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processTransformationEvent(data, context)\nP->>P: Validate context\nP->>V: Issue EPCIS VC\nV--\x3e>P: Return EPCIS VC\nP->>S: Upload EPCIS VC\nS--\x3e>P: Return EPCIS VC URL\nP->>D: Register EPCIS link resolver\nD--\x3e>P: Return EPCIS resolver URL\nloop For each output item\nP->>V: Issue DPP VC\nV--\x3e>P: Return DPP VC\nP->>S: Upload DPP VC\nS--\x3e>P: Return DPP VC URL\nP->>D: Register DPP link resolver\nD--\x3e>P: Return DPP resolver URL\nend\nP--\x3e>C: Return EPCIS VC"}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransformationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisTransformationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["VerifiableCredential", "EPCISTransformationEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Product DPP",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "dppCredentials": [\n {\n "mappingFields": [\n {\n "sourcePath": "/vc/credentialSubject/outputItems/0/epc",\n "destinationPath": "/epc"\n }\n ]\n }\n ],\n "identifierKeyPath": "/outputItems/0/epc",\n "transformationEventCredential": {\n "mappingFields": [\n {\n "sourcePath": "/inputItems",\n "destinationPath": "/inputQuantityList"\n },\n {\n "sourcePath": "/outputItems",\n "destinationPath": "/outputQuantityList"\n }\n ],\n "generationFields": [\n {\n "path": "/eventTime",\n "handler": "generateCurrentDatetime"\n },\n {\n "path": "/eventID",\n "handler": "generateUUID"\n }\n ]\n }\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"vckit"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"epcisTransformationEvent"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the EPCIS Transformation Event"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dlr"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"storage"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for storage service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dpp"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Product Passport"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dppCredentials"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Mapping configuration for DPP credentials"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"}),"[]"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"identifierKeyPath"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"JSON path to the identifier in the credential subject"}),(0,s.jsx)(n.td,{children:"String"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"transformationEventCredential"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Mapping and generation configuration for the transformation event credential"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4129],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>s});var i=t(4848),r=t(8453);const s=[];function a(e){const n={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},4906:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var i=t(4848),r=t(8453),s=t(8481);const a={sidebar_position:25,title:"Process Transformation Event"},o=void 0,c={id:"mock-apps/services/process-transformation-event",title:"Process Transformation Event",description:"Description",source:"@site/docs/mock-apps/services/process-transformation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transformation-event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transformation-event.md",tags:[],version:"current",sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Process Transformation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"},next:{title:"Process Aggregation Event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event"}},d={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Ay,{}),"\n",(0,i.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"processTransformationEvent"})," service is responsible for processing a ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transformation Event (DTE)"}),", issuing ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credentials (VCs)"})," for both the Transformation Event and ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passports (DPPs)"}),", uploading them to the ",(0,i.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE and DPPs with the ",(0,i.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing Transaction events in local storage associated with the event. It handles the entire lifecycle of creating and managing transformation events and associated DPPs."]}),"\n",(0,i.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransformationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processTransformationEvent(data, context)\nP->>P: Validate context\nP->>V: Issue EPCIS VC\nV--\x3e>P: Return EPCIS VC\nP->>S: Upload EPCIS VC\nS--\x3e>P: Return EPCIS VC URL\nP->>D: Register EPCIS link resolver\nD--\x3e>P: Return EPCIS resolver URL\nloop For each output item\nP->>V: Issue DPP VC\nV--\x3e>P: Return DPP VC\nP->>S: Upload DPP VC\nS--\x3e>P: Return DPP VC URL\nP->>D: Register DPP link resolver\nD--\x3e>P: Return DPP resolver URL\nend\nP--\x3e>C: Return EPCIS VC"}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransformationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisTransformationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["VerifiableCredential", "EPCISTransformationEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Product DPP",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "dppCredentials": [\n {\n "mappingFields": [\n {\n "sourcePath": "/vc/credentialSubject/outputItems/0/epc",\n "destinationPath": "/epc"\n }\n ]\n }\n ],\n "identifierKeyPath": "/outputItems/0/epc",\n "transformationEventCredential": {\n "mappingFields": [\n {\n "sourcePath": "/inputItems",\n "destinationPath": "/inputQuantityList"\n },\n {\n "sourcePath": "/outputItems",\n "destinationPath": "/outputQuantityList"\n }\n ],\n "generationFields": [\n {\n "path": "/eventTime",\n "handler": "generateCurrentDatetime"\n },\n {\n "path": "/eventID",\n "handler": "generateUUID"\n }\n ]\n }\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Property"}),(0,i.jsx)(n.th,{children:"Required"}),(0,i.jsx)(n.th,{children:"Description"}),(0,i.jsx)(n.th,{children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"vckit"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"epcisTransformationEvent"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the EPCIS Transformation Event"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dlr"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"storage"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for storage service"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dpp"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the Digital Product Passport"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dppCredentials"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Mapping configuration for DPP credentials"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"}),"[]"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"identifierKeyPath"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"transformationEventCredential"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Mapping and generation configuration for the transformation event credential"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(6540);const r={},s=i.createContext(r);function a(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5b6552f6.cfa656a2.js b/assets/js/5b6552f6.68abf342.js
similarity index 89%
rename from assets/js/5b6552f6.cfa656a2.js
rename to assets/js/5b6552f6.68abf342.js
index 089b6bba..757a6fe6 100644
--- a/assets/js/5b6552f6.cfa656a2.js
+++ b/assets/js/5b6552f6.68abf342.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7120],{8481:(e,t,n)=>{n.d(t,{Ay:()=>a,RM:()=>s});var i=n(4848),r=n(8453);const s=[];function o(e){const t={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},1335:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(4848),r=n(8453),s=n(8481);const o={sidebar_position:26,title:"Process Aggregation Event"},a=void 0,c={id:"mock-apps/services/process-aggregation-event",title:"Process Aggregation Event",description:"Description",source:"@site/docs/mock-apps/services/process-aggregation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-aggregation-event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-aggregation-event.md",tags:[],version:"current",sidebarPosition:26,frontMatter:{sidebar_position:26,title:"Process Aggregation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"},next:{title:"Merge To Local Storage",permalink:"/tests-untp/docs/mock-apps/services/merge-to-local-storage"}},d={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processAggregationEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Aggregation Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an aggregation event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processAggregationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processAggregationEvent(aggregationEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processAggregationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisAggregationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["VerifiableCredential", "EPCISAggregationEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Aggregation Event
Parent: {{parentItem.epc}}
"\n }\n ],\n "dlrIdentificationKeyType": "sscc",\n "dlrLinkTitle": "Aggregation Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345"\n },\n "identifierKeyPath": "/parentItem/epc"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisAggregationEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Aggregation Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject"}),(0,i.jsx)(t.td,{children:"String"})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7120],{8481:(e,t,n)=>{n.d(t,{Ay:()=>a,RM:()=>s});var i=n(4848),r=n(8453);const s=[];function o(e){const t={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},1335:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(4848),r=n(8453),s=n(8481);const o={sidebar_position:26,title:"Process Aggregation Event"},a=void 0,c={id:"mock-apps/services/process-aggregation-event",title:"Process Aggregation Event",description:"Description",source:"@site/docs/mock-apps/services/process-aggregation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-aggregation-event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-aggregation-event.md",tags:[],version:"current",sidebarPosition:26,frontMatter:{sidebar_position:26,title:"Process Aggregation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"},next:{title:"Merge To Local Storage",permalink:"/tests-untp/docs/mock-apps/services/merge-to-local-storage"}},d={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processAggregationEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Aggregation Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an aggregation event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processAggregationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processAggregationEvent(aggregationEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processAggregationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisAggregationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["VerifiableCredential", "EPCISAggregationEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Aggregation Event
Parent: {{parentItem.epc}}
"\n }\n ],\n "dlrIdentificationKeyType": "sscc",\n "dlrLinkTitle": "Aggregation Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345"\n },\n "identifierKeyPath": "/parentItem/epc"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisAggregationEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Aggregation Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5ef14c48.47e29d4b.js b/assets/js/5ef14c48.47e29d4b.js
new file mode 100644
index 00000000..27ec1ee5
--- /dev/null
+++ b/assets/js/5ef14c48.47e29d4b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[793],{8481:(e,n,i)=>{i.d(n,{Ay:()=>c,RM:()=>a});var t=i(4848),s=i(8453);const a=[];function r(e){const n={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(r,{...e})}):r(e)}},4566:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var t=i(4848),s=i(8453),a=i(8481);const r={sidebar_position:40,title:"Scanning App"},c=void 0,o={id:"mock-apps/scanning-app",title:"Scanning App",description:"Description",source:"@site/docs/mock-apps/scanning-app.md",sourceDirName:"mock-apps",slug:"/mock-apps/scanning-app",permalink:"/tests-untp/docs/mock-apps/scanning-app",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/scanning-app.md",tags:[],version:"current",sidebarPosition:40,frontMatter:{sidebar_position:40,title:"Scanning App"},sidebar:"tutorialSidebar",previous:{title:"Identify Key Path",permalink:"/tests-untp/docs/mock-apps/common/identifier-key-path"},next:{title:"Verify App",permalink:"/tests-untp/docs/mock-apps/verify-app"}},p={},d=[...a.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Usage",id:"usage",level:2}];function l(e){const n={a:"a",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.Ay,{}),"\n",(0,t.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,t.jsx)(n.p,{children:"The Scanning App is a dedicated page within the Mock App system, designed to enable users to scan barcodes and verify/view associated credentials. This page incorporates several key functions to manage the scanning and verification process efficiently."}),"\n",(0,t.jsxs)(n.p,{children:["It begins by fetching the link to the associated passport from the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"})," based on the identifier extracted from the barcode. The app then redirects to the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/verify-app",children:"Verify App"}),", where it retrieves the credential from the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),". Subsequently, it sends the fetched Verifiable Credential to the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/verifiable-credential-service",children:"Verifiable Credential service"})," for verification. Finally, it displays the rendered Verified Credential to the user, completing the seamless process of credential verification and visualisation."]}),"\n",(0,t.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,t.jsx)(n.mermaid,{value:"sequenceDiagram\n participant U as User\n participant S as Scanning App\n participant V as Verifier\n participant IP as Identity Provider\n participant IDR as IDR Service\n participant SS as Storage Service\n participant VS as Verification Service\n\n U->>S: Scan Barcode\n S->>IP: Get IDR URL\n IP--\x3e>S: Return IDR URL\n S->>IDR: Fetch Passport from IDR\n IDR--\x3e>S: Return Passport\n S->>V: Redirect to Verify Page\n V->>SS: Fetch Verifiable Credential\n SS--\x3e>V: Return Verifiable Credential\n V->>VS: Verify Credential\n VS--\x3e>V: Return Verification Result\n V->>U: Display Verified Credential"}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["The some components of the Scanning App can be configured by modifying the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/configuration/",children:"configuration file"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/mock-apps/configuration/system-config",children:"Apps configurations"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/mock-apps/common/identify-provider",children:"Identity provider settings"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/mock-apps/common/default-verification-service-link",children:"Default verification service link"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.p,{children:"To use the Scanning App:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Navigate to the home page of the Mock App system."}),"\n",(0,t.jsx)(n.li,{children:"Select the Scanning option within the sidebar to open the barcode scanner."}),"\n",(0,t.jsx)(n.li,{children:"Scan a valid barcode containing an identifier associated with a product."}),"\n",(0,t.jsxs)(n.li,{children:["The app will process the scanned data and redirect to the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/verify-app",children:"Verify App"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["The ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/verify-app",children:"Verify App"})," will display the verified credential."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>c});var t=i(6540);const s={},a=t.createContext(s);function r(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5ef14c48.e9d40217.js b/assets/js/5ef14c48.e9d40217.js
deleted file mode 100644
index dc5ec23f..00000000
--- a/assets/js/5ef14c48.e9d40217.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[793],{8481:(e,n,i)=>{i.d(n,{Ay:()=>c,RM:()=>r});var t=i(4848),s=i(8453);const r=[];function a(e){const n={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4566:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var t=i(4848),s=i(8453),r=i(8481);const a={sidebar_position:40,title:"Scanning App"},c=void 0,o={id:"mock-apps/scanning-app",title:"Scanning App",description:"Description",source:"@site/docs/mock-apps/scanning-app.md",sourceDirName:"mock-apps",slug:"/mock-apps/scanning-app",permalink:"/tests-untp/docs/mock-apps/scanning-app",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/scanning-app.md",tags:[],version:"current",sidebarPosition:40,frontMatter:{sidebar_position:40,title:"Scanning App"},sidebar:"tutorialSidebar",previous:{title:"Default Verification Service Link",permalink:"/tests-untp/docs/mock-apps/common/default-verification-service-link"},next:{title:"Verify App",permalink:"/tests-untp/docs/mock-apps/verify-app"}},p={},d=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Usage",id:"usage",level:2}];function l(e){const n={a:"a",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Ay,{}),"\n",(0,t.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,t.jsx)(n.p,{children:"The Scanning App is a dedicated page within the Mock App system, designed to enable users to scan barcodes and verify/view associated credentials. This page incorporates several key functions to manage the scanning and verification process efficiently."}),"\n",(0,t.jsxs)(n.p,{children:["It begins by fetching the link to the associated passport from the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"})," based on the identifier extracted from the barcode. The app then redirects to the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/verify-app",children:"Verify App"}),", where it retrieves the credential from the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),". Subsequently, it sends the fetched Verifiable Credential to the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/verifiable-credential-service",children:"Verifiable Credential service"})," for verification. Finally, it displays the rendered Verified Credential to the user, completing the seamless process of credential verification and visualisation."]}),"\n",(0,t.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,t.jsx)(n.mermaid,{value:"sequenceDiagram\n participant U as User\n participant S as Scanning App\n participant V as Verifier\n participant IP as Identity Provider\n participant IDR as IDR Service\n participant SS as Storage Service\n participant VS as Verification Service\n\n U->>S: Scan Barcode\n S->>IP: Get IDR URL\n IP--\x3e>S: Return IDR URL\n S->>IDR: Fetch Passport from IDR\n IDR--\x3e>S: Return Passport\n S->>V: Redirect to Verify Page\n V->>SS: Fetch Verifiable Credential\n SS--\x3e>V: Return Verifiable Credential\n V->>VS: Verify Credential\n VS--\x3e>V: Return Verification Result\n V->>U: Display Verified Credential"}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["The some components of the Scanning App can be configured by modifying the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/configuration/",children:"configuration file"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/mock-apps/configuration/system-config",children:"Apps configurations"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/mock-apps/common/identify-provider",children:"Identity provider settings"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/mock-apps/common/default-verification-service-link",children:"Default verification service link"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.p,{children:"To use the Scanning App:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Navigate to the home page of the Mock App system."}),"\n",(0,t.jsx)(n.li,{children:"Select the Scanning option within the sidebar to open the barcode scanner."}),"\n",(0,t.jsx)(n.li,{children:"Scan a valid barcode containing an identifier associated with a product."}),"\n",(0,t.jsxs)(n.li,{children:["The app will process the scanned data and redirect to the ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/verify-app",children:"Verify App"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["The ",(0,t.jsx)(n.a,{href:"/docs/mock-apps/verify-app",children:"Verify App"})," will display the verified credential."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var t=i(6540);const s={},r=t.createContext(s);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/680d5359.bf95d172.js b/assets/js/680d5359.bcb8e972.js
similarity index 86%
rename from assets/js/680d5359.bf95d172.js
rename to assets/js/680d5359.bcb8e972.js
index 08b003c8..9e46b7ea 100644
--- a/assets/js/680d5359.bf95d172.js
+++ b/assets/js/680d5359.bcb8e972.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8735],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>r});var s=t(4848),i=t(8453);const r=[];function a(e){const n={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},857:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var s=t(4848),i=t(8453),r=t(8481);const a={sidebar_position:24,title:"Process Transaction Event"},o=void 0,c={id:"mock-apps/services/process-transaction-event",title:"Process Transaction Event",description:"Description",source:"@site/docs/mock-apps/services/process-transaction-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transaction-event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transaction-event.md",tags:[],version:"current",sidebarPosition:24,frontMatter:{sidebar_position:24,title:"Process Transaction Event"},sidebar:"tutorialSidebar",previous:{title:"Process DPP",permalink:"/tests-untp/docs/mock-apps/services/process-dpp"},next:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"processTransactionEvent"})," service is responsible for processing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transaction Event (DTE)"}),", issuing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing DPPs in local storage associated with the event. It handles the entire lifecycle of creating and managing a transaction event, from data input to storage, resolution, and local data management."]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransactionEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nparticipant L as LocalStorage\nC->>P: Call processTransactionEvent(transactionEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP->>L: Delete associated DPPs from local storage\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransactionEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisTransactionEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["VerifiableCredential", "EPCISTransactionEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Transaction Event
ID: {{transactionId}}
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Transaction Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345"\n },\n "identifierKeyPath": "/transactionId",\n "localStorageParams": {\n "storageKey": "transactionEvents",\n "keyPath": "/transactionId"\n }\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"vckit"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"epcisTransactionEvent"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the EPCIS Transaction Event"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"storage"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for storage service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dlr"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"identifierKeyPath"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"JSON path to the identifier in the credential subject"}),(0,s.jsx)(n.td,{children:"String"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"localStorageParams"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for local storage management"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/local-storage",children:"LocalStorage"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8735],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>r});var s=t(4848),i=t(8453);const r=[];function a(e){const n={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},857:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var s=t(4848),i=t(8453),r=t(8481);const a={sidebar_position:24,title:"Process Transaction Event"},o=void 0,c={id:"mock-apps/services/process-transaction-event",title:"Process Transaction Event",description:"Description",source:"@site/docs/mock-apps/services/process-transaction-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transaction-event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transaction-event.md",tags:[],version:"current",sidebarPosition:24,frontMatter:{sidebar_position:24,title:"Process Transaction Event"},sidebar:"tutorialSidebar",previous:{title:"Process DPP",permalink:"/tests-untp/docs/mock-apps/services/process-dpp"},next:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"processTransactionEvent"})," service is responsible for processing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transaction Event (DTE)"}),", issuing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing DPPs in local storage associated with the event. It handles the entire lifecycle of creating and managing a transaction event, from data input to storage, resolution, and local data management."]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransactionEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nparticipant L as LocalStorage\nC->>P: Call processTransactionEvent(transactionEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP->>L: Delete associated DPPs from local storage\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransactionEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisTransactionEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["VerifiableCredential", "EPCISTransactionEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Transaction Event
ID: {{transactionId}}
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Transaction Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345"\n },\n "identifierKeyPath": "/transactionId",\n "localStorageParams": {\n "storageKey": "transactionEvents",\n "keyPath": "/transactionId"\n }\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"vckit"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"epcisTransactionEvent"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the EPCIS Transaction Event"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"storage"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for storage service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dlr"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"identifierKeyPath"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"localStorageParams"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for local storage management"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/local-storage",children:"LocalStorage"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/826679d4.769ecae6.js b/assets/js/826679d4.769ecae6.js
new file mode 100644
index 00000000..64fa51f1
--- /dev/null
+++ b/assets/js/826679d4.769ecae6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[3873],{8481:(e,t,i)=>{i.d(t,{Ay:()=>o,RM:()=>r});var n=i(4848),s=i(8453);const r=[];function c(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},949:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>d,toc:()=>a});var n=i(4848),s=i(8453),r=i(8481);const c={sidebar_position:39,title:"Default Verification Service Link"},o=void 0,d={id:"mock-apps/common/default-verification-service-link",title:"Default Verification Service Link",description:"Description",source:"@site/docs/mock-apps/common/default-verification-service-link.md",sourceDirName:"mock-apps/common",slug:"/mock-apps/common/default-verification-service-link",permalink:"/tests-untp/docs/mock-apps/common/default-verification-service-link",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/common/default-verification-service-link.md",tags:[],version:"current",sidebarPosition:39,frontMatter:{sidebar_position:39,title:"Default Verification Service Link"},sidebar:"tutorialSidebar",previous:{title:"Verify Link",permalink:"/tests-untp/docs/mock-apps/common/verify-link"},next:{title:"Identify Key Path",permalink:"/tests-untp/docs/mock-apps/common/identifier-key-path"}},l={},a=[...r.RM,{value:"Description",id:"description",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Ay,{}),"\n",(0,n.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DefaultVerificationServiceLink"})," object defines the default link and parameters of the verification service used when verifying credentials within the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/verify-app",children:"verify page"})," of the Mock App system."]}),"\n",(0,n.jsx)(t.p,{children:"The typical flow is as follows:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["A user runs through the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/scanning-app",children:"scanning app"})," flow."]}),"\n",(0,n.jsxs)(t.li,{children:["The resulting credential is passed to the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/verify-app",children:"verify page"})," of the Mock App system."]}),"\n",(0,n.jsxs)(t.li,{children:["The ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/verify-app",children:"verify page"})," uses the verification service defined in the ",(0,n.jsx)(t.code,{children:"Default Verification Service Link"})," object to verify the credential."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"This object ensures that the Mock App system has a consistent and predefined method for credential verification."}),"\n",(0,n.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n "defaultVerificationServiceLink": {\n "title": "Default Verification Service",\n "context": "Default Verification Service",\n "type": "application/json",\n "href": "http://localhost:3332/agent/routeVerificationCredential",\n "hreflang": ["en"],\n "apiKey": "test123"\n }\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Property"}),(0,n.jsx)(t.th,{style:{textAlign:"center"},children:"Required"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"title"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:"The title of the verification service."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"context"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:"The context or description of the verification service."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"href"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"Yes"}),(0,n.jsx)(t.td,{children:"The URL of the verification service endpoint."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"hreflang"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:"An array of language codes that the service supports."}),(0,n.jsx)(t.td,{children:"String[]"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"apiKey"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"Yes"}),(0,n.jsx)(t.td,{children:"The API key required to access the verification service."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"type"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:'The MIME type of the expected response, e.g., "application/json".'}),(0,n.jsx)(t.td,{children:"String"})]})]})]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>o});var n=i(6540);const s={},r=n.createContext(s);function c(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/826679d4.8b6d7e77.js b/assets/js/826679d4.8b6d7e77.js
deleted file mode 100644
index fef33270..00000000
--- a/assets/js/826679d4.8b6d7e77.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[3873],{8481:(e,t,i)=>{i.d(t,{Ay:()=>o,RM:()=>r});var n=i(4848),s=i(8453);const r=[];function c(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},949:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>d,toc:()=>a});var n=i(4848),s=i(8453),r=i(8481);const c={sidebar_position:39,title:"Default Verification Service Link"},o=void 0,d={id:"mock-apps/common/default-verification-service-link",title:"Default Verification Service Link",description:"Description",source:"@site/docs/mock-apps/common/default-verification-service-link.md",sourceDirName:"mock-apps/common",slug:"/mock-apps/common/default-verification-service-link",permalink:"/tests-untp/docs/mock-apps/common/default-verification-service-link",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/common/default-verification-service-link.md",tags:[],version:"current",sidebarPosition:39,frontMatter:{sidebar_position:39,title:"Default Verification Service Link"},sidebar:"tutorialSidebar",previous:{title:"Verify Link",permalink:"/tests-untp/docs/mock-apps/common/verify-link"},next:{title:"Scanning App",permalink:"/tests-untp/docs/mock-apps/scanning-app"}},l={},a=[...r.RM,{value:"Description",id:"description",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Ay,{}),"\n",(0,n.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DefaultVerificationServiceLink"})," object defines the default link and parameters of the verification service used when verifying credentials within the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/verify-app",children:"verify page"})," of the Mock App system."]}),"\n",(0,n.jsx)(t.p,{children:"The typical flow is as follows:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["A user runs through the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/scanning-app",children:"scanning app"})," flow."]}),"\n",(0,n.jsxs)(t.li,{children:["The resulting credential is passed to the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/verify-app",children:"verify page"})," of the Mock App system."]}),"\n",(0,n.jsxs)(t.li,{children:["The ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/verify-app",children:"verify page"})," uses the verification service defined in the ",(0,n.jsx)(t.code,{children:"Default Verification Service Link"})," object to verify the credential."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"This object ensures that the Mock App system has a consistent and predefined method for credential verification."}),"\n",(0,n.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n "defaultVerificationServiceLink": {\n "title": "Default Verification Service",\n "context": "Default Verification Service",\n "type": "application/json",\n "href": "http://localhost:3332/agent/routeVerificationCredential",\n "hreflang": ["en"],\n "apiKey": "test123"\n }\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Property"}),(0,n.jsx)(t.th,{style:{textAlign:"center"},children:"Required"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"title"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:"The title of the verification service."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"context"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:"The context or description of the verification service."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"href"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"Yes"}),(0,n.jsx)(t.td,{children:"The URL of the verification service endpoint."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"hreflang"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:"An array of language codes that the service supports."}),(0,n.jsx)(t.td,{children:"String[]"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"apiKey"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"Yes"}),(0,n.jsx)(t.td,{children:"The API key required to access the verification service."}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"type"}),(0,n.jsx)(t.td,{style:{textAlign:"center"},children:"No"}),(0,n.jsx)(t.td,{children:'The MIME type of the expected response, e.g., "application/json".'}),(0,n.jsx)(t.td,{children:"String"})]})]})]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>o});var n=i(6540);const s={},r=n.createContext(s);function c(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/d2578f67.011927c9.js b/assets/js/d2578f67.011927c9.js
deleted file mode 100644
index a31a746e..00000000
--- a/assets/js/d2578f67.011927c9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[6234],{5832:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/tests-untp/docs/introduction/","docId":"introduction/index","unlisted":false},{"type":"category","label":"Mock Apps","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tests-untp/docs/mock-apps/getting-started","docId":"mock-apps/getting-started","unlisted":false},{"type":"link","label":"Installation","href":"/tests-untp/docs/mock-apps/installation","docId":"mock-apps/installation","unlisted":false},{"type":"category","label":"Dependent Services","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Verifiable Credential Service","href":"/tests-untp/docs/mock-apps/dependent-services/verifiable-credential-service","docId":"mock-apps/dependent-services/verifiable-credential-service","unlisted":false},{"type":"link","label":"Storage Service","href":"/tests-untp/docs/mock-apps/dependent-services/storage-service","docId":"mock-apps/dependent-services/storage-service","unlisted":false},{"type":"link","label":"Identity Resolver Service","href":"/tests-untp/docs/mock-apps/dependent-services/identity-resolution-service","docId":"mock-apps/dependent-services/identity-resolution-service","unlisted":false}],"href":"/tests-untp/docs/mock-apps/dependent-services/"},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"System","href":"/tests-untp/docs/mock-apps/configuration/system-config","docId":"mock-apps/configuration/system-config","unlisted":false},{"type":"link","label":"General Feature","href":"/tests-untp/docs/mock-apps/configuration/general-feature-config","docId":"mock-apps/configuration/general-feature-config","unlisted":false},{"type":"link","label":"App","href":"/tests-untp/docs/mock-apps/configuration/app-config","docId":"mock-apps/configuration/app-config","unlisted":false},{"type":"link","label":"Feature","href":"/tests-untp/docs/mock-apps/configuration/feature-config","docId":"mock-apps/configuration/feature-config","unlisted":false},{"type":"link","label":"Component","href":"/tests-untp/docs/mock-apps/configuration/component-config","docId":"mock-apps/configuration/component-config","unlisted":false},{"type":"link","label":"Service","href":"/tests-untp/docs/mock-apps/configuration/service-config","docId":"mock-apps/configuration/service-config","unlisted":false}],"href":"/tests-untp/docs/mock-apps/configuration/"},{"type":"category","label":"Components","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Json Form","href":"/tests-untp/docs/mock-apps/components/json-form","docId":"mock-apps/components/json-form","unlisted":false},{"type":"link","label":"Custom Button","href":"/tests-untp/docs/mock-apps/components/custom-button","docId":"mock-apps/components/custom-button","unlisted":false},{"type":"link","label":"Barcode Generator","href":"/tests-untp/docs/mock-apps/components/barcode-generator","docId":"mock-apps/components/barcode-generator","unlisted":false},{"type":"link","label":"Local Storage Loader","href":"/tests-untp/docs/mock-apps/components/local-storage-loader","docId":"mock-apps/components/local-storage-loader","unlisted":false},{"type":"link","label":"Conformity Credential","href":"/tests-untp/docs/mock-apps/components/conformity-credential","docId":"mock-apps/components/conformity-credential","unlisted":false},{"type":"link","label":"Conformity Credential Checkbox","href":"/tests-untp/docs/mock-apps/components/conformity-credential-checkbox","docId":"mock-apps/components/conformity-credential-checkbox","unlisted":false}],"href":"/tests-untp/docs/mock-apps/components/"},{"type":"category","label":"Services","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Process DPP","href":"/tests-untp/docs/mock-apps/services/process-dpp","docId":"mock-apps/services/process-dpp","unlisted":false},{"type":"link","label":"Process Transaction Event","href":"/tests-untp/docs/mock-apps/services/process-transaction-event","docId":"mock-apps/services/process-transaction-event","unlisted":false},{"type":"link","label":"Process Transformation Event","href":"/tests-untp/docs/mock-apps/services/process-transformation-event","docId":"mock-apps/services/process-transformation-event","unlisted":false},{"type":"link","label":"Process Aggregation Event","href":"/tests-untp/docs/mock-apps/services/process-aggregation-event","docId":"mock-apps/services/process-aggregation-event","unlisted":false},{"type":"link","label":"Merge To Local Storage","href":"/tests-untp/docs/mock-apps/services/merge-to-local-storage","docId":"mock-apps/services/merge-to-local-storage","unlisted":false}],"href":"/tests-untp/docs/mock-apps/services/"},{"type":"category","label":"Common","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Asset","href":"/tests-untp/docs/mock-apps/common/asset","docId":"mock-apps/common/asset","unlisted":false},{"type":"link","label":"Style","href":"/tests-untp/docs/mock-apps/common/style","docId":"mock-apps/common/style","unlisted":false},{"type":"link","label":"VCkit","href":"/tests-untp/docs/mock-apps/common/vckit","docId":"mock-apps/common/vckit","unlisted":false},{"type":"link","label":"IDR","href":"/tests-untp/docs/mock-apps/common/idr","docId":"mock-apps/common/idr","unlisted":false},{"type":"link","label":"Storage","href":"/tests-untp/docs/mock-apps/common/storage","docId":"mock-apps/common/storage","unlisted":false},{"type":"link","label":"Credential","href":"/tests-untp/docs/mock-apps/common/credential","docId":"mock-apps/common/credential","unlisted":false},{"type":"link","label":"Local Storage","href":"/tests-untp/docs/mock-apps/common/local-storage","docId":"mock-apps/common/local-storage","unlisted":false},{"type":"link","label":"Construct Data","href":"/tests-untp/docs/mock-apps/common/construct-data","docId":"mock-apps/common/construct-data","unlisted":false},{"type":"link","label":"Identify Provider","href":"/tests-untp/docs/mock-apps/common/identify-provider","docId":"mock-apps/common/identify-provider","unlisted":false},{"type":"link","label":"Component Type","href":"/tests-untp/docs/mock-apps/common/component-type","docId":"mock-apps/common/component-type","unlisted":false},{"type":"link","label":"Render Template","href":"/tests-untp/docs/mock-apps/common/render-template","docId":"mock-apps/common/render-template","unlisted":false},{"type":"link","label":"Verify Link","href":"/tests-untp/docs/mock-apps/common/verify-link","docId":"mock-apps/common/verify-link","unlisted":false},{"type":"link","label":"Default Verification Service Link","href":"/tests-untp/docs/mock-apps/common/default-verification-service-link","docId":"mock-apps/common/default-verification-service-link","unlisted":false}],"href":"/tests-untp/docs/mock-apps/common/"},{"type":"link","label":"Scanning App","href":"/tests-untp/docs/mock-apps/scanning-app","docId":"mock-apps/scanning-app","unlisted":false},{"type":"link","label":"Verify App","href":"/tests-untp/docs/mock-apps/verify-app","docId":"mock-apps/verify-app","unlisted":false},{"type":"link","label":"Conformity Credential","href":"/tests-untp/docs/mock-apps/conformity-credential","docId":"mock-apps/conformity-credential","unlisted":false}],"href":"/tests-untp/docs/mock-apps/"},{"type":"category","label":"Test Suites","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Semantic Interoperability","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tests-untp/docs/test-suites/semantic-interoperability/getting-started","docId":"test-suites/semantic-interoperability/getting-started","unlisted":false},{"type":"category","label":"CLI","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/installation","docId":"test-suites/semantic-interoperability/cli/installation","unlisted":false},{"type":"link","label":"Configuration","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/configuration","docId":"test-suites/semantic-interoperability/cli/configuration","unlisted":false},{"type":"link","label":"Usage","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/usage","docId":"test-suites/semantic-interoperability/cli/usage","unlisted":false},{"type":"link","label":"Extensions","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/extensions","docId":"test-suites/semantic-interoperability/cli/extensions","unlisted":false}],"href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/"}],"href":"/tests-untp/docs/test-suites/semantic-interoperability/"},{"type":"category","label":"Technical Interoperability","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tests-untp/docs/test-suites/technical-interoperability/getting-started","docId":"test-suites/technical-interoperability/getting-started","unlisted":false},{"type":"link","label":"Installation","href":"/tests-untp/docs/test-suites/technical-interoperability/installation","docId":"test-suites/technical-interoperability/installation","unlisted":false},{"type":"category","label":"Verifiable Credentials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Verifiable Credentials","href":"/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/testing","docId":"test-suites/technical-interoperability/verifiable-credentials/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/"},{"type":"category","label":"UNTP Extensions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"QR Link / Encryption","href":"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/qr-link-encryption","docId":"test-suites/technical-interoperability/untp-extensions/qr-link-encryption","unlisted":false},{"type":"link","label":"Rendering","href":"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/rendering","docId":"test-suites/technical-interoperability/untp-extensions/rendering","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/"},{"type":"category","label":"Storage","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Storage","href":"/tests-untp/docs/test-suites/technical-interoperability/storage/testing","docId":"test-suites/technical-interoperability/storage/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/storage/"},{"type":"category","label":"Identity Resolution (IDR)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Identity Resolution","href":"/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/testing","docId":"test-suites/technical-interoperability/identity-resolution/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/"},{"type":"category","label":"Transparency Graphs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Transparency Graphs","href":"/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/testing","docId":"test-suites/technical-interoperability/transparency-graphs/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/"}],"href":"/tests-untp/docs/test-suites/technical-interoperability/"}],"href":"/tests-untp/docs/test-suites/"}]},"docs":{"introduction/index":{"id":"introduction/index","title":"Introduction","description":"The UN Transparency Protocol (UNTP) Test Suite is a comprehensive set of tools designed to ensure conformance to the UNTP Specification. This robust suite enables implementers to thoroughly evaluate their UNTP implementations across various aspects, from technical interoperability to semantic validation.","sidebar":"tutorialSidebar"},"mock-apps/common/asset":{"id":"mock-apps/common/asset","title":"Asset","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/component-type":{"id":"mock-apps/common/component-type","title":"Component Type","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/construct-data":{"id":"mock-apps/common/construct-data","title":"Construct Data","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/credential":{"id":"mock-apps/common/credential","title":"Credential","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/default-verification-service-link":{"id":"mock-apps/common/default-verification-service-link","title":"Default Verification Service Link","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/identify-provider":{"id":"mock-apps/common/identify-provider","title":"Identify Provider","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/idr":{"id":"mock-apps/common/idr","title":"IDR","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/index":{"id":"mock-apps/common/index","title":"Common","description":"","sidebar":"tutorialSidebar"},"mock-apps/common/local-storage":{"id":"mock-apps/common/local-storage","title":"Local Storage","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/render-template":{"id":"mock-apps/common/render-template","title":"Render Template","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/storage":{"id":"mock-apps/common/storage","title":"Storage","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/style":{"id":"mock-apps/common/style","title":"Style","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/vckit":{"id":"mock-apps/common/vckit","title":"VCkit","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/verify-link":{"id":"mock-apps/common/verify-link","title":"Verify Link","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/barcode-generator":{"id":"mock-apps/components/barcode-generator","title":"Barcode Generator","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/conformity-credential":{"id":"mock-apps/components/conformity-credential","title":"Conformity Credential","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/conformity-credential-checkbox":{"id":"mock-apps/components/conformity-credential-checkbox","title":"Conformity Credential Checkbox","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/custom-button":{"id":"mock-apps/components/custom-button","title":"Custom Button","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/index":{"id":"mock-apps/components/index","title":"Components","description":"Components are reusable UI elements that make up the visual and interactive parts of a feature. Some components encapsulate additional logic other than just UI functionalities, like downloading credentials, storing credentials to local storage and generating barcodes.","sidebar":"tutorialSidebar"},"mock-apps/components/json-form":{"id":"mock-apps/components/json-form","title":"Json Form","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/local-storage-loader":{"id":"mock-apps/components/local-storage-loader","title":"Local Storage Loader","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/configuration/app-config":{"id":"mock-apps/configuration/app-config","title":"App","description":"Apps are used to represent and encapsulate the process/business logic of each actor within the value chain. Each app is independently configured to ensure the appropriate functionality can be implemented dependent on the role that actor in the value chain plays.","sidebar":"tutorialSidebar"},"mock-apps/configuration/component-config":{"id":"mock-apps/configuration/component-config","title":"Component","description":"Components are reusable UI elements that make up the visual and interactive parts of a feature. Some components encapsulate additional logic other than just UI functionalities, like downloading credentials and storing credentials to local storage.","sidebar":"tutorialSidebar"},"mock-apps/configuration/feature-config":{"id":"mock-apps/configuration/feature-config","title":"Feature","description":"Features are the building blocks of functionality within the Mock App system. Each feature is comprised of components and services which are used to compose the business logic and orchestrate services.","sidebar":"tutorialSidebar"},"mock-apps/configuration/general-feature-config":{"id":"mock-apps/configuration/general-feature-config","title":"General Feature","description":"General Features define a shared set of functionalities accessible by all Mock Apps within the Mock App system.","sidebar":"tutorialSidebar"},"mock-apps/configuration/index":{"id":"mock-apps/configuration/index","title":"Configuration","description":"The Mock Apps config file is used to define the system level config, the apps within the mock app system, the apps functions and the connection to the external services.","sidebar":"tutorialSidebar"},"mock-apps/configuration/service-config":{"id":"mock-apps/configuration/service-config","title":"Service","description":"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.","sidebar":"tutorialSidebar"},"mock-apps/configuration/system-config":{"id":"mock-apps/configuration/system-config","title":"System","description":"This is a high-level system configuration used to brand the Mock App system, define the apps contained within the Mock App system, and define the connections to common external services that each app can use.","sidebar":"tutorialSidebar"},"mock-apps/conformity-credential":{"id":"mock-apps/conformity-credential","title":"Conformity Credential","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/identity-resolution-service":{"id":"mock-apps/dependent-services/identity-resolution-service","title":"Identity Resolver Service","description":"The Identity Resolver Service (IDR) is a critical component of the United Nations Transparency Protocol (UNTP) ecosystem. It serves as a bridge between the identifiers of things (e.g., products, entities, transactions) and additional information about those things. You can learn more about Identity Resolver Services here.","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/index":{"id":"mock-apps/dependent-services/index","title":"Dependent Services","description":"This section provides an overview of the dependent services required for the United Nations Transparency Protocol (UNTP). Each service plays a crucial role in the UNTP ecosystem, and proper setup is essential for the functioning of the Mock App system.","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/storage-service":{"id":"mock-apps/dependent-services/storage-service","title":"Storage Service","description":"The Storage Service plays a vital role in the United Nations Transparency Protocol (UNTP) ecosystem by providing a secure and efficient way to store credentials and documents.","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/verifiable-credential-service":{"id":"mock-apps/dependent-services/verifiable-credential-service","title":"Verifiable Credential Service","description":"The Verifiable Credential Service is a crucial component of the United Nations Transparency Protocol (UNTP) ecosystem.","sidebar":"tutorialSidebar"},"mock-apps/getting-started":{"id":"mock-apps/getting-started","title":"Getting Started","description":"Within the Getting Started section we will focus on the following topics:","sidebar":"tutorialSidebar"},"mock-apps/index":{"id":"mock-apps/index","title":"Mock Apps","description":"The United Nations Transparency Protocol (UNTP) mock apps are designed to model value chain participation and facilitate the testing and demonstration of UNTP implementation within a value chain. These apps provide a flexible and configurable system that allows implementors to compose and customise workflows to suit their specific needs.","sidebar":"tutorialSidebar"},"mock-apps/installation":{"id":"mock-apps/installation","title":"Installation","description":"Before you begin installing the mock apps, ensure that you have the following prerequisites in place:","sidebar":"tutorialSidebar"},"mock-apps/scanning-app":{"id":"mock-apps/scanning-app","title":"Scanning App","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/index":{"id":"mock-apps/services/index","title":"Services","description":"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.","sidebar":"tutorialSidebar"},"mock-apps/services/merge-to-local-storage":{"id":"mock-apps/services/merge-to-local-storage","title":"Merge To Local Storage","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-aggregation-event":{"id":"mock-apps/services/process-aggregation-event","title":"Process Aggregation Event","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-dpp":{"id":"mock-apps/services/process-dpp","title":"Process DPP","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-transaction-event":{"id":"mock-apps/services/process-transaction-event","title":"Process Transaction Event","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-transformation-event":{"id":"mock-apps/services/process-transformation-event","title":"Process Transformation Event","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/verify-app":{"id":"mock-apps/verify-app","title":"Verify App","description":"Description","sidebar":"tutorialSidebar"},"test-suites/index":{"id":"test-suites/index","title":"Test Suites","description":"The UNTP Test Suite comprises three test suites:","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/configuration":{"id":"test-suites/semantic-interoperability/cli/configuration","title":"Configuration","description":"Before proceeding, we need to create the configuration file. The Tier 2 test suite config file defines the credentials being tested, the schema version to test against, and the location of the credential being tested.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/extensions":{"id":"test-suites/semantic-interoperability/cli/extensions","title":"Extensions","description":"The United Nations Transparency Protocol (UNTP) allows for extensions to its core data model. The UNTP Semantic Interoperability Test Suite can validate these extensions, ensuring they remain compliant with the core UNTP data model. This enables implementors to prototype and test custom credential types or additional properties while maintaining conformance with the UNTP protocol.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/index":{"id":"test-suites/semantic-interoperability/cli/index","title":"CLI","description":"The United Nations Transparency Protocol (UNTP) Semantic Interoperability Test Suite CLI is a powerful tool designed for rapid validation of credentials produced by UNTP implementers and implementations. This suite ensures that the credentials comply with the core UNTP data model, making it an essential resource for developers, organisations and communities working with the UNTP protocol.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/installation":{"id":"test-suites/semantic-interoperability/cli/installation","title":"Installation","description":"Before you begin installing the Tier 2 test suite CLI, ensure that you have the following prerequisites in place:","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/usage":{"id":"test-suites/semantic-interoperability/cli/usage","title":"Usage","description":"Once you have configured the test suite, you can run it to validate your UNTP credentials.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/getting-started":{"id":"test-suites/semantic-interoperability/getting-started","title":"Getting Started","description":"The Getting Started section covers the following topics for each:","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/index":{"id":"test-suites/semantic-interoperability/index","title":"Semantic Interoperability","description":"The United Nations Transparency Protocol (UNTP) Semantic Interoperability Test Suite is a vital tool for implementers working on UNTP implementations and extensions. This comprehensive suite, designed for the second tier of UNTP testing, enables implementers to:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/getting-started":{"id":"test-suites/technical-interoperability/getting-started","title":"Getting Started","description":"The Getting Started section covers the following topics for technical interoperability testing:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/identity-resolution/index":{"id":"test-suites/technical-interoperability/identity-resolution/index","title":"Identity Resolution (IDR)","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/identity-resolution/testing":{"id":"test-suites/technical-interoperability/identity-resolution/testing","title":"Testing Identity Resolution","description":"Detailed testing procedures for the Identity Resolution component will be provided in future updates. These tests will cover:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/index":{"id":"test-suites/technical-interoperability/index","title":"Technical Interoperability","description":"The United Nations Transparency Protocol (UNTP) Technical Interoperability test suite ensures that implementations of the UNTP protocol meet the required standards for interoperability. This suite comprises both internal tests developed by the UNTP community and external tests created by other communities.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/installation":{"id":"test-suites/technical-interoperability/installation","title":"Installation","description":"Before you begin installing the Tier 1 test suite, ensure that you have the dependant services and the following prerequisites in place:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/storage/index":{"id":"test-suites/technical-interoperability/storage/index","title":"Storage","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/storage/testing":{"id":"test-suites/technical-interoperability/storage/testing","title":"Testing Storage","description":"The Storage component is a critical part of the UNTP ecosystem, responsible for securely storing and retrieving credentials and related data. This test suite verifies the functionality, security, and accessibility of your storage implementation.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/transparency-graphs/index":{"id":"test-suites/technical-interoperability/transparency-graphs/index","title":"Transparency Graphs","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/transparency-graphs/testing":{"id":"test-suites/technical-interoperability/transparency-graphs/testing","title":"Testing Transparency Graphs","description":"Detailed testing procedures for Transparency Graphs will be provided in future updates. These tests will cover:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/untp-extensions/index":{"id":"test-suites/technical-interoperability/untp-extensions/index","title":"UNTP Extensions","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/untp-extensions/qr-link-encryption":{"id":"test-suites/technical-interoperability/untp-extensions/qr-link-encryption","title":"QR Link / Encryption","description":"The QR Link / Encryption feature is a crucial component of the UNTP ecosystem, providing a standardised way to access, verify, and render credentials.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/untp-extensions/rendering":{"id":"test-suites/technical-interoperability/untp-extensions/rendering","title":"Rendering","description":"The Rendering component of the UNTP extensions focuses on how credential data is visually presented. It utilises a Render Template, which is crucial in ensuring consistent and flexible presentation of product information across different systems and applications. To support uptake across supply chain actors with varying levels of technical maturity, human rendering of digital credentials is essential.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/verifiable-credentials/index":{"id":"test-suites/technical-interoperability/verifiable-credentials/index","title":"Verifiable Credentials","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/verifiable-credentials/testing":{"id":"test-suites/technical-interoperability/verifiable-credentials/testing","title":"Testing Verifiable Credentials","description":"To test your Verifiable Credential implementation:","sidebar":"tutorialSidebar"}}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/d2578f67.6dca11ec.js b/assets/js/d2578f67.6dca11ec.js
new file mode 100644
index 00000000..b7747ad8
--- /dev/null
+++ b/assets/js/d2578f67.6dca11ec.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[6234],{5832:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/tests-untp/docs/introduction/","docId":"introduction/index","unlisted":false},{"type":"category","label":"Mock Apps","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tests-untp/docs/mock-apps/getting-started","docId":"mock-apps/getting-started","unlisted":false},{"type":"link","label":"Installation","href":"/tests-untp/docs/mock-apps/installation","docId":"mock-apps/installation","unlisted":false},{"type":"category","label":"Dependent Services","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Verifiable Credential Service","href":"/tests-untp/docs/mock-apps/dependent-services/verifiable-credential-service","docId":"mock-apps/dependent-services/verifiable-credential-service","unlisted":false},{"type":"link","label":"Storage Service","href":"/tests-untp/docs/mock-apps/dependent-services/storage-service","docId":"mock-apps/dependent-services/storage-service","unlisted":false},{"type":"link","label":"Identity Resolver Service","href":"/tests-untp/docs/mock-apps/dependent-services/identity-resolution-service","docId":"mock-apps/dependent-services/identity-resolution-service","unlisted":false}],"href":"/tests-untp/docs/mock-apps/dependent-services/"},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"System","href":"/tests-untp/docs/mock-apps/configuration/system-config","docId":"mock-apps/configuration/system-config","unlisted":false},{"type":"link","label":"General Feature","href":"/tests-untp/docs/mock-apps/configuration/general-feature-config","docId":"mock-apps/configuration/general-feature-config","unlisted":false},{"type":"link","label":"App","href":"/tests-untp/docs/mock-apps/configuration/app-config","docId":"mock-apps/configuration/app-config","unlisted":false},{"type":"link","label":"Feature","href":"/tests-untp/docs/mock-apps/configuration/feature-config","docId":"mock-apps/configuration/feature-config","unlisted":false},{"type":"link","label":"Component","href":"/tests-untp/docs/mock-apps/configuration/component-config","docId":"mock-apps/configuration/component-config","unlisted":false},{"type":"link","label":"Service","href":"/tests-untp/docs/mock-apps/configuration/service-config","docId":"mock-apps/configuration/service-config","unlisted":false}],"href":"/tests-untp/docs/mock-apps/configuration/"},{"type":"category","label":"Components","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Json Form","href":"/tests-untp/docs/mock-apps/components/json-form","docId":"mock-apps/components/json-form","unlisted":false},{"type":"link","label":"Custom Button","href":"/tests-untp/docs/mock-apps/components/custom-button","docId":"mock-apps/components/custom-button","unlisted":false},{"type":"link","label":"Barcode Generator","href":"/tests-untp/docs/mock-apps/components/barcode-generator","docId":"mock-apps/components/barcode-generator","unlisted":false},{"type":"link","label":"Local Storage Loader","href":"/tests-untp/docs/mock-apps/components/local-storage-loader","docId":"mock-apps/components/local-storage-loader","unlisted":false},{"type":"link","label":"Conformity Credential","href":"/tests-untp/docs/mock-apps/components/conformity-credential","docId":"mock-apps/components/conformity-credential","unlisted":false},{"type":"link","label":"Conformity Credential Checkbox","href":"/tests-untp/docs/mock-apps/components/conformity-credential-checkbox","docId":"mock-apps/components/conformity-credential-checkbox","unlisted":false}],"href":"/tests-untp/docs/mock-apps/components/"},{"type":"category","label":"Services","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Process DPP","href":"/tests-untp/docs/mock-apps/services/process-dpp","docId":"mock-apps/services/process-dpp","unlisted":false},{"type":"link","label":"Process Transaction Event","href":"/tests-untp/docs/mock-apps/services/process-transaction-event","docId":"mock-apps/services/process-transaction-event","unlisted":false},{"type":"link","label":"Process Transformation Event","href":"/tests-untp/docs/mock-apps/services/process-transformation-event","docId":"mock-apps/services/process-transformation-event","unlisted":false},{"type":"link","label":"Process Aggregation Event","href":"/tests-untp/docs/mock-apps/services/process-aggregation-event","docId":"mock-apps/services/process-aggregation-event","unlisted":false},{"type":"link","label":"Merge To Local Storage","href":"/tests-untp/docs/mock-apps/services/merge-to-local-storage","docId":"mock-apps/services/merge-to-local-storage","unlisted":false}],"href":"/tests-untp/docs/mock-apps/services/"},{"type":"category","label":"Common","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Asset","href":"/tests-untp/docs/mock-apps/common/asset","docId":"mock-apps/common/asset","unlisted":false},{"type":"link","label":"Style","href":"/tests-untp/docs/mock-apps/common/style","docId":"mock-apps/common/style","unlisted":false},{"type":"link","label":"VCkit","href":"/tests-untp/docs/mock-apps/common/vckit","docId":"mock-apps/common/vckit","unlisted":false},{"type":"link","label":"IDR","href":"/tests-untp/docs/mock-apps/common/idr","docId":"mock-apps/common/idr","unlisted":false},{"type":"link","label":"Storage","href":"/tests-untp/docs/mock-apps/common/storage","docId":"mock-apps/common/storage","unlisted":false},{"type":"link","label":"Credential","href":"/tests-untp/docs/mock-apps/common/credential","docId":"mock-apps/common/credential","unlisted":false},{"type":"link","label":"Local Storage","href":"/tests-untp/docs/mock-apps/common/local-storage","docId":"mock-apps/common/local-storage","unlisted":false},{"type":"link","label":"Construct Data","href":"/tests-untp/docs/mock-apps/common/construct-data","docId":"mock-apps/common/construct-data","unlisted":false},{"type":"link","label":"Identify Provider","href":"/tests-untp/docs/mock-apps/common/identify-provider","docId":"mock-apps/common/identify-provider","unlisted":false},{"type":"link","label":"Component Type","href":"/tests-untp/docs/mock-apps/common/component-type","docId":"mock-apps/common/component-type","unlisted":false},{"type":"link","label":"Render Template","href":"/tests-untp/docs/mock-apps/common/render-template","docId":"mock-apps/common/render-template","unlisted":false},{"type":"link","label":"Verify Link","href":"/tests-untp/docs/mock-apps/common/verify-link","docId":"mock-apps/common/verify-link","unlisted":false},{"type":"link","label":"Default Verification Service Link","href":"/tests-untp/docs/mock-apps/common/default-verification-service-link","docId":"mock-apps/common/default-verification-service-link","unlisted":false},{"type":"link","label":"Identify Key Path","href":"/tests-untp/docs/mock-apps/common/identifier-key-path","docId":"mock-apps/common/identifier-key-path","unlisted":false}],"href":"/tests-untp/docs/mock-apps/common/"},{"type":"link","label":"Scanning App","href":"/tests-untp/docs/mock-apps/scanning-app","docId":"mock-apps/scanning-app","unlisted":false},{"type":"link","label":"Verify App","href":"/tests-untp/docs/mock-apps/verify-app","docId":"mock-apps/verify-app","unlisted":false},{"type":"link","label":"Conformity Credential","href":"/tests-untp/docs/mock-apps/conformity-credential","docId":"mock-apps/conformity-credential","unlisted":false}],"href":"/tests-untp/docs/mock-apps/"},{"type":"category","label":"Test Suites","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Semantic Interoperability","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tests-untp/docs/test-suites/semantic-interoperability/getting-started","docId":"test-suites/semantic-interoperability/getting-started","unlisted":false},{"type":"category","label":"CLI","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/installation","docId":"test-suites/semantic-interoperability/cli/installation","unlisted":false},{"type":"link","label":"Configuration","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/configuration","docId":"test-suites/semantic-interoperability/cli/configuration","unlisted":false},{"type":"link","label":"Usage","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/usage","docId":"test-suites/semantic-interoperability/cli/usage","unlisted":false},{"type":"link","label":"Extensions","href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/extensions","docId":"test-suites/semantic-interoperability/cli/extensions","unlisted":false}],"href":"/tests-untp/docs/test-suites/semantic-interoperability/cli/"}],"href":"/tests-untp/docs/test-suites/semantic-interoperability/"},{"type":"category","label":"Technical Interoperability","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tests-untp/docs/test-suites/technical-interoperability/getting-started","docId":"test-suites/technical-interoperability/getting-started","unlisted":false},{"type":"link","label":"Installation","href":"/tests-untp/docs/test-suites/technical-interoperability/installation","docId":"test-suites/technical-interoperability/installation","unlisted":false},{"type":"category","label":"Verifiable Credentials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Verifiable Credentials","href":"/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/testing","docId":"test-suites/technical-interoperability/verifiable-credentials/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/"},{"type":"category","label":"UNTP Extensions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"QR Link / Encryption","href":"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/qr-link-encryption","docId":"test-suites/technical-interoperability/untp-extensions/qr-link-encryption","unlisted":false},{"type":"link","label":"Rendering","href":"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/rendering","docId":"test-suites/technical-interoperability/untp-extensions/rendering","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/"},{"type":"category","label":"Storage","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Storage","href":"/tests-untp/docs/test-suites/technical-interoperability/storage/testing","docId":"test-suites/technical-interoperability/storage/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/storage/"},{"type":"category","label":"Identity Resolution (IDR)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Identity Resolution","href":"/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/testing","docId":"test-suites/technical-interoperability/identity-resolution/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/"},{"type":"category","label":"Transparency Graphs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing Transparency Graphs","href":"/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/testing","docId":"test-suites/technical-interoperability/transparency-graphs/testing","unlisted":false}],"href":"/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/"}],"href":"/tests-untp/docs/test-suites/technical-interoperability/"}],"href":"/tests-untp/docs/test-suites/"}]},"docs":{"introduction/index":{"id":"introduction/index","title":"Introduction","description":"The UN Transparency Protocol (UNTP) Test Suite is a comprehensive set of tools designed to ensure conformance to the UNTP Specification. This robust suite enables implementers to thoroughly evaluate their UNTP implementations across various aspects, from technical interoperability to semantic validation.","sidebar":"tutorialSidebar"},"mock-apps/common/asset":{"id":"mock-apps/common/asset","title":"Asset","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/component-type":{"id":"mock-apps/common/component-type","title":"Component Type","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/construct-data":{"id":"mock-apps/common/construct-data","title":"Construct Data","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/credential":{"id":"mock-apps/common/credential","title":"Credential","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/default-verification-service-link":{"id":"mock-apps/common/default-verification-service-link","title":"Default Verification Service Link","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/identifier-key-path":{"id":"mock-apps/common/identifier-key-path","title":"Identify Key Path","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/identify-provider":{"id":"mock-apps/common/identify-provider","title":"Identify Provider","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/idr":{"id":"mock-apps/common/idr","title":"IDR","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/index":{"id":"mock-apps/common/index","title":"Common","description":"","sidebar":"tutorialSidebar"},"mock-apps/common/local-storage":{"id":"mock-apps/common/local-storage","title":"Local Storage","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/render-template":{"id":"mock-apps/common/render-template","title":"Render Template","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/storage":{"id":"mock-apps/common/storage","title":"Storage","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/style":{"id":"mock-apps/common/style","title":"Style","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/vckit":{"id":"mock-apps/common/vckit","title":"VCkit","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/common/verify-link":{"id":"mock-apps/common/verify-link","title":"Verify Link","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/barcode-generator":{"id":"mock-apps/components/barcode-generator","title":"Barcode Generator","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/conformity-credential":{"id":"mock-apps/components/conformity-credential","title":"Conformity Credential","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/conformity-credential-checkbox":{"id":"mock-apps/components/conformity-credential-checkbox","title":"Conformity Credential Checkbox","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/custom-button":{"id":"mock-apps/components/custom-button","title":"Custom Button","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/index":{"id":"mock-apps/components/index","title":"Components","description":"Components are reusable UI elements that make up the visual and interactive parts of a feature. Some components encapsulate additional logic other than just UI functionalities, like downloading credentials, storing credentials to local storage and generating barcodes.","sidebar":"tutorialSidebar"},"mock-apps/components/json-form":{"id":"mock-apps/components/json-form","title":"Json Form","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/components/local-storage-loader":{"id":"mock-apps/components/local-storage-loader","title":"Local Storage Loader","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/configuration/app-config":{"id":"mock-apps/configuration/app-config","title":"App","description":"Apps are used to represent and encapsulate the process/business logic of each actor within the value chain. Each app is independently configured to ensure the appropriate functionality can be implemented dependent on the role that actor in the value chain plays.","sidebar":"tutorialSidebar"},"mock-apps/configuration/component-config":{"id":"mock-apps/configuration/component-config","title":"Component","description":"Components are reusable UI elements that make up the visual and interactive parts of a feature. Some components encapsulate additional logic other than just UI functionalities, like downloading credentials and storing credentials to local storage.","sidebar":"tutorialSidebar"},"mock-apps/configuration/feature-config":{"id":"mock-apps/configuration/feature-config","title":"Feature","description":"Features are the building blocks of functionality within the Mock App system. Each feature is comprised of components and services which are used to compose the business logic and orchestrate services.","sidebar":"tutorialSidebar"},"mock-apps/configuration/general-feature-config":{"id":"mock-apps/configuration/general-feature-config","title":"General Feature","description":"General Features define a shared set of functionalities accessible by all Mock Apps within the Mock App system.","sidebar":"tutorialSidebar"},"mock-apps/configuration/index":{"id":"mock-apps/configuration/index","title":"Configuration","description":"The Mock Apps config file is used to define the system level config, the apps within the mock app system, the apps functions and the connection to the external services.","sidebar":"tutorialSidebar"},"mock-apps/configuration/service-config":{"id":"mock-apps/configuration/service-config","title":"Service","description":"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.","sidebar":"tutorialSidebar"},"mock-apps/configuration/system-config":{"id":"mock-apps/configuration/system-config","title":"System","description":"This is a high-level system configuration used to brand the Mock App system, define the apps contained within the Mock App system, and define the connections to common external services that each app can use.","sidebar":"tutorialSidebar"},"mock-apps/conformity-credential":{"id":"mock-apps/conformity-credential","title":"Conformity Credential","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/identity-resolution-service":{"id":"mock-apps/dependent-services/identity-resolution-service","title":"Identity Resolver Service","description":"The Identity Resolver Service (IDR) is a critical component of the United Nations Transparency Protocol (UNTP) ecosystem. It serves as a bridge between the identifiers of things (e.g., products, entities, transactions) and additional information about those things. You can learn more about Identity Resolver Services here.","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/index":{"id":"mock-apps/dependent-services/index","title":"Dependent Services","description":"This section provides an overview of the dependent services required for the United Nations Transparency Protocol (UNTP). Each service plays a crucial role in the UNTP ecosystem, and proper setup is essential for the functioning of the Mock App system.","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/storage-service":{"id":"mock-apps/dependent-services/storage-service","title":"Storage Service","description":"The Storage Service plays a vital role in the United Nations Transparency Protocol (UNTP) ecosystem by providing a secure and efficient way to store credentials and documents.","sidebar":"tutorialSidebar"},"mock-apps/dependent-services/verifiable-credential-service":{"id":"mock-apps/dependent-services/verifiable-credential-service","title":"Verifiable Credential Service","description":"The Verifiable Credential Service is a crucial component of the United Nations Transparency Protocol (UNTP) ecosystem.","sidebar":"tutorialSidebar"},"mock-apps/getting-started":{"id":"mock-apps/getting-started","title":"Getting Started","description":"Within the Getting Started section we will focus on the following topics:","sidebar":"tutorialSidebar"},"mock-apps/index":{"id":"mock-apps/index","title":"Mock Apps","description":"The United Nations Transparency Protocol (UNTP) mock apps are designed to model value chain participation and facilitate the testing and demonstration of UNTP implementation within a value chain. These apps provide a flexible and configurable system that allows implementors to compose and customise workflows to suit their specific needs.","sidebar":"tutorialSidebar"},"mock-apps/installation":{"id":"mock-apps/installation","title":"Installation","description":"Before you begin installing the mock apps, ensure that you have the following prerequisites in place:","sidebar":"tutorialSidebar"},"mock-apps/scanning-app":{"id":"mock-apps/scanning-app","title":"Scanning App","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/index":{"id":"mock-apps/services/index","title":"Services","description":"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.","sidebar":"tutorialSidebar"},"mock-apps/services/merge-to-local-storage":{"id":"mock-apps/services/merge-to-local-storage","title":"Merge To Local Storage","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-aggregation-event":{"id":"mock-apps/services/process-aggregation-event","title":"Process Aggregation Event","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-dpp":{"id":"mock-apps/services/process-dpp","title":"Process DPP","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-transaction-event":{"id":"mock-apps/services/process-transaction-event","title":"Process Transaction Event","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/services/process-transformation-event":{"id":"mock-apps/services/process-transformation-event","title":"Process Transformation Event","description":"Description","sidebar":"tutorialSidebar"},"mock-apps/verify-app":{"id":"mock-apps/verify-app","title":"Verify App","description":"Description","sidebar":"tutorialSidebar"},"test-suites/index":{"id":"test-suites/index","title":"Test Suites","description":"The UNTP Test Suite comprises three test suites:","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/configuration":{"id":"test-suites/semantic-interoperability/cli/configuration","title":"Configuration","description":"Before proceeding, we need to create the configuration file. The Tier 2 test suite config file defines the credentials being tested, the schema version to test against, and the location of the credential being tested.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/extensions":{"id":"test-suites/semantic-interoperability/cli/extensions","title":"Extensions","description":"The United Nations Transparency Protocol (UNTP) allows for extensions to its core data model. The UNTP Semantic Interoperability Test Suite can validate these extensions, ensuring they remain compliant with the core UNTP data model. This enables implementors to prototype and test custom credential types or additional properties while maintaining conformance with the UNTP protocol.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/index":{"id":"test-suites/semantic-interoperability/cli/index","title":"CLI","description":"The United Nations Transparency Protocol (UNTP) Semantic Interoperability Test Suite CLI is a powerful tool designed for rapid validation of credentials produced by UNTP implementers and implementations. This suite ensures that the credentials comply with the core UNTP data model, making it an essential resource for developers, organisations and communities working with the UNTP protocol.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/installation":{"id":"test-suites/semantic-interoperability/cli/installation","title":"Installation","description":"Before you begin installing the Tier 2 test suite CLI, ensure that you have the following prerequisites in place:","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/cli/usage":{"id":"test-suites/semantic-interoperability/cli/usage","title":"Usage","description":"Once you have configured the test suite, you can run it to validate your UNTP credentials.","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/getting-started":{"id":"test-suites/semantic-interoperability/getting-started","title":"Getting Started","description":"The Getting Started section covers the following topics for each:","sidebar":"tutorialSidebar"},"test-suites/semantic-interoperability/index":{"id":"test-suites/semantic-interoperability/index","title":"Semantic Interoperability","description":"The United Nations Transparency Protocol (UNTP) Semantic Interoperability Test Suite is a vital tool for implementers working on UNTP implementations and extensions. This comprehensive suite, designed for the second tier of UNTP testing, enables implementers to:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/getting-started":{"id":"test-suites/technical-interoperability/getting-started","title":"Getting Started","description":"The Getting Started section covers the following topics for technical interoperability testing:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/identity-resolution/index":{"id":"test-suites/technical-interoperability/identity-resolution/index","title":"Identity Resolution (IDR)","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/identity-resolution/testing":{"id":"test-suites/technical-interoperability/identity-resolution/testing","title":"Testing Identity Resolution","description":"Detailed testing procedures for the Identity Resolution component will be provided in future updates. These tests will cover:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/index":{"id":"test-suites/technical-interoperability/index","title":"Technical Interoperability","description":"The United Nations Transparency Protocol (UNTP) Technical Interoperability test suite ensures that implementations of the UNTP protocol meet the required standards for interoperability. This suite comprises both internal tests developed by the UNTP community and external tests created by other communities.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/installation":{"id":"test-suites/technical-interoperability/installation","title":"Installation","description":"Before you begin installing the Tier 1 test suite, ensure that you have the dependant services and the following prerequisites in place:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/storage/index":{"id":"test-suites/technical-interoperability/storage/index","title":"Storage","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/storage/testing":{"id":"test-suites/technical-interoperability/storage/testing","title":"Testing Storage","description":"The Storage component is a critical part of the UNTP ecosystem, responsible for securely storing and retrieving credentials and related data. This test suite verifies the functionality, security, and accessibility of your storage implementation.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/transparency-graphs/index":{"id":"test-suites/technical-interoperability/transparency-graphs/index","title":"Transparency Graphs","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/transparency-graphs/testing":{"id":"test-suites/technical-interoperability/transparency-graphs/testing","title":"Testing Transparency Graphs","description":"Detailed testing procedures for Transparency Graphs will be provided in future updates. These tests will cover:","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/untp-extensions/index":{"id":"test-suites/technical-interoperability/untp-extensions/index","title":"UNTP Extensions","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/untp-extensions/qr-link-encryption":{"id":"test-suites/technical-interoperability/untp-extensions/qr-link-encryption","title":"QR Link / Encryption","description":"The QR Link / Encryption feature is a crucial component of the UNTP ecosystem, providing a standardised way to access, verify, and render credentials.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/untp-extensions/rendering":{"id":"test-suites/technical-interoperability/untp-extensions/rendering","title":"Rendering","description":"The Rendering component of the UNTP extensions focuses on how credential data is visually presented. It utilises a Render Template, which is crucial in ensuring consistent and flexible presentation of product information across different systems and applications. To support uptake across supply chain actors with varying levels of technical maturity, human rendering of digital credentials is essential.","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/verifiable-credentials/index":{"id":"test-suites/technical-interoperability/verifiable-credentials/index","title":"Verifiable Credentials","description":"Overview","sidebar":"tutorialSidebar"},"test-suites/technical-interoperability/verifiable-credentials/testing":{"id":"test-suites/technical-interoperability/verifiable-credentials/testing","title":"Testing Verifiable Credentials","description":"To test your Verifiable Credential implementation:","sidebar":"tutorialSidebar"}}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/dbe878d5.7bd14a59.js b/assets/js/dbe878d5.7bd14a59.js
new file mode 100644
index 00000000..3214fba0
--- /dev/null
+++ b/assets/js/dbe878d5.7bd14a59.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4818],{8481:(e,t,n)=>{n.d(t,{Ay:()=>c,RM:()=>r});var s=n(4848),i=n(8453);const r=[];function o(e){const t={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3560:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=n(4848),i=n(8453),r=n(8481);const o={sidebar_position:23,title:"Process DPP"},c=void 0,a={id:"mock-apps/services/process-dpp",title:"Process DPP",description:"Description",source:"@site/docs/mock-apps/services/process-dpp.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-dpp",permalink:"/tests-untp/docs/mock-apps/services/process-dpp",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-dpp.md",tags:[],version:"current",sidebarPosition:23,frontMatter:{sidebar_position:23,title:"Process DPP"},sidebar:"tutorialSidebar",previous:{title:"Services",permalink:"/tests-untp/docs/mock-apps/services/"},next:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"processDPP"})," service is responsible for processing a ",(0,s.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passport (DPP)"}),", issuing a ",(0,s.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", and registering the link to the stored DPP with the ",(0,s.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a DPP, from data input to storage and resolution."]}),"\n",(0,s.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(t.mermaid,{value:"\nsequenceDiagram\n\nparticipant C as Client\n\nparticipant P as processDPP\n\nparticipant V as VCKit\n\nparticipant S as Storage\n\nparticipant D as DLR\n\nC->>P: Call processDPP(data, context)\n\nP->>P: Validate context\n\nP->>P: Extract identifier\n\nP->>V: Issue VC\n\nV--\x3e>P: Return VC\n\nP->>S: Upload VC\n\nS--\x3e>P: Return VC URL\n\nP->>D: Register link resolver\n\nD--\x3e>P: Return resolver URL\n\nP--\x3e>C: Return VC and resolver URL\n"}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:example.com:steel-mill-1"\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [\n {\n "template": "...",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "type": ["VerifiableCredential", " DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3332/verify"\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com",\n "dlrAPIKey": "5555555555555"\n },\n "storage": {\n "url": "https://storage.example.com/v1/documents",\n "params": {\n "bucket": "verifiable-credentials",\n "resultPath": "/uri"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Property"}),(0,s.jsx)(t.th,{children:"Required"}),(0,s.jsx)(t.th,{children:"Description"}),(0,s.jsx)(t.th,{children:"Type"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vckit"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"dpp"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for the Digital Product Passport"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"DPP"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"dlr"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"storage"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for storage service"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"identifierKeyPath"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var s=n(6540);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/dbe878d5.bdefa67f.js b/assets/js/dbe878d5.bdefa67f.js
deleted file mode 100644
index c891e884..00000000
--- a/assets/js/dbe878d5.bdefa67f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4818],{8481:(e,n,t)=>{t.d(n,{Ay:()=>c,RM:()=>r});var s=t(4848),i=t(8453);const r=[];function o(e){const n={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3560:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var s=t(4848),i=t(8453),r=t(8481);const o={sidebar_position:23,title:"Process DPP"},c=void 0,d={id:"mock-apps/services/process-dpp",title:"Process DPP",description:"Description",source:"@site/docs/mock-apps/services/process-dpp.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-dpp",permalink:"/tests-untp/docs/mock-apps/services/process-dpp",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-dpp.md",tags:[],version:"current",sidebarPosition:23,frontMatter:{sidebar_position:23,title:"Process DPP"},sidebar:"tutorialSidebar",previous:{title:"Services",permalink:"/tests-untp/docs/mock-apps/services/"},next:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"}},a={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"processDPP"})," service is responsible for processing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passport (DPP)"}),", issuing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", and registering the link to the stored DPP with the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a DPP, from data input to storage and resolution."]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"\nsequenceDiagram\n\nparticipant C as Client\n\nparticipant P as processDPP\n\nparticipant V as VCKit\n\nparticipant S as Storage\n\nparticipant D as DLR\n\nC->>P: Call processDPP(data, context)\n\nP->>P: Validate context\n\nP->>P: Extract identifier\n\nP->>V: Issue VC\n\nV--\x3e>P: Return VC\n\nP->>S: Upload VC\n\nS--\x3e>P: Return VC URL\n\nP->>D: Register link resolver\n\nD--\x3e>P: Return resolver URL\n\nP--\x3e>C: Return VC and resolver URL\n"}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:example.com:steel-mill-1"\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [\n {\n "template": "...",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "type": ["VerifiableCredential", " DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3332/verify"\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com",\n "dlrAPIKey": "5555555555555"\n },\n "storage": {\n "url": "https://storage.example.com/v1/documents",\n "params": {\n "bucket": "verifiable-credentials",\n "resultPath": "/uri"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"vckit"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dpp"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Product Passport"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"DPP"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dlr"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"storage"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for storage service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"identifierKeyPath"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"JSON path to the identifier in the credential subject"}),(0,s.jsx)(n.td,{children:"String"})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var s=t(6540);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/main.8b970930.js b/assets/js/main.8b970930.js
new file mode 100644
index 00000000..2b795355
--- /dev/null
+++ b/assets/js/main.8b970930.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.8b970930.js.LICENSE.txt */
+(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8792],{8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"0531aaa8":[()=>n.e(987).then(n.bind(n,3499)),"@site/docs/mock-apps/common/component-type.md",3499],"085742ca":[()=>n.e(7017).then(n.bind(n,199)),"@site/docs/mock-apps/common/identify-provider.md",199],"0ca26a2c":[()=>n.e(1895).then(n.bind(n,4056)),"@site/docs/mock-apps/configuration/general-feature-config.md",4056],"10b977c0":[()=>n.e(9716).then(n.bind(n,7655)),"@site/docs/mock-apps/components/local-storage-loader.md",7655],17896441:[()=>Promise.all([n.e(1869),n.e(2901),n.e(8401)]).then(n.bind(n,6365)),"@theme/DocItem",6365],"1cda0596":[()=>n.e(6074).then(n.bind(n,4322)),"@site/docs/introduction/index.md",4322],"1df93b7f":[()=>n.e(4583).then(n.bind(n,6865)),"@site/src/pages/index.tsx",6865],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(2901),n.e(6061)]).then(n.bind(n,7973)),"@theme/MDXPage",7973],"2053dccf":[()=>n.e(1337).then(n.bind(n,1384)),"@site/docs/test-suites/technical-interoperability/untp-extensions/index.md",1384],"229906a6":[()=>n.e(1614).then(n.bind(n,5824)),"@site/docs/mock-apps/services/index.md",5824],"287c65a9":[()=>n.e(5922).then(n.bind(n,8811)),"@site/docs/test-suites/technical-interoperability/getting-started.md",8811],"2cbb390d":[()=>n.e(6786).then(n.bind(n,8691)),"@site/docs/test-suites/semantic-interoperability/cli/extensions.md",8691],30221500:[()=>n.e(8228).then(n.bind(n,964)),"@site/docs/test-suites/semantic-interoperability/getting-started.md",964],"33b26378":[()=>n.e(3769).then(n.bind(n,6578)),"@site/docs/mock-apps/common/identifier-key-path.md",6578],"3496df51":[()=>n.e(551).then(n.bind(n,1706)),"@site/docs/mock-apps/components/custom-button.md",1706],"3c1fb8fb":[()=>n.e(1814).then(n.bind(n,7409)),"@site/docs/mock-apps/common/asset.md",7409],"3d7bc76c":[()=>n.e(7606).then(n.bind(n,2192)),"@site/docs/mock-apps/verify-app.md",2192],"425c06f9":[()=>n.e(3128).then(n.bind(n,9626)),"@site/docs/mock-apps/dependent-services/index.md",9626],"445e7840":[()=>n.e(3132).then(n.bind(n,1579)),"@site/src/pages/terms.md",1579],"4505c18c":[()=>n.e(4700).then(n.bind(n,2100)),"@site/docs/test-suites/index.md",2100],45457832:[()=>n.e(9633).then(n.bind(n,8216)),"@site/docs/mock-apps/common/vckit.md",8216],"45670f71":[()=>n.e(7905).then(n.bind(n,1328)),"@site/docs/test-suites/technical-interoperability/transparency-graphs/testing.md",1328],"483f55fd":[()=>n.e(7260).then(n.bind(n,2968)),"@site/docs/test-suites/semantic-interoperability/index.md",2968],"4a46c1d6":[()=>n.e(7410).then(n.bind(n,2876)),"@site/docs/mock-apps/common/credential.md",2876],"4c54cd24":[()=>n.e(4312).then(n.bind(n,4103)),"@site/docs/test-suites/technical-interoperability/identity-resolution/index.md",4103],"50781d71":[()=>n.e(9118).then(n.bind(n,9896)),"@site/docs/mock-apps/components/index.md",9896],"552cf059":[()=>n.e(340).then(n.bind(n,5640)),"@site/docs/test-suites/technical-interoperability/index.md",5640],"553d0fc4":[()=>n.e(2191).then(n.bind(n,814)),"@site/docs/test-suites/technical-interoperability/untp-extensions/qr-link-encryption.md",814],"577d7028":[()=>n.e(4129).then(n.bind(n,4906)),"@site/docs/mock-apps/services/process-transformation-event.md",4906],"5b6552f6":[()=>n.e(7120).then(n.bind(n,1335)),"@site/docs/mock-apps/services/process-aggregation-event.md",1335],"5e3e7c06":[()=>n.e(1673).then(n.bind(n,1484)),"@site/docs/mock-apps/common/storage.md",1484],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5ef14c48":[()=>n.e(793).then(n.bind(n,4566)),"@site/docs/mock-apps/scanning-app.md",4566],"5f0b1014":[()=>n.e(5400).then(n.bind(n,7320)),"@site/docs/mock-apps/configuration/app-config.md",7320],"680d5359":[()=>n.e(8735).then(n.bind(n,857)),"@site/docs/mock-apps/services/process-transaction-event.md",857],"7842fcd7":[()=>n.e(6762).then(n.bind(n,1628)),"@site/docs/mock-apps/configuration/component-config.md",1628],"7e459fdf":[()=>n.e(7553).then(n.bind(n,6720)),"@site/docs/mock-apps/common/idr.md",6720],"826679d4":[()=>n.e(3873).then(n.bind(n,949)),"@site/docs/mock-apps/common/default-verification-service-link.md",949],87121257:[()=>n.e(8508).then(n.bind(n,8323)),"@site/docs/mock-apps/installation.md",8323],"8ac603f8":[()=>n.e(1244).then(n.bind(n,8996)),"@site/docs/mock-apps/components/conformity-credential-checkbox.md",8996],"8d5201cb":[()=>n.e(4912).then(n.bind(n,8072)),"@site/docs/mock-apps/configuration/service-config.md",8072],"8e33b65d":[()=>n.e(7431).then(n.bind(n,4496)),"@site/src/pages/privacy.md",4496],"91dfa211":[()=>n.e(7408).then(n.bind(n,8991)),"@site/docs/mock-apps/dependent-services/identity-resolution-service.md",8991],"928beb81":[()=>n.e(4576).then(n.bind(n,9699)),"@site/docs/test-suites/semantic-interoperability/cli/configuration.md",9699],"93020abc":[()=>n.e(9265).then(n.bind(n,3425)),"@site/docs/test-suites/semantic-interoperability/cli/index.md",3425],"93e1ff5a":[()=>n.e(3187).then(n.bind(n,193)),"@site/docs/mock-apps/common/construct-data.md",193],"965e8f06":[()=>n.e(3396).then(n.bind(n,5691)),"@site/docs/mock-apps/common/render-template.md",5691],"990870e6":[()=>n.e(7329).then(n.bind(n,3991)),"@site/docs/mock-apps/configuration/feature-config.md",3991],"9aa17927":[()=>n.e(4238).then(n.bind(n,5898)),"@site/docs/test-suites/technical-interoperability/verifiable-credentials/index.md",5898],a0e89b48:[()=>n.e(7478).then(n.bind(n,8767)),"@site/docs/mock-apps/index.md",8767],a4ef1660:[()=>n.e(6498).then(n.bind(n,2232)),"@site/docs/test-suites/technical-interoperability/transparency-graphs/index.md",2232],a6961166:[()=>n.e(9849).then(n.bind(n,6392)),"@site/docs/mock-apps/components/barcode-generator.md",6392],a7456010:[()=>n.e(1235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a7bf941b:[()=>n.e(3169).then(n.bind(n,4259)),"@site/docs/mock-apps/conformity-credential.md",4259],a81fd1fb:[()=>n.e(9036).then(n.bind(n,2014)),"@site/docs/mock-apps/configuration/index.md",2014],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,2559)),"@theme/DocRoot",2559],a9c4a5b0:[()=>n.e(9776).then(n.bind(n,4277)),"@site/docs/mock-apps/common/index.md",4277],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],ac7eac65:[()=>n.e(2344).then(n.bind(n,3880)),"@site/docs/mock-apps/configuration/system-config.md",3880],ae987efd:[()=>n.e(8900).then(n.bind(n,9659)),"@site/docs/mock-apps/components/json-form.md",9659],af166207:[()=>n.e(2600).then(n.bind(n,4241)),"@site/docs/mock-apps/common/verify-link.md",4241],b2f714bf:[()=>n.e(1321).then(n.bind(n,1976)),"@site/docs/test-suites/technical-interoperability/untp-extensions/rendering.md",1976],bb909d62:[()=>n.e(4815).then(n.bind(n,7245)),"@site/docs/test-suites/technical-interoperability/storage/index.md",7245],bd6744df:[()=>n.e(4938).then(n.bind(n,8653)),"@site/docs/test-suites/semantic-interoperability/cli/installation.md",8653],c24a5290:[()=>n.e(2759).then(n.bind(n,2637)),"@site/docs/mock-apps/dependent-services/verifiable-credential-service.md",2637],c25f9d34:[()=>n.e(51).then(n.bind(n,6591)),"@site/docs/mock-apps/getting-started.md",6591],c4b6dfb7:[()=>n.e(9893).then(n.bind(n,2127)),"@site/docs/test-suites/technical-interoperability/identity-resolution/testing.md",2127],cf2a862f:[()=>n.e(2097).then(n.bind(n,2021)),"@site/docs/test-suites/technical-interoperability/storage/testing.md",2021],d2578f67:[()=>n.e(6234).then(n.t.bind(n,5832,19)),"@generated/docusaurus-plugin-content-docs/default/p/tests-untp-docs-838.json",5832],dadc47ff:[()=>n.e(5882).then(n.bind(n,8042)),"@site/docs/mock-apps/services/merge-to-local-storage.md",8042],dbe878d5:[()=>n.e(4818).then(n.bind(n,3560)),"@site/docs/mock-apps/services/process-dpp.md",3560],dc91be4e:[()=>n.e(7968).then(n.bind(n,4024)),"@site/docs/mock-apps/common/style.md",4024],ddadeb1e:[()=>n.e(1639).then(n.bind(n,7098)),"@site/docs/test-suites/technical-interoperability/verifiable-credentials/testing.md",7098],e59573dd:[()=>n.e(2493).then(n.bind(n,984)),"@site/docs/mock-apps/components/conformity-credential.md",984],e70afa19:[()=>n.e(2699).then(n.bind(n,4471)),"@site/docs/test-suites/technical-interoperability/installation.md",4471],ed523a4b:[()=>n.e(5655).then(n.bind(n,1514)),"@site/docs/test-suites/semantic-interoperability/cli/usage.md",1514],ef07c418:[()=>n.e(4711).then(n.bind(n,5422)),"@site/docs/mock-apps/common/local-storage.md",5422],f1c6d0c4:[()=>n.e(2970).then(n.bind(n,6321)),"@site/docs/mock-apps/dependent-services/storage-service.md",6321]};var s=n(4848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(6921),u=n(3102);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(2237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,c.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const p=[{path:"/tests-untp/privacy",component:d("/tests-untp/privacy","df1"),exact:!0},{path:"/tests-untp/terms",component:d("/tests-untp/terms","c71"),exact:!0},{path:"/tests-untp/docs",component:d("/tests-untp/docs","9c5"),routes:[{path:"/tests-untp/docs",component:d("/tests-untp/docs","29a"),routes:[{path:"/tests-untp/docs",component:d("/tests-untp/docs","6d3"),routes:[{path:"/tests-untp/docs/introduction/",component:d("/tests-untp/docs/introduction/","f8e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/",component:d("/tests-untp/docs/mock-apps/","b4a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/",component:d("/tests-untp/docs/mock-apps/common/","f51"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/asset",component:d("/tests-untp/docs/mock-apps/common/asset","c49"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/component-type",component:d("/tests-untp/docs/mock-apps/common/component-type","cbd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/construct-data",component:d("/tests-untp/docs/mock-apps/common/construct-data","644"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/credential",component:d("/tests-untp/docs/mock-apps/common/credential","e04"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/default-verification-service-link",component:d("/tests-untp/docs/mock-apps/common/default-verification-service-link","b59"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/identifier-key-path",component:d("/tests-untp/docs/mock-apps/common/identifier-key-path","66d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/identify-provider",component:d("/tests-untp/docs/mock-apps/common/identify-provider","bf1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/idr",component:d("/tests-untp/docs/mock-apps/common/idr","82b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/local-storage",component:d("/tests-untp/docs/mock-apps/common/local-storage","f5d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/render-template",component:d("/tests-untp/docs/mock-apps/common/render-template","108"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/storage",component:d("/tests-untp/docs/mock-apps/common/storage","d25"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/style",component:d("/tests-untp/docs/mock-apps/common/style","bb9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/vckit",component:d("/tests-untp/docs/mock-apps/common/vckit","7e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/common/verify-link",component:d("/tests-untp/docs/mock-apps/common/verify-link","f9c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/components/",component:d("/tests-untp/docs/mock-apps/components/","f67"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/components/barcode-generator",component:d("/tests-untp/docs/mock-apps/components/barcode-generator","af4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/components/conformity-credential",component:d("/tests-untp/docs/mock-apps/components/conformity-credential","83d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/components/conformity-credential-checkbox",component:d("/tests-untp/docs/mock-apps/components/conformity-credential-checkbox","683"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/components/custom-button",component:d("/tests-untp/docs/mock-apps/components/custom-button","fea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/components/json-form",component:d("/tests-untp/docs/mock-apps/components/json-form","1d4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/components/local-storage-loader",component:d("/tests-untp/docs/mock-apps/components/local-storage-loader","e54"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/configuration/",component:d("/tests-untp/docs/mock-apps/configuration/","721"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/configuration/app-config",component:d("/tests-untp/docs/mock-apps/configuration/app-config","eef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/configuration/component-config",component:d("/tests-untp/docs/mock-apps/configuration/component-config","cc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/configuration/feature-config",component:d("/tests-untp/docs/mock-apps/configuration/feature-config","81b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/configuration/general-feature-config",component:d("/tests-untp/docs/mock-apps/configuration/general-feature-config","d20"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/configuration/service-config",component:d("/tests-untp/docs/mock-apps/configuration/service-config","4a2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/configuration/system-config",component:d("/tests-untp/docs/mock-apps/configuration/system-config","22a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/conformity-credential",component:d("/tests-untp/docs/mock-apps/conformity-credential","d24"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/dependent-services/",component:d("/tests-untp/docs/mock-apps/dependent-services/","d70"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/dependent-services/identity-resolution-service",component:d("/tests-untp/docs/mock-apps/dependent-services/identity-resolution-service","946"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/dependent-services/storage-service",component:d("/tests-untp/docs/mock-apps/dependent-services/storage-service","8b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/dependent-services/verifiable-credential-service",component:d("/tests-untp/docs/mock-apps/dependent-services/verifiable-credential-service","64d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/getting-started",component:d("/tests-untp/docs/mock-apps/getting-started","672"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/installation",component:d("/tests-untp/docs/mock-apps/installation","525"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/scanning-app",component:d("/tests-untp/docs/mock-apps/scanning-app","269"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/services/",component:d("/tests-untp/docs/mock-apps/services/","642"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/services/merge-to-local-storage",component:d("/tests-untp/docs/mock-apps/services/merge-to-local-storage","cd0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/services/process-aggregation-event",component:d("/tests-untp/docs/mock-apps/services/process-aggregation-event","75c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/services/process-dpp",component:d("/tests-untp/docs/mock-apps/services/process-dpp","cfe"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/services/process-transaction-event",component:d("/tests-untp/docs/mock-apps/services/process-transaction-event","5b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/services/process-transformation-event",component:d("/tests-untp/docs/mock-apps/services/process-transformation-event","a9d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/mock-apps/verify-app",component:d("/tests-untp/docs/mock-apps/verify-app","c4f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/",component:d("/tests-untp/docs/test-suites/","ae8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/semantic-interoperability/",component:d("/tests-untp/docs/test-suites/semantic-interoperability/","5c6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/semantic-interoperability/cli/",component:d("/tests-untp/docs/test-suites/semantic-interoperability/cli/","1c4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/semantic-interoperability/cli/configuration",component:d("/tests-untp/docs/test-suites/semantic-interoperability/cli/configuration","d6b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/semantic-interoperability/cli/extensions",component:d("/tests-untp/docs/test-suites/semantic-interoperability/cli/extensions","28c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/semantic-interoperability/cli/installation",component:d("/tests-untp/docs/test-suites/semantic-interoperability/cli/installation","2f5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/semantic-interoperability/cli/usage",component:d("/tests-untp/docs/test-suites/semantic-interoperability/cli/usage","36c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/semantic-interoperability/getting-started",component:d("/tests-untp/docs/test-suites/semantic-interoperability/getting-started","9c1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/",component:d("/tests-untp/docs/test-suites/technical-interoperability/","f28"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/getting-started",component:d("/tests-untp/docs/test-suites/technical-interoperability/getting-started","074"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/",component:d("/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/","3e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/testing",component:d("/tests-untp/docs/test-suites/technical-interoperability/identity-resolution/testing","968"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/installation",component:d("/tests-untp/docs/test-suites/technical-interoperability/installation","e0d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/storage/",component:d("/tests-untp/docs/test-suites/technical-interoperability/storage/","0e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/storage/testing",component:d("/tests-untp/docs/test-suites/technical-interoperability/storage/testing","0f4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/",component:d("/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/","24e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/testing",component:d("/tests-untp/docs/test-suites/technical-interoperability/transparency-graphs/testing","65a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/",component:d("/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/","893"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/qr-link-encryption",component:d("/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/qr-link-encryption","4ed"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/rendering",component:d("/tests-untp/docs/test-suites/technical-interoperability/untp-extensions/rendering","9b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/",component:d("/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/","8db"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/testing",component:d("/tests-untp/docs/test-suites/technical-interoperability/verifiable-credentials/testing","203"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/tests-untp/",component:d("/tests-untp/","506"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},5098:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(545),i=n(4625),s=n(4784),l=n(8193);const c=[n(119),n(6134),n(6294),n(5902),n(4823)];var u=n(8328),d=n(6347),p=n(2831),f=n(4848);function m(){return(0,f.jsxs)("svg",{width:"0",height:"0",className:"hidden",children:[(0,f.jsx)("symbol",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 24 24",id:"github",children:(0,f.jsx)("path",{d:"M12.04 0a12.035 12.035 0 0 0-3.731 23.479h.28c.257.012.508-.074.703-.241.237-.207.37-.508.36-.822v-1.304a.491.491 0 0 0-.19-.331.501.501 0 0 0-.41-.1c-2.699.581-3.27-1.104-3.3-1.214a4.654 4.654 0 0 0-1.736-2.197l-.15-.11a.732.732 0 0 1 .381-.07c.508.076.94.41 1.143.883a3.009 3.009 0 0 0 4.012 1.163c.151-.067.262-.2.301-.361.04-.46.24-.893.562-1.224a.501.501 0 0 0 .15-.531.491.491 0 0 0-.421-.351c-2.377-.271-4.814-1.103-4.814-5.205a4.012 4.012 0 0 1 1.063-2.789.491.491 0 0 0 .09-.521 3.57 3.57 0 0 1 .01-2.417A5.586 5.586 0 0 1 8.871 6.89c.123.085.279.107.42.06.897-.239 1.821-.36 2.749-.36a10.34 10.34 0 0 1 2.758.36.461.461 0 0 0 .411-.06c.731-.593 1.6-.99 2.527-1.153a3.55 3.55 0 0 1 0 2.387.481.481 0 0 0 .1.521 4.012 4.012 0 0 1 1.054 2.758c0 4.112-2.437 4.935-4.824 5.196a.491.491 0 0 0-.421.35c-.06.189 0 .394.15.522.449.469.672 1.11.612 1.755v3.19c-.005.315.131.616.37.822.304.23.7.302 1.064.19A12.035 12.035 0 0 0 12.04 0Z"})}),(0,f.jsx)("symbol",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 33.057 33.057",id:"search",children:(0,f.jsxs)("g",{fill:"none","fill-rule":"evenodd",stroke:"currentColor","stroke-width":"1.5",children:[(0,f.jsx)("path",{d:"M21.723 7.934a9.75 9.721-45 0 1-.02 13.769 9.75 9.721-45 0 1-13.769.02 9.75 9.721-45 0 1 .021-13.768 9.75 9.721-45 0 1 13.768-.02z"}),(0,f.jsx)("path",{d:"M10.481 20.942V25",transform:"rotate(-45 17.925 7.425)"})]})}),(0,f.jsx)("symbol",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 24 24",id:"slack",children:(0,f.jsx)("g",{"fill-rule":"nonzero",children:(0,f.jsx)("path",{d:"M22.17 16.701h-7.34c-1.01 0-1.83-.815-1.83-1.82 0-1.005.82-1.82 1.83-1.82h7.34c1.01 0 1.83.815 1.83 1.82 0 1.005-.82 1.82-1.83 1.82ZM14.83 11.073c-1.01 0-1.83-.815-1.83-1.82V1.954c-.05-.68.286-1.332.871-1.687a1.839 1.839 0 0 1 1.908 0c.585.355.922 1.007.871 1.687v7.3a1.825 1.825 0 0 1-1.82 1.819ZM9.17 11.073H1.83c-1.01 0-1.83-.815-1.83-1.82 0-1.005.82-1.82 1.83-1.82h7.34c1.01 0 1.83.815 1.83 1.82 0 1.005-.82 1.82-1.83 1.82ZM9.17 24c-1.01 0-1.83-.815-1.83-1.82v-7.299c-.05-.68.286-1.332.871-1.687a1.839 1.839 0 0 1 1.908 0c.585.355.922 1.007.871 1.687v7.3A1.825 1.825 0 0 1 9.17 24ZM2.22 17.517A2.214 2.214 0 0 1 0 15.319a2.264 2.264 0 0 1 2.27-2.257h1.48c.405.005.73.333.73.735v1.472a2.254 2.254 0 0 1-2.26 2.248ZM10.27 4.59H8.78a2.254 2.254 0 0 1-2.26-2.248c-.003-.586.23-1.15.647-1.564A2.216 2.216 0 0 1 8.74.134 2.264 2.264 0 0 1 11 2.392v1.471c0 .401-.327.726-.73.726ZM15.26 24A2.264 2.264 0 0 1 13 21.743V20.27c0-.4.327-.726.73-.726h1.49a2.254 2.254 0 0 1 2.26 2.247c.003.587-.23 1.15-.647 1.564A2.216 2.216 0 0 1 15.26 24ZM21.73 11.073h-1.48a.738.738 0 0 1-.73-.736V8.865a2.254 2.254 0 0 1 2.26-2.247c1.222 0 2.214.982 2.22 2.198a2.264 2.264 0 0 1-2.27 2.257Z"})})})]})}function h(e){let{children:t}=e;return(0,f.jsxs)(f.Fragment,{children:[t,(0,f.jsx)(m,{})]})}var g=n(5260),b=n(4586),y=n(6025),v=n(6342),k=n(1003),w=n(2131),x=n(4090),S=n(2967),E=n(440),_=n(1463);function C(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,b.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(g.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function A(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,b.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,b.A)(),{pathname:r}=(0,d.zy)();return e+(0,E.applyTrailingSlash)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(g.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function T(){const{i18n:{currentLocale:e}}=(0,b.A)(),{metadata:t,image:n}=(0,v.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(g.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:x.w})]}),n&&(0,f.jsx)(k.be,{image:n}),(0,f.jsx)(A,{}),(0,f.jsx)(C,{}),(0,f.jsx)(_.A,{tag:S.Cy,locale:e}),(0,f.jsx)(g.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const j=new Map;var N=n(6125),L=n(6988),R=n(205);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const O=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,R.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function D(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),D(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(O,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.qh,{location:t,render:()=>e})})}}const M=I,F="__docusaurus-base-url-issue-banner-container",z="__docusaurus-base-url-issue-banner",B="__docusaurus-base-url-issue-banner-suggestion-container";function $(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n